skills/ci-cd-game/SKILL.md
Use when setting up CI/CD pipelines, GitHub Actions workflows, deployment automation, migration safety, or staging environments for game projects. Triggers: CI/CD, GitHub Actions, deployment, pipeline, staging.
npx skillsauth add fcsouza/agent-skills infrastructure-ci-cd-gameInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
GitHub Actions pipelines, test strategies, migration safety, and staging environments for game projects.
Trigger: CI/CD, GitHub Actions, deployment, pipeline, testing, staging, migration, continuous integration, continuous deployment, build pipeline, release
postgres-game-schema — migration safetygame-backend-architecture — what we're deployingmonitoring-game-ops alerts catch post-deploy issuesPush → Lint → Type Check → Unit Tests → Build → Integration Tests → Deploy Staging → Smoke Tests → Deploy Production
Set up CI with Bun + GitHub Actions:
oven-sh/setup-bun@v2 — not actions/setup-node. Bun is the runtime.- uses: actions/cache@v4
with:
path: ~/.bun/install/cache
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lockb') }}
restore-keys: |
${{ runner.os }}-bun-
bun install --frozen-lockfile — reproducible installsbunx biome check . — lint and format checkbun run typecheck — TypeScript strict modebun test — unit and integration testsDATABASE_URL — Neon test branch connection stringREDIS_URL — test Redis instanceSee boilerplate/ci.yml for the complete workflow.
bunx drizzle-kit migrate with production DATABASE_URLneeds: migrate so it only runs after migrations succeedsuperfly/flyctl-actions/setup-flyctl@master to install flyctlflyctl deploy --remote-only — builds on Fly's infrastructure, no local Docker requiredFLY_API_TOKEN secretAPP_NAME=$(flyctl info --json | jq -r '.Name')
curl --retry 5 --retry-delay 10 -f "https://${APP_NAME}.fly.dev/health"
flyctl releases rollbackSee boilerplate/deploy.yml for the complete workflow.
For preview environments (per-PR Neon branching):
neondatabase/create-branch-action@v5 in GitHub Actions:
- uses: neondatabase/create-branch-action@v5
id: create_branch
with:
project_id: ${{ secrets.NEON_PROJECT_ID }}
branch_name: preview/pr-${{ github.event.number }}
api_key: ${{ secrets.NEON_API_KEY }}
${{ steps.create_branch.outputs.db_url }}neondatabase/delete-branch-action@v3See boilerplate/ci.yml for a complete, production-ready CI workflow and boilerplate/deploy.yml for the deployment workflow with migration safety. Both files are ready to copy into .github/workflows/.
postgres-game-schema — migration safety in deploymentsmonitoring-game-ops — post-deployment monitoringgame-backend-architecture — server deployment targetstools
Use when implementing client-server state synchronization, delta compression, optimistic updates, rollback netcode, or real-time game state reconciliation. Triggers: state sync, netcode, delta, rollback, interpolation, prediction.
testing
Use when designing virtual economies, currencies, sink/faucet balance, loot tables, crafting systems, shops, or inflation control. Triggers: economy, currency, sinks, loot, inflation, crafting, shop.
development
Audits existing game code against design principles — checks server-authority, schema conventions, auth security, payment safety, narrative coherence, and MVP scope drift. Extract the optional component name or path from the user's message (defaults to entire src/). Use after building components or before committing.
testing
Designs a single quest end-to-end — coherence check, objective tree, quest brief, and registry entry. Extract the quest name from the user's message. Requires docs/world-lore.md and docs/quest-registry.md.