DE

design-system

Assists developers in writing structured Game Design Documents by gathering context and following a systematic drafting process.

Install

mkdir -p .claude/skills/design-system && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/17399" && unzip -o skill.zip -d .claude/skills/design-system && rm skill.zip

Installs to .claude/skills/design-system

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Guided, section-by-section GDD authoring for a single game system. Gathers context from existing docs, walks through each required section collaboratively, cross-references dependencies, and writes incrementally to file.
220 charsno explicit “when” trigger
Advanced

Key capabilities

  • Parse arguments and validate review mode
  • Gather context from game concept and systems index
  • Read entity registry and reflexion logs for known facts
  • Identify upstream and downstream dependencies and read their GDDs
  • Present a context summary to the user
  • Author GDD sections incrementally with user approval

How it works

The skill authors Game Design Documents (GDDs) by parsing arguments, gathering context from existing documentation and dependencies, and then collaboratively writing each section incrementally with user approval.

Inputs & outputs

You give it
System name or retrofit path to an existing GDD file
You get back
A collaboratively authored or retrofitted Game Design Document (GDD) for a single game system

When to use design-system

  • Draft new game system documentation
  • Retrofit existing documentation for game features
  • Maintain GDD system index
  • Collaboratively define system constraints

About this skill

When this skill is invoked:

1. Parse Arguments & Validate

Resolve the review mode (once, store for all gate spawns this run):

  1. If --review [full|lean|solo] was passed → use that
  2. Else read production/review-mode.txt → use that value
  3. Else → default to lean

See .claude/docs/director-gates.md for the full check pattern.

A system name or retrofit path is required. If missing:

  1. Check if design/gdd/systems-index.md exists.
  2. If it exists: read it, find the highest-priority system with status "Not Started" or equivalent, and use AskUserQuestion:
    • Prompt: "The next system in your design order is [system-name] ([priority] | [layer]). Start designing it?"
    • Options: [A] Yes — design [system-name] / [B] Pick a different system / [C] Stop here
    • If [A]: proceed with that system name. If [B]: ask which system to design (plain text). If [C]: exit.
  3. If no systems index exists, fail with:

    "Usage: /design-system <system-name> — e.g., /design-system movement Or to fill gaps in an existing GDD: /design-system retrofit design/gdd/[system-name].md No systems index found. Run /map-systems first to map your systems and get the design order."

Detect retrofit mode: If the argument starts with retrofit or the argument is a file path to an existing .md file in design/gdd/, enter retrofit mode:

  1. Read the existing GDD file.
  2. Identify which of the 8 required sections are present (scan for section headings). Required sections: Overview, Player Fantasy, Detailed Design/Rules, Formulas, Edge Cases, Dependencies, Tuning Knobs, Acceptance Criteria.
  3. Identify which sections contain only placeholder text ([To be designed] or equivalent — blank, a single line, or obviously incomplete).
  4. Present to the user before doing anything:
    ## Retrofit: [System Name]
    File: design/gdd/[filename].md
    
    Sections already written (will not be touched):
    ✓ [section name]
    ✓ [section name]
    
    Missing or incomplete sections (will be authored):
    ✗ [section name] — missing
    ✗ [section name] — placeholder only
    
  5. Ask: "Shall I fill the [N] missing sections? I will not modify any existing content."
  6. If yes: proceed to Phase 2 (Gather Context) as normal, but in Phase 3 skip creating the skeleton (file already exists) and in Phase 4 skip sections that are already complete. Only run the section cycle for missing/ incomplete sections.
  7. Never overwrite existing section content. Use Edit tool to replace only [To be designed] placeholders or empty section bodies.

If NOT in retrofit mode, normalize the system name to kebab-case for the filename (e.g., "combat system" becomes combat-system).


2. Gather Context (Read Phase)

Read all relevant context before asking the user anything. This is the skill's primary advantage over ad-hoc design — it arrives informed.

