Skip to content
Development
Skill

/gat-design

Design one system within a specific milestone's scope: write the milestone-scoped system GDD, content data, and system art doc, and update the milestone brief's progress. Requires a mandatory milestone argument.

From plugin
game-dev-skills
10517 skills4 agents

Claude Code

$ npx -y skills add Yuki001/game-dev-skills --skill gat-design --agent claude-code

SKILL.md

gat-design.SKILL.md
name: gat-design
description: "Design one system within a specific milestone's scope: write the milestone-scoped system GDD, content data, and system art doc, and update the milestone brief's progress. Requires a mandatory milestone argument."
argument-hint: "{milestone} {system | hint}"
user-invocable: true
allowed-tools: Read, Glob, Grep, Write, Edit, Agent, AskUserQuestion

Design

This skill designs a single system within a specific milestone, after `/gat-brainstorm` (overview) and `/gat-milestone` (milestone plan) are done. For story, worldbuilding, characters, quests, dialogue, or authored narrative content, delegate to `/gat-story`. For the initial concept interview, delegate to `/gat-brainstorm`.

The `milestone` argument is **mandatory**. If it is omitted, the skill stops and asks the user to specify a milestone — no inference, default, or fallback.

Phase 1: Resolve Mode

Check existing files:

  • If `gat/overview/game.md` or `gat/overview/systems-index.md` missing → hand off: tell the user to run `/gat-brainstorm [hint]` first. Stop.
  • If `gat/overview/art-direction.md` missing → hand off: tell the user to run `/gat-brainstorm [hint]` to establish global art direction. Stop.
  • If `gat/milestone/milestone.md` missing → hand off: tell the user to run `/gat-milestone` first. Stop.
  • If no `milestone` argument provided → STOP. Tell the user a milestone is required and show the milestones listed in `gat/milestone/milestone.md`. Do NOT infer or default one. Do NOT write any files.
  • If the `milestone` argument does not match any milestone directory under `gat/milestone/` (i.e., no `m{N}-<name>/m{N}-brief.md` exists) → STOP. Tell the user the milestone was not found and list the valid milestones.

Then resolve sub-mode:

  • If a `system` (or hint) argument is also provided → Mode: `system` (design that one system in the milestone)
  • If only a `milestone` argument is provided → Mode: `continue` (auto-fill all systems in that milestone's brief that are not yet designed). Continue is scoped to that milestone only — it does NOT cross into other milestones.

Phase 2: Execute

Read templates:

  • `.claude/docs/templates/design/system-gdd.md`
  • `.claude/docs/templates/design/system-art.md`
  • `.claude/docs/templates/design/content-data.md`

Read context:

  • `gat/overview/game.md`, `gat/overview/systems-index.md`, `gat/overview/art-direction.md`
  • the target milestone's `m{N}-brief.md` (for scope, in-scope systems, and the progress tracker)
  • relevant `gat/narrative/*.md` when narrative context affects the system
  • existing system docs under `gat/milestone/m{N}-<name>/<system>/` if present

Also read existing `gat/narrative/*.md` when present and pass relevant narrative context to spawned agents. Do not create or rewrite narrative docs here; use `/gat-story` for that.

Continue mode (`/gat-design {milestone}`)

For each system listed in the milestone's `m{N}-brief.md` that is not yet designed (progress row Pending), in the brief's order:

1. Spawn `gat-designer` → `gat/milestone/m{N}-<name>/<system>/<system>-gdd-m{N}.md` 2. If the system needs content data, spawn `gat-designer` → `gat/milestone/m{N}-<name>/<system>/<system>-data-m{N}.md` 3. Spawn `gat-artist` → `gat/milestone/m{N}-<name>/<system>/<system>-art-m{N}.md` 4. Update that system's progress row in `m{N}-brief.md` to Designed.

Do NOT design systems belonging to other milestones.

System mode (`/gat-design {milestone} {system | hint}`)

**Step 1** — Spawn `gat-designer` → `gat/milestone/m{N}-<name>/<system>/<system>-gdd-m{N}.md`

  • Pass `gat/overview/game.md`, `gat/overview/systems-index.md`, the milestone's `m{N}-brief.md`, system-gdd template
  • Pass existing system GDD if present (e.g., an earlier milestone's version of the same system, for reference — a later milestone may redefine it differently)

**Step 2 — Content Fill** (for systems with high content volume, within this milestone's scope)

If the system requires substantial content data, spawn `gat-designer` to write `gat/milestone/m{N}-<name>/<system>/<system>-data-m{N}.md`:

  • Pass the system GDD, `gat/overview/game.md`, `gat/overview/systems-index.md`, the milestone brief, content-data template
  • Pass existing content doc if present
  • The content doc fills specific instances, parameters, sequences, and groups for THIS milestone — the data that instantiates the rules defined in the milestone's system GDD

A system needs a content-data doc when its GDD defines data structures that need many concrete instances (e.g. an `enemy` GDD defines enemy attributes → content doc fills the specific enemies in scope for this milestone).

Systems that are purely mechanical (e.g. `input`, `tbs-scoring`) typically do NOT need content-data docs — their parameters fit within the GDD itself.

**Step 3** — Spawn `gat-artist` → `gat/milestone/m{N}-<name>/<system>/<system>-art-m{N}.md`:

  • Pass `gat/overview/game.md`, `gat/overview/art-direction.md`, the milestone's system GDD, the content-data doc (if it exists), the milestone brief, system-art template
  • Pass existing system art doc if present

**Step 4 — Update Progress**

After writing a system's docs, update that system's row in the milestone's `m{N}-brief.md` progress tracker (System | Iteration(s) | GDD | Art | Data | Design Status) to mark GDD/Art/Data paths filled and Design Status Designed. If this was the first system designed in the milestone, also set the milestone status from `planned` to `designing` (in both the brief and `gat/milestone/milestone.md`).

Phase 3: Cross-Document Consistency Audit

After ALL documents in the current request are written (all systems in continue mode, or the single system in system mode), run a cross-document consistency audit before the review summary.

**Scope** — audit every newly written or updated document in this request against:

  • Every other newly written document in this request (peer conflict check)
  • Existing system GDD/docs within the SAME milestone that were NOT touche
Read more
@yuki001
Ships withgame-dev-skills

This is my personal agent skill repository, primarily focused on game development.

10517 skills4 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
105
Star history of Yuki001/game-dev-skills on GitHub, a chart by star-history.com

Other skills on game-dev-skills.

gat-milestone

gat-milestone

Plan milestone slices from overview + narrative alone (no system GDDs required), create per-milestone directory skeletons and…

gat-story

gat-story

Develop game story and narrative through one-question-at-a-time writer interviews. Produces narrative docs under gat/narrative/…

animation-shader

animation-shader

READ this skill when implementing or configuring animation-style shaders (Toon/Cel Shaders) — including outlines, rim lighting,…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about gat-design.

Which coding agents can use gat-design?
gat-design installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.