Add director gates system: shared review checkpoints across all workflow skills

Creates .claude/docs/director-gates.md as a central registry of 18 named gate
prompts (CD-*, TD-*, PR-*, LP-*, QL-*, ND-*, AD-*) covering all 7 production
stages. Skills now reference gate IDs instead of embedding inline director prompts,
eliminating drift when prompts need updating.

Updated 15 skills to use gate IDs: brainstorm, map-systems, design-system,
architecture-decision, create-architecture, create-epics, create-stories,
sprint-plan, milestone-review, playtest-report, prototype, story-done,
gate-check, setup-engine, start.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Donchitos
2026-03-29 17:24:06 +11:00
parent 167fb6c5f2
commit b139bcf087
16 changed files with 997 additions and 106 deletions

View File

@@ -51,15 +51,19 @@ conversationally (not as a checklist):
**Taste profile**:
- What 3 games have you spent the most time with? What kept you coming back?
*(Ask this as plain text — the user must be able to type specific game names freely.
Do NOT put this in an AskUserQuestion with preset options.)*
- Are there genres you love? Genres you avoid? Why?
- Do you prefer games that challenge you, relax you, tell you stories,
or let you express yourself?
or let you express yourself? *(Use `AskUserQuestion` for this — constrained choice.)*
**Practical constraints** (shape the sandbox before brainstorming):
- Solo developer or team? What skills are available?
- Timeline: weeks, months, or years?
- Any platform constraints? (PC only? Mobile? Console?)
- First game or experienced developer?
**Practical constraints** (shape the sandbox before brainstorming).
Bundle these into a single multi-tab `AskUserQuestion` with these exact tab labels:
- Tab "Experience" — "What kind of experience do you most want players to have?" (Challenge & Mastery / Story & Discovery / Expression & Creativity / Relaxation & Flow)
- Tab "Timeline" — "What's your realistic development timeline?" (Weeks / Months / 1-2 years / Multi-year)
- Tab "Dev level" — "Where are you in your dev journey?" (First game / Shipped before / Professional background)
Use exactly these tab names — do not rename or duplicate them.
**Synthesize** the answers into a **Creative Brief** — a 3-5 sentence
summary of the person's emotional goals, taste profile, and constraints.
@@ -97,8 +101,12 @@ For each concept, present:
- **Why It Could Work** (1 sentence on market/audience fit)
- **Biggest Risk** (1 sentence on the hardest unanswered question)
Present all three. Ask the user to pick one, combine elements, or request
new concepts. Never pressure toward a choice — let them sit with it.
Present all three. Then use `AskUserQuestion` to capture the selection:
- **Use a single-list call — NO tabs, just `prompt` and `options`. Do not use a tabbed form here.**
- **Prompt**: "Which concept resonates with you? You can pick one, combine elements, or ask for fresh directions."
- **Options**: one option per concept (e.g., `Concept 1 — SCAR`), plus `Combine elements across concepts` and `Generate fresh directions`
Never pressure toward a choice — let them sit with it.
---
@@ -109,11 +117,14 @@ The core loop is the beating heart of the game — if it isn't fun in
isolation, no amount of content or polish will save the game.
**30-Second Loop** (moment-to-moment):
- What is the player physically doing most often?
- Is this action intrinsically satisfying? (Would they do it with no
rewards, no progression, no story — just for the feel of it?)
- What makes this action feel good? (Audio feedback, visual juice,
timing satisfaction, tactical depth?)
Ask these as `AskUserQuestion` calls — derive the options from the chosen concept, don't hardcode them:
1. **Core action feel** — prompt: "What's the primary feel of the core action?" Generate 3-4 options that fit the concept's genre and tone, plus a free-text escape (`I'll describe it`).
2. **Key design dimension** — identify the most important design variable for this specific concept (e.g., world reactivity, pacing, player agency) and ask about it. Generate options that match the concept. Always include a free-text escape.
After capturing answers, analyze: Is this action intrinsically satisfying? What makes it feel good? (Audio feedback, visual juice, timing satisfaction, tactical depth?)
**5-Minute Loop** (short-term goals):
- What structures the moment-to-moment play into cycles?
@@ -156,6 +167,12 @@ Then define **3+ anti-pillars** (what this game is NOT):
be cool if..." features that don't serve the core vision
- Frame as: "We will NOT do [thing] because it would compromise [pillar]"
**After pillars and anti-pillars are agreed, spawn `creative-director` via Task using gate CD-PILLARS (`.claude/docs/director-gates.md`) before moving to Phase 5.**
Pass: full pillar set with design tests, anti-pillars, core fantasy, unique hook.
Present the feedback to the user. If CONCERNS or REJECT, offer to revise specific pillars before moving on. If APPROVE, note the approval and continue.
---
### Phase 5: Player Type Validation
@@ -177,8 +194,15 @@ who this game is actually for:
Ground the concept in reality:
- **Engine recommendation** (Godot / Unity / Unreal) with reasoning based
on concept needs, team expertise, and platform targets
- **Target platform**: Use `AskUserQuestion` — "What platforms are you targeting for this game?"
Options: `PC (Steam / Epic)` / `Mobile (iOS / Android)` / `Console` / `Web / Browser` / `Multiple platforms`
Record the answer — it directly shapes the engine recommendation and will be passed to `/setup-engine`.
Note platform implications if relevant (e.g., mobile means Unity is strongly preferred; console means Godot has limitations; web means Godot exports cleanly).
- **Engine experience**: Use `AskUserQuestion` — "Do you already have an engine you work in?"
Options: `Godot` / `Unity` / `Unreal Engine 5` / `No preference — help me decide`
- If they pick an engine → record it as their preference and move on. Do NOT second-guess it.
- If "No preference" → tell them: "Run `/setup-engine` after this session — it will walk you through the full decision based on your concept and platform target." Do not make a recommendation here.
- **Art pipeline**: What's the art style and how labor-intensive is it?
- **Content scope**: Estimate level/area count, item count, gameplay hours
- **MVP definition**: What's the absolute minimum build that tests "is the
@@ -186,6 +210,18 @@ Ground the concept in reality:
- **Biggest risks**: Technical risks, design risks, market risks
- **Scope tiers**: What's the full vision vs. what ships if time runs out?
**After identifying biggest technical risks, spawn `technical-director` via Task using gate TD-FEASIBILITY (`.claude/docs/director-gates.md`) before scope tiers are defined.**
Pass: core loop description, platform target, engine choice (or "undecided"), list of identified technical risks.
Present the assessment to the user. If HIGH RISK, offer to revisit scope before finalising. If CONCERNS, note them and continue.
**After scope tiers are defined, spawn `producer` via Task using gate PR-SCOPE (`.claude/docs/director-gates.md`).**
Pass: full vision scope, MVP definition, timeline estimate, team size.
Present the assessment to the user. If UNREALISTIC, offer to adjust the MVP definition or scope tiers before writing the document.
---
4. **Generate the game concept document** using the template at
@@ -197,16 +233,29 @@ Ground the concept in reality:
If yes, generate the document using the template at `.claude/docs/templates/game-concept.md`, fill in ALL sections from the brainstorm conversation, and write the file, creating directories as needed.
If no:
- If the user already named a section to change, revise it directly — do not ask again which section.
- If the user said no without specifying what to change, use `AskUserQuestion` — "Which section would you like to revise?"
Options: `Elevator Pitch` / `Core Fantasy & Unique Hook` / `Pillars` / `Core Loop` / `MVP Definition` / `Scope Tiers` / `Risks` / `Something else — I'll describe`
After revising, show the updated section as a diff or clear before/after, then use `AskUserQuestion` — "Ready to write the updated concept document?"
Options: `Yes — write it` / `Revise another section`
Repeat until the user approves the write.
**Scope consistency rule**: The "Estimated Scope" field in the Core Identity table must match the full-vision timeline from the Scope Tiers section — not just say "Large (9+ months)". Write it as "Large (XY months, solo)" or "Large (XY months, team of N)" so the summary table is accurate.
6. **Suggest next steps** (in this order — this is the professional studio
pre-production pipeline):
- "Run `/setup-engine [engine] [version]` to configure the engine and populate version-aware reference docs"
- "Use `/design-review design/gdd/game-concept.md` to validate completeness"
- "Discuss vision with the `creative-director` agent for pillar refinement"
- "Decompose the concept into individual systems with `/map-systems` — maps dependencies, assigns priorities, and creates the systems index"
- "Author per-system GDDs with `/design-system` — guided, section-by-section GDD writing"
- "Prototype the core loop with `/prototype [core-mechanic]`"
- "Playtest the prototype with `/playtest-report` to validate the hypothesis"
- "If validated, plan the first sprint with `/sprint-plan new`"
pre-production pipeline). List ALL steps — do not abbreviate or truncate:
1. "Run `/setup-engine` to configure the engine and populate version-aware reference docs"
2. "Use `/design-review design/gdd/game-concept.md` to validate concept completeness before going downstream"
3. "Discuss vision with the `creative-director` agent for pillar refinement"
4. "Decompose the concept into individual systems with `/map-systems` — maps dependencies, assigns priorities, and creates the systems index"
5. "Author per-system GDDs with `/design-system` — guided, section-by-section GDD writing for each system identified in step 4"
6. "Plan the technical architecture with `/create-architecture` — defines how all systems fit together and connect"
7. "Validate readiness to advance with `/gate-check` — phase gate before committing to production"
8. "Prototype the riskiest system with `/prototype [core-mechanic]` — validate the core loop before full implementation"
9. "Run `/playtest-report` after the prototype to validate the core hypothesis"
10. "If validated, plan the first sprint with `/sprint-plan new`"
7. **Output a summary** with the chosen concept's elevator pitch, pillars,
primary player type, engine recommendation, biggest risk, and file path.