mirror of
https://github.com/Donchitos/Claude-Code-Game-Studios.git
synced 2026-10-16 01:37:05 +00:00
`project.yaml` at the repo root is now the single source of truth for a project's configuration, replacing `production/stage.txt`, `production/review-mode.txt` and `.claude/docs/technical-preferences.md` (all three still read as a fallback; nothing is force-deleted). **`modes.rigor` — one question instead of six.** `minimal`, `standard` or `full` fronts six knobs: `modes.workflow`, `docs.density`, `qa.level`, `modes.story_granularity`, `modes.review_mode` and `team.size`. It defaults to `minimal`, which is a change from 1.0's behaviour: the heavier tier was measured costing several times more to reach working code without producing a better result, and returning nothing when a fresh developer inherited the project. Pin `modes.rigor: standard` to keep 1.0's process level. Also in this release: - `/settings` to view or change any setting, and `project.local.yaml` for per-developer preferences that should not be committed. - `system_overrides` to hold one system to a higher standard than the rest of the project, and `testing.strict` to set per test type whether missing evidence blocks a story or warns. - A story that changes anything the player sees is not closed until the game has been launched, observed, and a screenshot retained in `production/qa/evidence/`. A parse check is not a run. This holds at every rigor level, including `minimal`, where automated tests are waived but the look is not. - The code root is engine-specific and enforced as such: Godot `src/`, Unity `Assets/`, Unreal `Source/<Module>/`. Two of the three will not build a project laid out any other way. - Migration tooling for existing projects: `.claude/scripts/migrate-v1-config.sh` converts a 1.0 layout, non-destructively by default, with a report to review before `--finalize` deletes anything. - Ask-before-write holds regardless of personal automation settings. Upgrading from 1.0 or earlier: see UPGRADING.md. Full list of changes: CHANGELOG.md. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016xvzG3i7pWQg4LjyDwWMXd
191 lines
9.3 KiB
Markdown
191 lines
9.3 KiB
Markdown
# Director Gates — Shared Review Pattern
|
|
|
|
Index of all director and lead review gates. Skills reference gate IDs from this
|
|
index instead of embedding prompts inline — eliminating drift when prompts need
|
|
updating. Each gate's full definition (Trigger, Context to pass, Prompt, Verdicts)
|
|
lives in its own file under `.claude/docs/director-gates/`, named after the gate
|
|
ID in lowercase.
|
|
|
|
**Scope**: All 7 production stages (Concept → Release), all 3 Tier 1 directors,
|
|
all key Tier 2 leads. Any skill, team orchestrator, or workflow may invoke these gates.
|
|
|
|
**When a skill spawns a director for a gate, it must NOT read the gate definition
|
|
file itself. Include the gate definition file path in the `Agent` prompt and instruct
|
|
the director agent to read it first, then pass only the context fields that gate's
|
|
row requires. Gate definitions are read by the spawned agent, in the agent's own
|
|
context window.**
|
|
|
|
---
|
|
|
|
## Gate Index
|
|
|
|
Agent by prefix: `CD-` creative-director (Opus) · `TD-` technical-director (Opus)
|
|
· `PR-` producer (Opus) · `AD-` art-director (Sonnet) · `LP-` lead-programmer ·
|
|
`QL-` qa-lead · `ND-` narrative-director (Tier 2 leads: Sonnet).
|
|
Definition files below are in `.claude/docs/director-gates/`.
|
|
|
|
| Gate ID | Purpose | Definition file |
|
|
|---------|---------|-----------------|
|
|
| CD-PILLARS | Pillar stress test after pillars are defined | cd-pillars.md |
|
|
| CD-GDD-ALIGN | GDD pillar alignment after a system GDD is authored | cd-gdd-align.md |
|
|
| CD-SYSTEMS | Systems decomposition vision check after `/map-systems` | cd-systems.md |
|
|
| CD-NARRATIVE | Narrative consistency of story/lore documents | cd-narrative.md |
|
|
| CD-PLAYTEST | Player experience validation of playtest reports | cd-playtest.md |
|
|
| CD-PHASE-GATE | Creative readiness at phase transition | cd-phase-gate.md |
|
|
| TD-SYSTEM-BOUNDARY | System boundary review before GDD authoring | td-system-boundary.md |
|
|
| TD-FEASIBILITY | Technical feasibility of early concept risks | td-feasibility.md |
|
|
| TD-ARCHITECTURE | Master architecture document sign-off | td-architecture.md |
|
|
| TD-ADR | Individual ADR review before Accepted | td-adr.md |
|
|
| TD-ENGINE-RISK | Engine version risk for post-cutoff APIs | td-engine-risk.md |
|
|
| TD-PHASE-GATE | Technical readiness at phase transition | td-phase-gate.md |
|
|
| TD-MANIFEST | Control manifest review before it is written | td-manifest.md |
|
|
| TD-CHANGE-IMPACT | Design-change impact assessment review | td-change-impact.md |
|
|
| PR-SCOPE | Scope and timeline validation | pr-scope.md |
|
|
| PR-SPRINT | Sprint plan feasibility review | pr-sprint.md |
|
|
| PR-MILESTONE | Milestone risk assessment | pr-milestone.md |
|
|
| PR-EPIC | Epic structure feasibility before story breakdown | pr-epic.md |
|
|
| PR-PHASE-GATE | Production readiness at phase transition | pr-phase-gate.md |
|
|
| AD-CONCEPT-VISUAL | Visual identity anchor after pillars lock | ad-concept-visual.md |
|
|
| AD-ART-BIBLE | Art bible sign-off before asset production | ad-art-bible.md |
|
|
| AD-PHASE-GATE | Visual readiness at phase transition | ad-phase-gate.md |
|
|
| LP-FEASIBILITY | Implementation feasibility of the architecture | lp-feasibility.md |
|
|
| LP-CODE-REVIEW | Code review of an implemented story | lp-code-review.md |
|
|
| QL-STORY-READY | Acceptance-criteria testability before sprint | ql-story-ready.md |
|
|
| QL-TEST-COVERAGE | Test coverage review before epic done / advance | ql-test-coverage.md |
|
|
| ND-CONSISTENCY | Narrative consistency of writer deliverables | nd-consistency.md |
|
|
| AD-VISUAL | Visual consistency of art/tech-art decisions | ad-visual.md |
|
|
|
|
---
|
|
|
|
## Review Modes
|
|
|
|
Review intensity controls whether gates run.
|
|
|
|
**Global config**: `modes.review_mode` in `project.yaml` — one word: `full`,
|
|
`lean`, or `solo`. Legacy fallback: `production/review-mode.txt` (single line,
|
|
same values); `project.yaml` wins when both are present. Set once during
|
|
`/start`, or change it any time with `/settings modes.review_mode=<value>`.
|
|
|
|
**Per-run override**: any gate-using skill accepts `--review [full|lean|solo]`,
|
|
overriding the global config for that run only.
|
|
|
|
| Mode | What runs |
|
|
|------|-----------|
|
|
| `full` | All gates active — every workflow step reviewed |
|
|
| `lean` | PHASE-GATEs only (`/gate-check`) — per-skill gates skipped. **Default** |
|
|
| `solo` | No director gates anywhere (game jams, prototypes, max speed) |
|
|
|
|
---
|
|
|
|
## Invocation Pattern (copy into any skill)
|
|
|
|
**MANDATORY: apply the review mode before every gate spawn.**
|
|
|
|
The value is already resolved — skills call
|
|
`` !`source .claude/hooks/yaml-helper.sh && resolve_config --keys review_mode` ``
|
|
and read `review_mode` from the emitted block. Do **not** re-derive it here. The
|
|
full chain (`project.local.yaml` → `project.yaml` → `production/review-mode.txt`
|
|
→ `modes.rigor` expansion, `standard`→`lean`), its defaults and its failure modes are specified in
|
|
`.claude/docs/config-resolution.md`, and covered by the config test suite.
|
|
|
|
An inline `--review [mode]` argument, if the skill accepts one, overrides the
|
|
resolved value for that run.
|
|
|
|
Apply the resolved mode:
|
|
- `solo` → **skip all gates**. Note: `[GATE-ID] skipped — Solo mode`
|
|
- `lean` → **skip unless this is a PHASE-GATE** (CD-PHASE-GATE, TD-PHASE-GATE, PR-PHASE-GATE, AD-PHASE-GATE). Note: `[GATE-ID] skipped — Lean mode`
|
|
- `full` → spawn as normal
|
|
|
|
> **PHASE-GATE panel width is a second, independent axis.** `review_mode` decides
|
|
> whether the four PHASE-GATEs run at all; `modes.workflow` decides how many of
|
|
> them run — `minimal` → PR only, `standard` → TD + PR, `full` → all four. The
|
|
> rule and its rationale live in `/gate-check` Section 4b, the only skill that
|
|
> spawns PHASE-GATEs. Every other gate in this index is single-director and
|
|
> unaffected. Width never softens a verdict: the escalation rule below applies
|
|
> unchanged to whoever ran.
|
|
|
|
```
|
|
# Apply mode check, then:
|
|
Spawn `[agent-name]` via `Agent`:
|
|
- Gate: [GATE-ID] — `Agent` prompt instructs the agent to read
|
|
`.claude/docs/director-gates/[gate-id].md` FIRST (parent must not read it)
|
|
- Context: [fields under that gate's **Context to pass**]
|
|
- Await the verdict before proceeding.
|
|
```
|
|
|
|
For parallel spawning (multiple directors at one gate point): apply the mode
|
|
check per gate, then spawn all surviving agents simultaneously — issue all `Agent`
|
|
calls before waiting for any result; collect all verdicts before proceeding.
|
|
|
|
---
|
|
|
|
## Standard Verdict Format
|
|
|
|
All gates return one of three verdicts. Skills must handle all three:
|
|
|
|
| Verdict | Meaning | Default action |
|
|
|---------|---------|----------------|
|
|
| **APPROVE / READY** | No issues. Proceed. | Continue the workflow |
|
|
| **CONCERNS [list]** | Issues present but not blocking. | Surface to user via `AskUserQuestion` — options: `Revise flagged items` / `Accept and proceed` / `Discuss further` |
|
|
| **REJECT / NOT READY [blockers]** | Blocking issues. Do not proceed. | Surface blockers to user. Do not write files or advance stage until resolved. |
|
|
|
|
**Escalation rule**: When multiple directors are spawned in parallel, apply the
|
|
strictest verdict — one NOT READY overrides all READY verdicts.
|
|
|
|
---
|
|
|
|
## Recording Gate Outcomes
|
|
|
|
After a gate resolves, record the verdict in the relevant document's status header:
|
|
|
|
```markdown
|
|
> **[Director] Review ([GATE-ID])**: APPROVED [date] / CONCERNS (accepted) [date] / REVISED [date]
|
|
```
|
|
|
|
For phase gates, record in `docs/architecture/architecture.md` or
|
|
`production/session-state/active.md` as appropriate.
|
|
|
|
---
|
|
|
|
## Parallel Gate Protocol
|
|
|
|
At checkpoints needing multiple directors (most common at `/gate-check`):
|
|
|
|
```
|
|
Spawn in parallel (issue all `Agent` calls before waiting for any result):
|
|
creative-director → CD-PHASE-GATE, technical-director → TD-PHASE-GATE,
|
|
producer → PR-PHASE-GATE, art-director → AD-PHASE-GATE
|
|
|
|
Collect all four verdicts, then apply escalation rules:
|
|
- Any NOT READY / REJECT → overall verdict minimum FAIL
|
|
- Any CONCERNS → overall verdict minimum CONCERNS
|
|
- All READY / APPROVE → eligible for PASS (still subject to artifact checks)
|
|
```
|
|
|
|
---
|
|
|
|
## Adding New Gates
|
|
|
|
1. Assign a gate ID: `[DIRECTOR-PREFIX]-[DESCRIPTIVE-SLUG]`. Prefixes: `CD-`
|
|
`TD-` `PR-` `LP-` `QL-` `ND-` `AD-`; add new ones for new agents
|
|
(`audio-director` → `AU-`, `ux-designer` → `UX-`)
|
|
2. Create `.claude/docs/director-gates/[gate-id].md` (lowercase), starting with
|
|
the standard "> Gate definition..." header note, with all five fields:
|
|
Trigger, Context to pass, Prompt, Verdicts, special handling notes
|
|
3. Add its row to the Gate Index table above
|
|
4. Reference it in skills by ID only — never copy the prompt text into the skill
|
|
|
|
---
|
|
|
|
## Gate Coverage by Stage
|
|
|
|
| Stage | Required Gates | Optional Gates |
|
|
|-------|---------------|----------------|
|
|
| **Concept** | CD-PILLARS, AD-CONCEPT-VISUAL | TD-FEASIBILITY, PR-SCOPE |
|
|
| **Systems Design** | TD-SYSTEM-BOUNDARY, CD-SYSTEMS, PR-SCOPE, CD-GDD-ALIGN (per GDD) | ND-CONSISTENCY, AD-VISUAL, TD-CHANGE-IMPACT (on GDD revision) |
|
|
| **Technical Setup** | TD-ARCHITECTURE, TD-ADR (per ADR), TD-MANIFEST, LP-FEASIBILITY, AD-ART-BIBLE | TD-ENGINE-RISK |
|
|
| **Pre-Production** | PR-EPIC, QL-STORY-READY (per story), PR-SPRINT, all four PHASE-GATEs (via gate-check) | CD-PLAYTEST |
|
|
| **Production** | LP-CODE-REVIEW (per story), QL-STORY-READY, PR-SPRINT (per sprint), QL-TEST-COVERAGE (per sprint close-out) | PR-MILESTONE, AD-VISUAL, TD-CHANGE-IMPACT (on GDD revision) |
|
|
| **Polish** | QL-TEST-COVERAGE, CD-PLAYTEST, PR-MILESTONE | AD-VISUAL |
|
|
| **Release** | All four PHASE-GATEs (via gate-check) | QL-TEST-COVERAGE |
|