design-system · donchitos — Claude Code skill: section-by-section GDD
Walks one game system through every required GDD section and cross-references its dependencies. Useful when a design doc grows faster than you can keep it straight.
npx skills add Donchitos/Claude-Code-Game-Studios --skill design-system -a claude-codeWhat design-system does
The skill takes a single system — combat, economy, dialogue, UI — and moves through the required GDD sections one at a time. Each step runs question, options, decision, draft, approval, and nothing lands in a file until you say so. Only the main session writes; specialist agents return analysis and proposals back to it.
There are six phases: parse arguments, gather context, create the file skeleton, design each section, validate after design, then route to specialists. Routing picks an agent by system type — combat goes to game-designer, economy to economy-designer, audio to audio-director. Invoke it as /design-system <system-name> [--review full|lean|solo]. The --review flag overrides review_mode from your config.
Session state lives in production/session-state/active.md and the finished doc in design/gdd/[system-name].md. If a compaction or crash interrupts you, the skill reads both and resumes at the first section still marked [To be designed]. That is the point of writing incrementally: an approved section survives the disruption.
What it helps with
- draft a GDD for one game system section by section
- cross-check a design against its dependent systems
- route a system to the right specialist agent
- resume design work after a session is interrupted
- get every design decision approved before it is written
Example prompts for the agent
- /design-system combat
- /design-system economy --review lean
- /design-system dialogue --review solo
How to install design-system
1Skills CLI (Vercel)
npx skills add Donchitos/Claude-Code-Game-Studios --skill design-system -a claude-code2Manually: put the files in place
~/.claude/skills/design-system/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/design-system/
1Skills CLI (Vercel)
npx skills add Donchitos/Claude-Code-Game-Studios --skill design-system -a codex2Manually: put the files in place
.agents/skills/design-system/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add Donchitos/Claude-Code-Game-Studios --skill design-system -a cursor2Manually: put the files in place
.cursor/skills/design-system/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install Donchitos/Claude-Code-Game-Studios design-system2Manually: put the files in place
.github/skills/design-system/SKILL.md1Skills CLI (Vercel)
npx skills add Donchitos/Claude-Code-Game-Studios --skill design-system -a gemini-cli2Platform CLI
gemini skills install https://github.com/Donchitos/Claude-Code-Game-Studios --path .claude/skills/design-systemManually: put the files in place
.devin/skills/design-system/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add Donchitos/Claude-Code-Game-Studios --skill design-system -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about design-system
How do I install design-system in Claude?
Run npx skills add Donchitos/Claude-Code-Game-Studios --skill design-system -a claude-code. It installs to ~/.claude/skills/design-system/SKILL.md.
What does design-system do?
It walks a single system through each required GDD section, asks design questions at every step, cross-references dependencies, and hands domain work to a specialist agent.
What does the skill need to run?
It resolves config through hooks/yaml-helper.sh and reads the system registry through .claude/scripts/registry.sh. Both ship with the repository, so the skill comes with it rather than as a standalone file.
Source text
SKILL.md · MIT
---
name: design-system
description: "Section-by-section GDD authoring for one system — walks through each required section, cross-references dependencies."
argument-hint: "<system-name> [--review full|lean|solo]"
user-invocable: true
allowed-tools: Read, Glob, Grep, Write, Edit, Agent, AskUserQuestion, TaskCreate, TaskGet, TaskList, TaskUpdate, Bash(bash "*/.claude/skills/design-system/../../hooks/yaml-helper.sh" resolve_config *), Bash(bash .claude/scripts/registry.sh *)
model: sonnet
---
!`bash "${CLAUDE_SKILL_DIR}/../../hooks/yaml-helper.sh" resolve_config --keys review_mode,automation,workflow,docs.density,system_overrides`
Resolved above — use as-is; `--review` overrides `review_mode`. No block →
defaults in `.claude/docs/config-resolution.md`.
# Design System
When this skill is invoked:
## 1. Parse Arguments & Validate
**Read `references/1-parse-arguments.md` now and follow it** — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
## 2. Gather Context (Read Phase)
**Read `references/2-gather-context.md` now and follow it** — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
## 3. Create File Skeleton
**Read `references/3-file-skeleton.md` now and follow it** — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
## 4. Section-by-Section Design
**Read `references/4-section-design.md` now and follow it** — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
## 5. Post-Design Validation
**Read `references/5-post-design.md` now and follow it** — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
## 6. Specialist Agent Routing
This skill delegates to specialist agents for domain expertise. The main session
orchestrates the overall flow; agents provide expert content.
**Rows here are finer-grained than the nine `Category` values on purpose** — the
right specialist for combat is not the right specialist for pathfinding, and both
are `Gameplay`. Resolve in two steps: take the system's `Category` from
`systems-index.md`, then pick the row within it that matches what the system
actually does. Every category has at least one row, so nothing falls through.
| `Category` | Rows below to choose from |
|---|---|
| `Gameplay` | Combat/damage/health · AI/pathfinding/behavior · Animation/character movement · Character systems · Camera/input/controls |
| `Core` | Foundation/Infrastructure · Camera/input/controls |
| `Persistence` | Foundation/Infrastructure |
| `Economy` | Economy/loot/crafting |
| `Progression` | Progression/XP/skills |
| `UI` | UI systems · Visual effects (when the system is HUD-adjacent VFX) |
| `Audio` | Audio systems |
| `Narrative` | Dialogue/quests/lore |
| `Meta` | Foundation/Infrastructure (analytics, tutorial plumbing) · UI systems (accessibility options screens) |
If two rows fit, spawn the union of their Primary agents and say why.
| System type | Primary Agent | Supporting Agent(s) |
|----------------|---------------|---------------------|
| **Foundation/Infrastructure** (event bus, save/load, scene mgmt, service locator) | `systems-designer` | `gameplay-programmer` (feasibility), `engine-programmer` (engine integration) |
| Combat, damage, health | `game-designer` | `systems-designer` (formulas), `ai-programmer` (enemy AI), `art-director` (hit feedback visual direction, VFX intent) |
| Economy, loot, crafting | `economy-designer` | `systems-designer` (curves), `game-designer` (loops) |
| Progression, XP, skills | `game-designer` | `systems-designer` (curves), `economy-designer` (sinks) |
| Dialogue, quests, lore | `game-designer` | `narrative-director` (story), `writer` (content), `art-director` (character visual profiles, cinematic tone) |
| UI systems (HUD, menus) | `game-designer` | `ux-designer` (flows), `ui-programmer` (feasibility), `art-director` (visual style direction), `technical-artist` (render/shader constraints) |
| Audio systems | `game-designer` | `audio-director` (direction), `sound-designer` (specs) |
| AI, pathfinding, behavior | `game-designer` | `ai-programmer` (implementation), `systems-designer` (scoring) |
| Level/world systems | `game-designer` | `level-designer` (spatial), `world-builder` (lore) |
| Camera, input, controls | `game-designer` | `ux-designer` (feel), `gameplay-programmer` (feasibility) |
| Animation, character movement | `game-designer` | `art-director` (animation style, pose language), `technical-artist` (rig/blend constraints), `gameplay-programmer` (feel) |
| Visual effects, particles, shaders | `game-designer` | `art-director` (VFX visual direction), `technical-artist` (performance budget, shader complexity), `systems-designer` (trigger/state integration) |
| Character systems (stats, archetypes) | `game-designer` | `art-director` (character visual archetype), `narrative-director` (character arc alignment), `systems-designer` (stat formulas) |
**When delegating via the `Agent` tool**:
- Provide: system name, game concept summary, dependency GDD excerpts, the specific
section being worked on, and what question needs expert input
- The agent returns analysis/proposals to the main session
- The main session presents the agent's output to the user via `AskUserQuestion`
- The user decides; the main session writes to file
- Agents do NOT write to files directly — the main session owns all file writes
---
## 7. Recovery & Resume
If the session is interrupted (compaction, crash, new session):
1. Read `production/session-state/active.md` — it records the current system and
which sections are complete
2. Read `design/gdd/[system-name].md` — sections with real content are done;
sections with `[To be designed]` still need work. Read it by section: find the
headings with the Grep tool (pattern `^#`, content mode) and Read those
ranges with offset and limit.
3. Resume from the next incomplete section — no need to re-discuss completed ones
This is why incremental writing matters: every approved section survives any
disruption.
---
## Collaborative Protocol
**In `collaborative` mode (the default).** For `guided` and `autonomous`
modes, see the per-mode rules in `.claude/docs/automation-modes.md` — the
"Never" lines below describe what collaborative mode requires, not what
applies universally.
This skill follows the collaborative design principle at every step:
1. **Question -> Options -> Decision -> Draft -> Approval** for every section
2. **AskUserQuestion** at every decision point (Explain -> Capture pattern):
- Phase 2: "Ready to start, or need more context?"
- Phase 3: "May I create the skeleton?"
- Phase 4 (each section): Design questions, approach options, draft approval
- Phase 5: "May I update the entity registry? May I update the systems
index? What's next?" — **not** "Run design review?": §5c forbids offering
`/design-review` inline, because the reviewing agent must not inherit this
session's design history. Phase 5c presents the hand-off; it never asks.
3. **"May I write to [filepath]?"** before the skeleton and before each section write
4. **Incremental writing**: Each section is written to file immediately after approval
5. **Session state updates**: After every section write
6. **Cross-referencing**: Every section checks existing GDDs for conflicts
7. **Specialist routing**: Complex sections get expert agent input, presented to
the user for decision — never written silently
**Never** auto-generate the full GDD and present it as a fait accompli.
**Never** write a section without user approval.
**Never** contradict an existing approved GDD without flagging the conflict.
**Always** show where decisions come from (dependency GDDs, pillars, user choices).
## Context Window Awareness
This is a long-running skill. After writing each section, check if the status line
shows context at or above 70%. If so, append this notice to the response:
> **Context is approaching the limit (≥70%).** Your progress is saved — all approved
> sections are written to `design/gdd/[system-name].md`. When you're ready to continue,
> open a fresh Claude Code session and run `/design-system [system-name]` — it will
> detect which sections are complete and resume from the next one.
---
## Recommended Next Steps
- Run `/design-review design/gdd/[system-name].md` in a **fresh session** to validate the completed GDD independently
- Run `/consistency-check` to verify this GDD's values don't conflict with other GDDs
- Run `/map-systems next` to move to the next highest-priority undesigned system
- Run `/gate-check technical-setup` when all MVP GDDs are authored and reviewed
© Donchitos · MIT · Donchitos/Claude-Code-Game-Studios
Similar skills
Everything for Game dev and 3D: Unity, Unreal, Godot, Blender →design-system by other authors comes first.