Validate readiness to advance between development phases. Produces a PASS/CONCERNS/FAIL verdict with specific blockers and required artifacts. Use when user says 'are we ready to move to X', 'can we advance to production', 'check if we can start the next phase', 'pass the gate'.
71
88%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
This skill validates whether the project is ready to advance to the next development phase. It checks for required artifacts, quality standards, and blockers.
Distinct from /project-stage-detect: That skill is diagnostic ("where are we?").
This skill is prescriptive ("are we ready to advance?" with a formal verdict).
The project progresses through these stages:
When a gate passes, write the new stage name to production/stage.txt
(single line, e.g. Production). This updates the status line immediately.
Target phase: $ARGUMENTS[0] (blank = auto-detect current stage, then validate next transition)
Also resolve the review mode (once, store for all gate spawns this run):
--review [full|lean|solo] was passed → use thatproduction/review-mode.txt → use that valueleanNote: in solo mode, director spawns (CD-PHASE-GATE, TD-PHASE-GATE, PR-PHASE-GATE, AD-PHASE-GATE) are skipped — gate-check becomes artifact-existence checks only. In lean mode, all four directors still run (phase gates are the purpose of lean mode).
With argument: /gate-check production — validate readiness for that specific phase
No argument: Auto-detect current stage using the same heuristics as
/project-stage-detect, then confirm with the user before running:
Use AskUserQuestion:
[A] Yes — run this gate[B] No — pick a different gate (if selected, show a second widget listing all gate options: Concept → Systems Design, Systems Design → Technical Setup, Technical Setup → Pre-Production, Pre-Production → Production, Production → Polish, Polish → Release)Do not skip this confirmation step when no argument is provided.
Required Artifacts:
design/gdd/game-concept.md exists and has contentdesign/gdd/game-pillars.md)design/gdd/game-concept.md (from brainstorm Phase 4 art-director output)Recommended (not blocking):
prototypes/ with a REPORT.md showing PROCEED verdict
(/prototype [core-mechanic]) — skipping this means GDDs may be written for an
idea that hasn't been played. Acceptable if the concept is proven by other means.Quality Checks:
/design-review verdict not MAJOR REVISION NEEDED)Required Artifacts:
design/gdd/systems-index.md with at least MVP systems enumerateddesign/gdd/ and individually pass /design-reviewdesign/gdd/ (from /review-all-gdds)Quality Checks:
/review-all-gdds verdict is not FAIL (cross-GDD consistency and design theory checks pass)/review-all-gdds are resolved or explicitly acceptedRequired Artifacts:
[CHOOSE]).claude/docs/technical-preferences.md populated)design/art/art-bible.md with at least Sections 1–4 (Visual Identity Foundation)docs/architecture/ covering
Foundation-layer systems (scene management, event architecture, save/load)docs/engine-reference/[engine]/tests/unit/ and tests/integration/ directories exist.github/workflows/tests.yml (or equivalent)docs/architecture/architecture.mddocs/architecture/requirements-traceability.md/architecture-review has been run (a review report file exists in docs/architecture/)design/accessibility-requirements.md exists with accessibility tier committeddesign/ux/interaction-patterns.md exists (pattern library initialized, even if minimal)Quality Checks:
docs/engine-reference/[engine]/deprecated-apis.mdADR Circular Dependency Check: For all ADRs in docs/architecture/, read each ADR's
"ADR Dependencies" / "Depends On" section. Build a dependency graph (ADR-A → ADR-B means
A depends on B). If any cycle is detected (e.g. A→B→A, or A→B→C→A):
Engine Validation (read docs/engine-reference/[engine]/VERSION.md first):
/architecture-review engine audit shows no deprecated API usageRequired Artifacts:
prototypes/ with a REPORT.md (run /vertical-slice) — recommended, not blocking; if absent, surface as CONCERNSproduction/sprints/design/art/art-bible.mddesign/assets/entity-inventory.md (recommended — run /asset-spec with no arguments to generate collaboratively from GDDs + art bible)docs/architecture/architecture.mddocs/architecture/Accepted (not Proposed) — stories cannot be unblocked until their governing ADR is accepteddocs/architecture/control-manifest.md
(generated by /create-control-manifest from Accepted ADRs)production/epics/ with at least Foundation and Core
layer epics present (use /create-epics layer: foundation and
/create-epics layer: core to create them, then /create-stories [epic-slug]
for each epic)production/playtests/ or equivalent — recommended, not blocking; if absent, surface as CONCERNSdesign/ux/), pause menudesign/ux/hud.md (if game has in-game HUD)/ux-review (verdict APPROVED or NEEDS REVISION accepted)Quality Checks:
design/accessibility-requirements.md is addressed in all key screen UX specsproduction/epics/
(not just GDDs — stories must embed GDD req ID + ADR reference)/review-all-gdds and /architecture-review if not done recently)Vertical Slice Validation (only run these checks if a Vertical Slice was built):
Verdict rules for Vertical Slice:
- Slice was built AND any validation item is NO → verdict is automatically FAIL. A broken or unfun vertical slice should not advance to Production.
- Slice was not built (skipped) → downgrade to CONCERNS only, not FAIL. Surface the risk clearly: "Advancing without a validated Vertical Slice increases the risk of late-stage design pivots. Recommended before committing full production scope." The user decides.
- Skipping is a valid solo dev or time-constrained call. Shipping a broken one is not.
Required Artifacts:
src/ has active code organized into subsystemsdesign/gdd/ with src/)tests/unit/ and tests/integration/ covering Logic and Integration storiestests/unit/production/qa/production/qa/ (generated by /qa-plan) covering this sprint or final production sprintproduction/qa/ covering this production phase — run /qa-plan if missing (CONCERNS — advisory, not blocking)production/qa/ (generated by /team-qa) with verdict APPROVED or APPROVED WITH CONDITIONSproduction/playtests/Quality Checks:
design/difficulty-curve.md)design/accessibility-requirements.mdRequired Artifacts:
src/)/qa-plan output in production/qa/)/team-qa output — APPROVED or APPROVED WITH CONDITIONS)production/qa/evidence/)/balance-check run)/release-checklist or /launch-checklist run)Quality Checks:
qa-leadBefore running artifact checks, read docs/consistency-failures.md if it exists.
Extract entries whose Domain matches the target phase (e.g., if checking
Systems Design → Technical Setup, pull entries in Economy, Combat, or any GDD domain;
if checking Technical Setup → Pre-Production, pull entries in Architecture, Engine).
Carry these as context — recurring conflict patterns in the target domain warrant
increased scrutiny on those specific checks.
For each item in the target gate:
Glob and Read to verify files exist and have meaningful contentSystems Design → Technical Setup gate — cross-GDD review check:
Use Glob('design/gdd/gdd-cross-review-*.md') to find the /review-all-gdds report.
If no file matches, mark the "cross-GDD review report exists" artifact as FAIL and
surface it prominently: "No /review-all-gdds report found in design/gdd/. Run
/review-all-gdds before advancing to Technical Setup."
If a file is found, read it and check the verdict line: a FAIL verdict means the
cross-GDD consistency check failed and must be resolved before advancing.
Bash if a test runner is configuredRead the GDD and check for the 8 required sectionsRead technical-preferences.md and compare against any
profiling data in tests/performance/ or recent /perf-profile outputGrep for hardcoded strings in src/design/gdd/ documents against src/ implementationsFor items that can't be automatically verified, ask the user:
/perf-profile?"Never assume PASS for unverifiable items. Mark them as MANUAL CHECK NEEDED.
Apply review mode before spawning any director:
solo → skip all four directors. Note in output: "Director Panel skipped — Solo mode. Gate verdict based on artifact and quality checks only." Proceed to Phase 5.lean → spawn all four directors (phase gates always run in lean mode — this is their purpose).full → spawn all four directors as normal.(Review mode was resolved in Phase 1. Use that stored value here.)
Before generating the final verdict, spawn all four directors as parallel subagents via Task using the parallel gate protocol from .claude/docs/director-gates.md. Issue all four Task calls simultaneously — do not wait for one before starting the next.
Spawn in parallel:
creative-director — gate CD-PHASE-GATE (.claude/docs/director-gates.md)technical-director — gate TD-PHASE-GATE (.claude/docs/director-gates.md)producer — gate PR-PHASE-GATE (.claude/docs/director-gates.md)art-director — gate AD-PHASE-GATE (.claude/docs/director-gates.md)Pass to each: target phase name, list of artifacts present, and the context fields listed in that gate's definition.
Collect all four responses, then present the Director Panel summary:
## Director Panel Assessment
Creative Director: [READY / CONCERNS / NOT READY]
[feedback]
Technical Director: [READY / CONCERNS / NOT READY]
[feedback]
Producer: [READY / CONCERNS / NOT READY]
[feedback]
Art Director: [READY / CONCERNS / NOT READY]
[feedback]Apply to the verdict:
## Gate Check: [Current Phase] → [Target Phase]
**Date**: [date]
**Checked by**: gate-check skill
### Required Artifacts: [X/Y present]
- [x] design/gdd/game-concept.md — exists, 2.4KB
- [ ] docs/architecture/ — MISSING (no ADRs found)
- [x] production/sprints/ — exists, 1 sprint plan
### Quality Checks: [X/Y passing]
- [x] GDD has 8/8 required sections
- [ ] Tests — FAILED (3 failures in tests/unit/)
- [?] Core loop playtested — MANUAL CHECK NEEDED
### Blockers
1. **No Architecture Decision Records** — Run `/architecture-decision` to create one
covering core system architecture before entering production.
2. **3 test failures** — Fix failing tests in tests/unit/ before advancing.
### Recommendations
- [Priority actions to resolve blockers]
- [Optional improvements that aren't blocking]
### Verdict: [PASS / CONCERNS / FAIL]
- **PASS**: All required artifacts present, all quality checks passing
- **CONCERNS**: Minor gaps exist but can be addressed during the next phase
- **FAIL**: Critical blockers must be resolved before advancingAfter drafting the verdict in Phase 5, challenge it before finalising.
Step 1 — Generate 5 challenge questions designed to disprove the verdict:
Tool-action requirement: At least 2 of the 5 challenge questions below must be answered by re-reading a specific file (Read tool) or re-running a specific check (Grep tool) — not by reflection alone. Mark these with [TOOL ACTION] to indicate a tool was used.
For a PASS draft:
For a CONCERNS draft:
For a FAIL draft:
Step 2 — Answer each question independently. Do NOT reference the draft verdict text — re-check specific files or ask the user.
Step 3 — Revise if needed:
Step 4 — Note the verification in the final report output:
Chain-of-Verification: [N] questions checked — verdict [unchanged | revised from X to Y]
When the verdict is PASS and the user confirms they want to advance:
production/stage.txt (single line, no trailing newline)Example: if passing the "Pre-Production → Production" gate:
echo -n "Production" > production/stage.txtAlways ask before writing: "Gate passed. May I update production/stage.txt to 'Production'?"
After the verdict is presented and any stage.txt update is complete, close with a structured next-step prompt using AskUserQuestion.
Tailor the options to the gate that just ran:
For systems-design PASS:
Gate passed. What would you like to do next?
[A] Run /create-architecture — produce your master architecture blueprint and ADR work plan (recommended next step)
[B] Design more GDDs first — return here when all MVP systems are complete
[C] Stop here for this sessionNote for systems-design PASS:
/create-architectureis the required next step before writing any ADRs. It produces the master architecture document and a prioritized list of ADRs to write. Running/architecture-decisionwithout this step means writing ADRs without a blueprint — skip it at your own risk.
For technical-setup PASS:
Gate passed. What would you like to do next?
[A] Run /create-control-manifest — generate the layer rules manifest from your Accepted ADRs (do this first)
[B] Run /vertical-slice — build the Vertical Slice (do this before writing epics — validate fun first)
[C] Write more ADRs first — run /architecture-decision [next-system]
[D] Stop here for this sessionNote for technical-setup PASS: The Pre-Production sequence is deliberately ordered to validate fun before committing to detailed planning:
/create-control-manifest— extract technical rules from Accepted ADRs (required before epics)/vertical-slice— build the Vertical Slice FIRST, before writing epics or stories- Playtest →
/playtest-report— at least 1 session required to pass the Pre-Production gate; 3+ recommended before committing the full team/ux-design [screen]— UX specs for main menu, core HUD, pause menu (if not done)/create-epics layer:foundationthen/create-epics layer:core— plan after fun is validated/create-stories [epic-slug]for each epic/sprint-plan newWhy prototype before epics? If the prototype reveals the core loop needs to change, epics written before that discovery will be partially wrong. Validate fun cheaply first, then plan in detail. This is the #1 lesson from GDC postmortem data.
For all other gates, offer the two most logical next steps for that phase plus "Stop here".
Based on the verdict, suggest specific next steps:
/art-bible to create the visual identity specification/asset-spec system:[name] to generate per-asset visual specs and generation prompts from approved GDDs/brainstorm to create one/map-systems to decompose the concept into systems/reverse-document or delegate to game-designer/quick-design for changes under ~4 hours (bypasses full GDD pipeline)/ux-design [screen name] to author specs, or /team-ui [feature] for full pipeline/ux-review [file] or /ux-review all to validate/ux-design which creates both design/accessibility-requirements.md and design/ux/interaction-patterns.md in one step/ux-design patterns to initialize it/review-all-gdds (run after all MVP GDDs are individually approved)/review-all-gdds/test-setup to scaffold the framework for your engine/qa-plan sprint to generate one before implementation begins/architecture-decision for individual decisions/create-architecture for the full blueprint/architecture-decision
or manually add Engine Compatibility sections to existing ADRs/create-control-manifest (requires Accepted ADRs)/create-epics layer: foundation then /create-epics layer: core (requires control manifest)/create-stories [epic-slug] (run after each epic is created)/story-readiness to validate stories before developers pick them uplead-programmer or qa-tester/playtest-report/playtest-report to structure findings.design/difficulty-curve.md from the template at .claude/docs/templates/difficulty-curve.md — or use /quick-design "difficulty curve" for a guided session.design/player-journey.md from the template at .claude/docs/templates/player-journey.md — or author it collaboratively using /ux-design Phase 2b./sprint-status for current sprint progress snapshot/perf-profile/localize/launch-checklistThis skill follows the collaborative design principle:
/test-setup"). Do NOT create missing files or
re-run the gate automatically. Creating files to manufacture a PASS defeats the
gate's purpose.Never block a user from advancing — the verdict is advisory. Document the risks and let the user decide whether to proceed despite concerns.
984023d
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.