2a: Required Reads

  • Game concept: Read design/gdd/game-concept.md — fail if missing:

    "No game concept found. Run /brainstorm first."

  • Systems index: Read design/gdd/systems-index.md — fail if missing:

    "No systems index found. Run /map-systems first to map your systems."

  • Target system: Find the system in the index. If not listed, warn:

    "[system-name] is not in the systems index. Would you like to add it, or design it as an off-index system?"

  • Entity registry: Read design/registry/entities.yaml if it exists. Extract all entries referenced by or relevant to this system (grep referenced_by.*[system-name] and source.*[system-name]). Hold these in context as known facts — values that other GDDs have already established and this GDD must not contradict.
  • Reflexion log: Read docs/consistency-failures.md if it exists. Extract entries whose Domain matches this system's category. These are recurring conflict patterns — present them under "Past failure patterns" in the Phase 2d context summary so the user knows where mistakes have occurred before in this domain.

2b: Dependency Reads

From the systems index, identify:

  • Upstream dependencies: Systems this one depends on. Read their GDDs if they exist (these contain decisions this system must respect).
  • Downstream dependents: Systems that depend on this one. Read their GDDs if they exist (these contain expectations this system must satisfy).

For each dependency GDD that exists, extract and hold in context:

  • Key interfaces (what data flows between the systems)
  • Formulas that reference this system's outputs
  • Edge cases that assume this system's behavior
  • Tuning knobs that feed into this system

