mirror of
https://github.com/Donchitos/Claude-Code-Game-Studios.git
synced 2026-06-27 04:51:46 +00:00
* Add /vertical-slice skill, prototype overhaul, and workflow integration - Add /vertical-slice skill for pre-production validation (Phase 4 gate) - Overhaul /prototype skill with two-mode design: concept prototype (Phase 1) vs vertical slice (Phase 4), with clearer differentiation and higher standards for VS - Update prototyper agent to own both prototype and vertical-slice workflows - Add prototype-report.md and vertical-slice-report.md output templates - Update WORKFLOW-GUIDE, quick-start, skills-reference, agent-coordination-map, and skill-flow-diagrams to fully integrate both skills into the 7-phase pipeline - Remove orphaned empty quick-prototype/ directory Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * sync v1 counts + polish Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Add entity inventory flow, relax vertical-slice gate, improve UX authoring prompts - /asset-spec: new Phase 0b entity & screen inventory when no argument and no existing inventory — reads GDDs/art-bible, proposes categorized list, writes design/assets/entity-inventory.md collaboratively - /asset-spec: entity/character target falls back to inline user description when no source doc exists, rather than failing - /gate-check: vertical slice changed from blocking to CONCERNS-only when absent; built-but-broken slice still fails; adds entity inventory as gate artifact - /ux-design: convert inline approval prompts to AskUserQuestion for structured option capture at key authoring decision points - workflow-catalog.yaml: entity-inventory step added to pre-production; UX spec min_count raised to 3; vertical-slice and prototype marked required: false with updated descriptions - .gitignore: exclude marrow/ eval tooling directory Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Add missing AskUserQuestion widgets to 7 skills Audit found 11 decision points across 7 skills where structured option prompts were missing — using plain text, auto-selection, or no gate at all. Skills patched: - create-epics: per-epic approval + producer CONCERNS verdict - sprint-plan: producer CONCERNS verdict with scope/timeline options - milestone-review: AT RISK / OFF TRACK producer verdicts require acknowledgement - retrospective: existing-retro handling converted from plain text [A]/[B] - quick-design: classification confirmation + draft approve/revise/redirect - tech-debt add mode: category (6 options) + effort (S/M/L/XL) structured capture - regression-suite: no-arg mode selection instead of silent auto-detect - hotfix: severity confirmation gate before workflow begins Also added AskUserQuestion to allowed-tools headers for retrospective, quick-design, tech-debt, regression-suite, and hotfix. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Prep v1 stable: fix WORKFLOW-GUIDE counts, stale agent names, and skill model fields - WORKFLOW-GUIDE.md: correct agent count (48→49), skill count (66/68→73), add 6 missing skills to Appendix B, fix Creative category count (2→4), replace 3 non-existent agent names with correct ue-*/unity-* specialists, add missing godot-csharp/gdextension specialists to hierarchy, fix production/stories/ paths → production/epics/ - coordination-rules.md: replace "not yet used" with opt-in env var note - quick-start.md: rename duplicate "Validate the concept" label → "Prototype the mechanic" - skill-flow-diagrams.md: remove duplicate legacy UX pipeline section - All 62 skills missing model: field now have explicit model: sonnet Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: comprehensive skill audit — consistency, UX, and flow gaps Two-pass audit fixing ~35 bugs across 41 files. Pre-production flow: - Brainstorm next-steps split into Path A (design-first) and Path B (prototype-first) — eliminates "prototype after architecture" confusion - /architecture-review added to pre-production flow in brainstorm and create-architecture handoffs - gate-check traceability check corrected to requirements-traceability.md - dev-story TR registry error now points to /architecture-review (not /create-epics) - start now writes production/stage.txt on first onboarding AskUserQuestion gaps filled: - balance-check, code-review, hotfix, day-one-patch, consistency-check all gain closing widgets and/or missing allowed-tools declarations - hotfix git branch creation now requires user confirmation - sprint-plan review-mode setup moved to Phase 0 (before gates run) - team-combat gains architecture→implementation approval gate - design-review APPROVED path consolidated from 3 widgets to 1 multiSelect All 9 team-* skills: - Phase 0 review-mode resolution added (solo/lean/full now respected) - team-audio output path fixed (design/gdd/ → design/audio/) - team-level final doc compilation delegated to level-designer subagent - team-narrative localization-lead added to composition list - team-qa sprint path fixed (flat files, not directories) - team-release NO-GO override captures written justification - team-live-ops Cancel verdict now explicitly BLOCKED Other fixes: - Art bible path standardized to design/art/art-bible.md (3 wrong refs) - AD-PHASE-GATE added to lean-mode skip list in director-gates.md - design-system duplicate 5d heading fixed; skeleton decline path added; mandatory agent spawns now respect review mode - story-readiness acceptance criteria thresholds now type-aware - create-stories gains multi-ADR and no-ADR handling guidance - consistency-check creates docs/consistency-failures.md on first run - retrospective frontmatter bash injection replaced with explicit Bash call - smoke-check ls -t gains PowerShell fallback - Conventional Commits format documented in coding-standards.md - gate-check: ADR acceptance gate, QA plan check, chain-of-verification tool-action requirement all added Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: expose --review flag in argument-hints for all team-* skills All 9 team-* skills already implement Phase 0 review-mode resolution internally (full/lean/solo), but none advertised [--review full|lean|solo] in their argument-hint. Users had no way to discover the per-run override. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: add SECURITY.md with coordinated disclosure policy Defines scope, reporting process (GitHub private vulnerability reporting), contributor security guidelines for hooks/skills/agents, and 90-day coordinated disclosure timeline. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: add CONTRIBUTING.md with framework contribution guidelines Covers what PRs are welcome, skill/hook/agent technical requirements, the collaborative principle, testing expectations, commit format, and platform compatibility requirements. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: add v1.0.0-beta → v1.0 upgrade section to UPGRADING.md Documents the 17 commits since the beta tag: new /vertical-slice gate, entity inventory flow in /map-systems, AskUserQuestion widgets across 7 skills, --review flag exposure on team-* skills, bug fixes (#21, #36, #42, #43, #45), and the new CONTRIBUTING.md and SECURITY.md. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
269 lines
14 KiB
Markdown
269 lines
14 KiB
Markdown
---
|
||
name: design-review
|
||
description: "Reviews a game design document for completeness, internal consistency, implementability, and adherence to project design standards. Run this before handing a design document to programmers."
|
||
argument-hint: "[path-to-design-doc] [--depth full|lean|solo]"
|
||
user-invocable: true
|
||
allowed-tools: Read, Glob, Grep, Write, Edit, Task, AskUserQuestion
|
||
model: sonnet
|
||
---
|
||
|
||
## Phase 0: Parse Arguments
|
||
|
||
Extract `--depth [full|lean|solo]` if present. Default is `full` when no flag is given.
|
||
|
||
**Note**: `--depth` controls the *analysis depth* of this skill (how many specialist agents are spawned). It is independent of the global review mode in `production/review-mode.txt`, which controls director gate spawning. These are two different concepts — `--depth` is about how thoroughly *this* skill analyses the document.
|
||
|
||
- **`full`**: Complete review — all phases + specialist agent delegation (Phase 3b)
|
||
- **`lean`**: All phases, no specialist agents — faster, single-session analysis
|
||
- **`solo`**: Phases 1-4 only, no delegation, no Phase 5 next-step prompt — use when called from within another skill
|
||
|
||
---
|
||
|
||
## Phase 1: Load Documents
|
||
|
||
Read the target design document in full. Read CLAUDE.md to understand project context and standards. Read related design documents referenced or implied by the target doc (check `design/gdd/` for related systems).
|
||
|
||
**Dependency graph validation:** For every system listed in the Dependencies section, use Glob to check whether its GDD file exists in `design/gdd/`. Flag any that don't exist yet — these are broken references that downstream authors will hit.
|
||
|
||
**Lore/narrative alignment:** If `design/gdd/game-concept.md` or any file in `design/narrative/` exists, read it. Note any mechanical choices in this GDD that contradict established world rules, tone, or design pillars. Pass this context to `game-designer` in Phase 3b.
|
||
|
||
**Prior review check:** Check whether `design/gdd/reviews/[doc-name]-review-log.md` exists. If it does, read the most recent entry — note what verdict was given and what blocking items were listed. This session is a re-review; track whether prior items were addressed.
|
||
|
||
---
|
||
|
||
## Phase 2: Completeness Check
|
||
|
||
Evaluate against the Design Document Standard checklist:
|
||
|
||
- [ ] Has Overview section (one-paragraph summary)
|
||
- [ ] Has Player Fantasy section (intended feeling)
|
||
- [ ] Has Detailed Rules section (unambiguous mechanics)
|
||
- [ ] Has Formulas section (all math defined with variables)
|
||
- [ ] Has Edge Cases section (unusual situations handled)
|
||
- [ ] Has Dependencies section (other systems listed)
|
||
- [ ] Has Tuning Knobs section (configurable values identified)
|
||
- [ ] Has Acceptance Criteria section (testable success conditions)
|
||
|
||
---
|
||
|
||
## Phase 3: Consistency and Implementability
|
||
|
||
**Internal consistency:**
|
||
- Do the formulas produce values that match the described behavior?
|
||
- Do edge cases contradict the main rules?
|
||
- Are dependencies bidirectional (does the other system know about this one)?
|
||
|
||
**Implementability:**
|
||
- Are the rules precise enough for a programmer to implement without guessing?
|
||
- Are there any "hand-wave" sections where details are missing?
|
||
- Are performance implications considered?
|
||
|
||
**Cross-system consistency:**
|
||
- Does this conflict with any existing mechanic?
|
||
- Does this create unintended interactions with other systems?
|
||
- Is this consistent with the game's established tone and pillars?
|
||
|
||
---
|
||
|
||
## Phase 3b: Adversarial Specialist Review (full mode only)
|
||
|
||
**Skip this phase in `lean` or `solo` mode.**
|
||
|
||
**This phase is MANDATORY in full mode.** Do not skip it.
|
||
|
||
**Before spawning any agents**, print this notice:
|
||
> "Full review: spawning specialist agents in parallel. This typically takes 8–15 minutes. Use `--review lean` for faster single-session analysis."
|
||
|
||
### Step 1 — Identify all domains the GDD touches
|
||
|
||
Read the GDD and identify every domain present. A GDD can touch multiple domains simultaneously — be thorough. Common signals:
|
||
|
||
| If the GDD contains... | Spawn these agents |
|
||
|------------------------|-------------------|
|
||
| Costs, prices, drops, rewards, economy | `economy-designer` |
|
||
| Combat stats, damage, health, DPS | `game-designer`, `systems-designer` |
|
||
| AI behaviour, pathfinding, targeting | `ai-programmer` |
|
||
| Level layout, spawning, wave structure | `level-designer` |
|
||
| Player progression, XP, unlocks | `economy-designer`, `game-designer` |
|
||
| UI, HUD, menus, player-facing displays | `ux-designer`, `ui-programmer` |
|
||
| Dialogue, quests, story, lore | `narrative-director` |
|
||
| Animation, feel, timing, juice | `gameplay-programmer` |
|
||
| Multiplayer, sync, replication | `network-programmer` |
|
||
| Audio cues, music triggers | `audio-director` |
|
||
| Performance, draw calls, memory | `performance-analyst` |
|
||
| Engine-specific patterns or APIs | Primary engine specialist (from `.claude/docs/technical-preferences.md`) |
|
||
| Acceptance criteria, test coverage | `qa-lead` |
|
||
| Data schema, resource structure | `systems-designer` |
|
||
| Any gameplay system | `game-designer` (always) |
|
||
|
||
Spawn `game-designer` for all GDDs that describe gameplay mechanics or player-facing rules.
|
||
Spawn `systems-designer` for all GDDs that contain formulas or system interaction rules.
|
||
These are the most common baselines — but not required for pure UI specs, audio specs, or lore documents. Use the domain table above to determine which specialists are truly relevant.
|
||
|
||
### Step 2 — Spawn all relevant specialists in parallel
|
||
|
||
**CRITICAL: Task in this skill spawns a SUBAGENT — a separate independent Claude session
|
||
with its own context window. It is NOT task tracking. Do NOT simulate specialist
|
||
perspectives internally. Do NOT reason through domain views yourself. You MUST issue
|
||
actual Task calls. A simulated review is not a specialist review.**
|
||
|
||
Issue all Task calls simultaneously. Do NOT spawn one at a time.
|
||
|
||
**Prompt each specialist adversarially:**
|
||
> "Here is the GDD for [system] and the main review's structural findings so far.
|
||
> Your job is NOT to validate this design — your job is to find problems.
|
||
> Challenge the design choices from your domain expertise. What is wrong,
|
||
> underspecified, likely to cause problems, or missing entirely?
|
||
> Be specific and critical. Disagreement with the main review is welcome."
|
||
|
||
**Additional instructions per agent type:**
|
||
|
||
- **`game-designer`**: Anchor your review to the Player Fantasy stated in Section B of this GDD. Does this design actually deliver that fantasy? Would a player feel the intended experience? Flag any rules that serve implementability but undermine the stated feeling.
|
||
|
||
- **`systems-designer`**: For every formula in the GDD, plug in boundary values (minimum and maximum plausible inputs). Report whether any outputs go degenerate — negative values, division by zero, infinity, or nonsensical results at the extremes.
|
||
|
||
- **`qa-lead`**: Review every acceptance criterion. Flag any that are not independently testable — phrases like "feels balanced", "works correctly", "performs well" are not ACs. Suggest concrete rewrites for any that fail this test.
|
||
|
||
### Step 3 — Senior lead review
|
||
|
||
After all specialists respond, spawn `creative-director` as the **senior reviewer**:
|
||
- Provide: the GDD, all specialist findings, any disagreements between them
|
||
- Ask: "Synthesise these findings. What are the most important issues? Do you agree with the specialists? What is your overall verdict on this design?"
|
||
- The creative-director's synthesis becomes the **final verdict** in Phase 4.
|
||
|
||
### Step 4 — Surface disagreements
|
||
|
||
If specialists disagree with each other or with the creative-director, do NOT silently pick one view. Present the disagreement explicitly in Phase 4 so the user can adjudicate.
|
||
|
||
Mark every finding with its source: `[game-designer]`, `[economy-designer]`, `[creative-director]` etc.
|
||
|
||
---
|
||
|
||
## Phase 4: Output Review
|
||
|
||
```
|
||
## Design Review: [Document Title]
|
||
Specialists consulted: [list agents spawned]
|
||
Re-review: [Yes — prior verdict was X on YYYY-MM-DD / No — first review]
|
||
|
||
### Completeness: [X/8 sections present]
|
||
[List missing sections]
|
||
|
||
### Dependency Graph
|
||
[List each declared dependency and whether its GDD file exists on disk]
|
||
- ✓ enemy-definition-data.md — exists
|
||
- ✗ loot-system.md — NOT FOUND (file does not exist yet)
|
||
|
||
### Required Before Implementation
|
||
[Numbered list — blocking issues only. Each item tagged with source agent.]
|
||
|
||
### Recommended Revisions
|
||
[Numbered list — important but not blocking. Source-tagged.]
|
||
|
||
### Specialist Disagreements
|
||
[Any cases where agents disagreed with each other or with the main review.
|
||
Present both sides — do not silently resolve.]
|
||
|
||
### Nice-to-Have
|
||
[Minor improvements, low priority.]
|
||
|
||
### Senior Verdict [creative-director]
|
||
[Creative director's synthesis and overall assessment.]
|
||
|
||
### Scope Signal
|
||
Estimate implementation scope based on: dependency count, formula count,
|
||
systems touched, and whether new ADRs are required.
|
||
- **S** — single system, no formulas, no new ADRs, <3 dependencies
|
||
- **M** — moderate complexity, 1-2 formulas, 3-6 dependencies
|
||
- **L** — multi-system integration, 3+ formulas, may require new ADR
|
||
- **XL** — cross-cutting concern, 5+ dependencies, multiple new ADRs likely
|
||
Label clearly: "Rough scope signal: M (producer should verify before sprint planning)"
|
||
|
||
### Verdict: [APPROVED / NEEDS REVISION / MAJOR REVISION NEEDED]
|
||
```
|
||
|
||
This skill is read-only — no files are written during Phase 4.
|
||
|
||
---
|
||
|
||
## Phase 5: Next Steps
|
||
|
||
Use `AskUserQuestion` for ALL closing interactions. Never plain text.
|
||
|
||
**First widget — what to do next:**
|
||
|
||
If APPROVED (first-pass, no revision needed), proceed directly to the systems-index widget, review-log widget, then the final closing widget. Do not show a separate "what to do" widget — the final closing widget covers next steps.
|
||
|
||
If NEEDS REVISION or MAJOR REVISION NEEDED, options:
|
||
- `[A] Revise the GDD now — address blocking items together`
|
||
- `[B] Stop here — revise in a separate session`
|
||
- `[C] Accept as-is and move on (only if all items are advisory)`
|
||
|
||
**If user selects [A] — Revise now:**
|
||
|
||
Work through all blocking items, asking for design decisions only where you cannot resolve the issue from the GDD and existing docs alone. Group all design-decision questions into a single multi-tab `AskUserQuestion` before making any edits — do not interrupt mid-revision for each blocker individually.
|
||
|
||
After all revisions are complete, show a summary table (blocker → fix applied) and use `AskUserQuestion` for a **post-revision closing widget**:
|
||
|
||
- Prompt: "Revisions complete — [N] blockers resolved. What next?"
|
||
- Note current context usage: if context is above ~50%, add: "(Recommended: /clear before re-review — this session has used X% context. A full re-review runs 5 agents and needs clean context.)"
|
||
- Options:
|
||
- `[A] Re-review in a new session — run /design-review [doc-path] after /clear`
|
||
- `[B] Accept revisions and mark Approved — update systems index, skip re-review`
|
||
- `[C] Move to next system — /design-system [next-system] (#N in design order)`
|
||
- `[D] Stop here`
|
||
|
||
Never end the revision flow with plain text. Always close with this widget.
|
||
|
||
**Second widget — tracking records (combined, for APPROVED path):**
|
||
|
||
When the verdict is APPROVED, use a single `AskUserQuestion` with `multiSelect: true` to batch the two tracking updates:
|
||
- Prompt: "Verdict: APPROVED. I can update the tracking records now. Select any you'd like me to complete:"
|
||
- Options:
|
||
- `Update systems-index.md status to 'Approved' for [system]`
|
||
- `Append approval entry to design/gdd/reviews/[doc-name]-review-log.md`
|
||
|
||
If the review-log option is selected, append the same format as below. Execute both selected actions before showing the final closing widget.
|
||
|
||
When the verdict is NEEDS REVISION or MAJOR REVISION NEEDED, use separate widgets as before:
|
||
|
||
Use a second `AskUserQuestion`:
|
||
- Prompt: "May I update `design/gdd/systems-index.md` to mark [system] as [In Review / Approved]?"
|
||
- Options: `[A] Yes — update it` / `[B] No — leave it as-is`
|
||
|
||
Use a third `AskUserQuestion`:
|
||
- Prompt: "May I append this review summary to `design/gdd/reviews/[doc-name]-review-log.md`? This creates a revision history so future re-reviews can track what changed."
|
||
- Options: `[A] Yes — append to review log` / `[B] No — skip`
|
||
|
||
If yes, append an entry in this format:
|
||
```
|
||
## Review — [YYYY-MM-DD] — Verdict: [APPROVED / NEEDS REVISION / MAJOR REVISION NEEDED]
|
||
Scope signal: [S/M/L/XL]
|
||
Specialists: [list]
|
||
Blocking items: [count] | Recommended: [count]
|
||
Summary: [2-3 sentence summary of key findings from creative-director verdict]
|
||
Prior verdict resolved: [Yes / No / First review]
|
||
```
|
||
|
||
---
|
||
|
||
**Final closing widget — always show after all file writes complete:**
|
||
|
||
Once the systems-index and review-log widgets are answered, check project state and show one final `AskUserQuestion`:
|
||
|
||
Before building options, read:
|
||
- `design/gdd/systems-index.md` — find any system with Status: In Review or NEEDS REVISION (other than the one just reviewed)
|
||
- Count `.md` files in `design/gdd/` (excluding game-concept.md, systems-index.md) to determine if `/review-all-gdds` is worth offering (≥2 GDDs)
|
||
- Find the next system with Status: Not Started in design order
|
||
|
||
Build the option list dynamically — only include options that are genuinely next:
|
||
- `[_] Run /design-review [other-gdd-path] — [system name] is still [In Review / NEEDS REVISION]` (include if another GDD needs review)
|
||
- `[_] Run /consistency-check — verify this GDD's values don't conflict with existing GDDs` (always include if ≥1 other GDD exists)
|
||
- `[_] Run /review-all-gdds — holistic design-theory review across all designed systems` (include if ≥2 GDDs exist)
|
||
- `[_] Run /design-system [next-system] — next in design order` (always include, name the actual system)
|
||
- `[_] Stop here`
|
||
|
||
Assign letters A, B, C… only to included options. Mark the most pipeline-advancing option as `(recommended)`.
|
||
|
||
Never end the skill with plain text after file writes. Always close with this widget.
|