2c: Optional Reads

  • Game pillars: Read design/gdd/game-pillars.md if it exists
  • Existing GDD: Read design/gdd/[system-name].md if it exists (resume, don't restart from scratch)
  • Related GDDs: Glob design/gdd/*.md and read any that are thematically related (e.g., if designing a system that overlaps with another in scope, read the related GDD even if it's not a formal dependency)

2d: Present Context Summary

Before starting design work, present a brief summary to the user:

Designing: [System Name]

  • Priority: [from index] | Layer: [from index]
  • Depends on: [list, noting which have GDDs vs. undesigned]
  • Depended on by: [list, noting which have GDDs vs. undesigned]
  • Existing decisions to respect: [key constraints from dependency GDDs]
  • Pillar alignment: [which pillar(s) this system primarily serves]
  • Known cross-system facts (from registry):
    • [entity_name]: [attribute]=[value], [attribute]=[value] (owned by [source GDD])
    • [item_name]: [attribute]=[value], [attribute]=[value] (owned by [source GDD])
    • [formula_name]: variables=[list], output=[min–max] (owned by [source GDD])
    • [constant_name]: [value] [unit] (owned by [source GDD]) (These values are locked — if this GDD needs different values, surface the conflict before writing. Do not silently use different numbers.)

If no registry entries are relevant: omit the "Known cross-system facts" section.

If any upstream dependencies are undesigned, warn:

"[dependency] doesn't have a GDD yet. We'll need to make assumptions about its interface. Consider designing it first, or we can define the expected contract and flag it as provisional."

2e: Technical Feasibility Pre-Check

Before asking the user to begin designing, load runtime/stack context and surface any constraints or knowledge gaps that will shape the design.

Step 1 — Determine the runtime/stack domain for this system: Map the system's category (from systems-index.md) to a runtime/stack domain:

System CategoryRuntime/Stack Domain
Combat, rules, resolutionCore
Economy, loot, marketPersistence
API, endpoints, transportAPI/Transport
Matchmaking, sessions, lobbiesMatchmaking
AI, pathfinding, botsConcurrency
Realtime sync, replicationNetworking
Auth, sessions, tokensAuth
Save/load, persistence, dataPersistence
Caching, hot stateCaching

Step 2 — Read runtime/stack context (if available):

  • Read .claude/docs/technical-preferences.md to identify the runtime/stack and versions
  • If a runtime/stack is configured, read docs/engine-reference/nodejs/VERSION.md
  • Read docs/engine-reference/nodejs/modules/[domain].md if it exists
  • Read docs/engine-reference/nodejs/breaking-changes.md for domain-relevant entries
  • Glob docs/architecture/adr-*.md and read any ADRs whose domain matches (check the Runtime/Stack Compatibility table's "Domain" field)

Step 3 — Present the Feasibility Brief:

If runtime/stack reference docs exist, present before starting design:

## Technical Feasibility Brief: [System Name]
Runtime: Node.js [version] + [libraries]
Domain: [domain]

### Known Runtime/Library Capabilities (verified for [version])
- [capability relevant to this system]
- [capability 2]

### Runtime/Library Constraints That Will Shape This Design
- [constraint from runtime/stack reference or existing ADR]

### Knowledge Gaps (verify before committing to these)
- [post-cutoff feature this design might rely on — mark HIGH/MEDIUM risk]

### Existing ADRs That Constrain This System
- ADR-XXXX: [decision summary] — means [implication for this GDD]
  (or "None yet")

If no runtime/stack reference docs exist (stack not yet configured), show a short note:

"No runtime/stack configured yet — skipping technical feasibility check. Run /setup-engine before moving to architecture if you haven't already."

Step 4 — Ask before proceeding:

Use AskUserQuestion:

  • "Any constraints to add before we begin, or shall we proceed with these noted?"
    • Options: "Proceed with these noted", "Add a constraint first", "I need to check the runtime/stack docs — pause here"

Use AskUserQuestion:

  • "Ready to start designing [system-name]?"
    • Options: "Yes, let's go", "Show me more context first", "Design a dependency first"

3. Create File Skeleton

Once the user confirms, immediately create the GDD file with empty section headers. This ensures incremental writes have a target.

Use the template structure from .claude/docs/templates/game-design-document.md:

# [System Name]

> **Status**: In Design
> **Author**: [user + agents]
> **Last Updated**: [today's date]
> **Implements Pillar**: [from context]

## Overview

[To be designed]

## Player Fantasy

[To be designed]

## Detailed Design

### Core Rules

[To be designed]

### States and Transitions

[To be designed]

### Interactions with Other Systems

[To be designed]

## Formulas

[To be designed]

## Edge Cases

[To be designed]

## Dependencies

[To be designed]

## Tuning Knobs

[To be designed]

## Operational Requirements

[To be designed]

## API/Contract Requirements

[To be designed]

## Acceptance Criteria

[To 

---

*Content truncated.*

When not to use it

  • When a system name or retrofit path is missing
  • When auto-generating the full GDD without user approval is desired
  • When contradicting an existing approved GDD without flagging the conflict

Limitations

  • The skill requires `design/gdd/game-concept.md` and `design/gdd/systems-index.md` to be present
  • The skill never overwrites existing section content in retrofit mode, only replaces placeholders
  • The skill requires user approval for each section before writing to file

How it compares

This skill provides a guided, collaborative, and context-aware approach to GDD authoring, ensuring consistency with existing documentation and dependencies, unlike manual GDD creation that may lack cross-referencing.

Compared to similar skills

design-system side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
design-system (this skill)023dNo flagsAdvanced
mermaid-diagrams86moNo flagsBeginner
create-cli12moNo flagsBeginner
design-review04moNo flagsIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

mermaid-diagrams

davila7

Comprehensive guide for creating software diagrams using Mermaid syntax. Use when users need to create, visualize, or document software through diagrams including class diagrams (domain modeling, object-oriented design), sequence diagrams (application flows, API interactions, code execution), flowcharts (processes, algorithms, user journeys), entity relationship diagrams (database schemas), C4 architecture diagrams (system context, containers, components), state diagrams, git graphs, pie charts, gantt charts, or any other diagram type. Triggers include requests to "diagram", "visualize", "model", "map out", "show the flow", or when explaining system architecture, database design, code structure, or user/application flows.

827

create-cli

steipete

Design command-line interface parameters and UX: arguments, flags, subcommands, help text, output formats, error messages, exit codes, prompts, config/env precedence, and safe/dry-run behavior. Use when you’re designing a CLI spec (before implementation) or refactoring an existing CLI’s surface area for consistency, composability, and discoverability.

15

design-review

Harries

设计文档评审。当用户需要评审设计文档质量、检查设计合理性、发现设计缺陷,或询问"帮我评审设计文档"、"检查设计质量"时使用。

00

functional-design

Fuga578

機能設計書を作成するための詳細ガイドとテンプレート。機能設計書作成時にのみ使用。

00

architecture-decision-records

wshobson

Write and maintain Architecture Decision Records (ADRs) following best practices for technical decision documentation. Use when documenting significant technical decisions, reviewing past architectural choices, or establishing decision processes.

54217

deepwiki-rs

sopaco

AI-powered Rust documentation generation engine for comprehensive codebase analysis, C4 architecture diagrams, and automated technical documentation. Use when Claude needs to analyze source code, understand software architecture, generate technical specs, or create professional documentation from any programming language.

25170

Search skills

Search the agent skills registry