agentleFS
ShiningPlagueShiningPlague/shiningplague-studio/skills/design-system/SKILL.md

design-system

Skill0 starsChanged 4 months agoMITView on GitHub

Use when authoring a new system GDD, when the designer says 'design the narrative system' or 'write a GDD for X', or when /map-systems identifies a system that needs a detailed design document. Guided 8-section authoring using the Donchitos game-design-document template. One section at a time, designer approval between sections. ShiningPlague-adopted: adapts to master GDD + per-system split convention, dispatches game-designer + creative-director, adds studio Live Sources / Implementation Notes / Open Questions sections.

192 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use soak-test and team-live-ops.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • lilangMaxSkill

    soak-test

    Generate a soak test protocol for extended play sessions. Defines what to observe, measure, and log during long play sessions to surface slow leaks, fatigue effects, and edge cases that only appear after sustained play. Primarily used in Polish and Release phases.

    Also in 9 projects that use this

  • lilangMaxSkill

    team-live-ops

    Orchestrate the live-ops team for post-launch content planning: coordinates live-ops-designer, economy-designer, analytics-engineer, community-manager, writer, and narrative-director to design and plan a season, event, or live content update.

    Also in 9 projects that use this

The file

Show its rules and text

We split this skill into the rules it gives an agent

17 rules. 0 are common, 6 are distinctive, and 11 are very specific to this project.

  • 0

    Common

    Most of the 175 edited versions we read keep these.

  • 6

    Distinctive

    This author's own choices. Worth a look.

  • 11

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If argument provided: use it as the system name.

    line 32
  2. Very specific:

    If no argument: read docs/gdd/systems-index.md (auto-generated from registry), list systems with Status = "Not Started" or "In Progress", …

    line 34
  3. Very specific:

    Read the master GDD {{GDD_PATH}} for any existing design content about this system.

    line 38
  4. Very specific:

    Read data/_schemas/system_registry.json for the system's status, features, dependencies.

    line 39
  5. Very specific:

    Read docs/architecture/tr-registry.yaml for related technical requirements.

    line 40
  6. Very specific:

    Read any related ADRs from docs/adr/.

    line 41
  7. Very specific:

    Read the game pillars from the {{GDD_PATH}} pillars section.

    line 42
  8. Very specific:

    Read the template at .claude/docs/templates/game-design-document.md.

    line 50
  9. Distinctive:

    Wait for approval: before proceeding to the next section

    line 75
  10. Very specific:

    Every formula with: variable definitions, expected value ranges, example calculations.

    line 92
  11. Very specific:

    Read production/review-mode.txt.

    line 110
  12. Distinctive:

    If CONCERNS: surface to designer with options (Revise / Accept / Discuss).

    line 116
  13. Distinctive:

    If REJECT: surface blockers, do not mark GDD as Approved.

    line 117
  14. Very specific:

    Update docs/gdd/systems-index.md by running python tools/generate_systems_index.py (the sync hook already does this on any registry write.

    line 124
  15. Very specific:

    Update data/_schemas/system_registry.json — set the system's status to reflect GDD completion

    line 125
  16. Distinctive:

    Template-first rule: Use the Donchitos template as base.

    line 133
  17. Distinctive:

    Data-driven mandate: Every tuning knob must point to a JSON file, not a hardcoded value.

    line 134

“Common” is measured: kept by at least 6 in 10 of the 175 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Design System — Guided GDD Authoring

🌱 ShiningPlague-adopted. Originally Donchitos (barebones stub); battle-tested on a shipped Godot project. Upstream was a pointer-only file; the studio version is the full implementation — 8-section template, agent dispatch, director review, registry sync.

Author a per-system Game Design Document using the 8-section Donchitos template. One section at a time, with designer approval between sections. Dispatches game-designer agent for mechanical design and creative-director for pillar alignment review.

If an artifact named here is absent: say so plainly in one line, skip that step, and continue. Never invent the file to satisfy a checklist, and never fail a close because an optional artifact was never created.

Phase 1: Identify the System

If argument provided: use it as the system name.

If no argument: read docs/gdd/systems-index.md (auto-generated from registry), list systems with Status = "Not Started" or "In Progress", and ask which one to design.

Then check:

  1. Does docs/gdd/<system-name>.md already exist? If yes: "GDD already exists. Edit it, or start fresh?"
  2. Read the master GDD {{GDD_PATH}} for any existing design content about this system.
  3. Read data/_schemas/system_registry.json for the system's status, features, dependencies.
  4. Read docs/architecture/tr-registry.yaml for related technical requirements.
  5. Read any related ADRs from docs/adr/.
  6. Read the game pillars from the {{GDD_PATH}} pillars section.

Report context found: "Found [N] related TR-IDs, [M] related ADRs, existing design content in master GDD Section [X]."


Phase 2: Load Template

Read the template at .claude/docs/templates/game-design-document.md. This defines the 8 required sections plus studio additions.

The 8 Donchitos sections:

  1. Overview
  2. Player Fantasy
  3. Detailed Design (Core Rules + States + Interactions)
  4. Formulas
  5. Edge Cases
  6. Dependencies
  7. Tuning Knobs
  8. Acceptance Criteria

Studio additions (add after Acceptance Criteria):

  • Live Sources table (JSON paths + editor docks — mandatory for data-driven systems)
  • Implementation Notes (file paths to existing code, if any)
  • Open Questions

Phase 3: Author Section by Section

For EACH section, follow this cycle:

  1. Draft the section using context from Phase 1 (master GDD content, TR-IDs, ADRs, registry)
  2. Present the draft to the designer with: "Here's the [Section Name] draft. Approve, revise, or skip?"
  3. Wait for approval before proceeding to the next section
  4. Write the approved section to docs/gdd/<system-name>.md immediately (persist decisions, manage context)

Section-specific guidance:

Overview

One paragraph. What this system is, what the player does, why it exists. No jargon. Cite the master GDD section if content already exists there.

Player Fantasy

What should the player FEEL? The emotional promise. Tie directly to the game pillars from {{GDD_PATH}} — which ones does this system serve?

Detailed Design

The meaty section. Core rules as numbered steps (a programmer implements this without asking questions). States and transitions as a table. Interactions with other systems — specify the interface: what data flows in/out, who owns what.

Dispatch game-designer agent for this section if the system has complex mechanics. The game-designer can draft the rules while I coordinate.

Formulas

Every formula with: variable definitions, expected value ranges, example calculations. Link to live data sources in data/_schemas/ where the actual numbers live.

Edge Cases

Explicitly state what happens. "Handle gracefully" is not valid. Each edge case = scenario + behavior.

Dependencies

Bidirectional. If this system depends on combat, combat's GDD must mention this system. Cross-reference docs/gdd/systems-index.md layer assignments.

Tuning Knobs

Each knob: safe range, what gameplay aspect it affects, where the value lives (JSON path + editor dock).

Acceptance Criteria

Testable criteria. A QA tester verifies pass/fail. Each criterion traces to a TR-ID from docs/architecture/tr-registry.yaml.


Phase 4: Director Review (if review-mode = full)

Read production/review-mode.txt. If full:

Spawn creative-director via Agent with gate CD-GDD-ALIGN from .claude/docs/director-gates.md:

  • Pass: GDD file path, game pillars, MDA aesthetics, system's Player Fantasy section
  • Await verdict: APPROVE / CONCERNS / REJECT

If CONCERNS: surface to designer with options (Revise / Accept / Discuss). If REJECT: surface blockers, do not mark GDD as Approved.


Phase 5: Finalize

  1. Set GDD status to Approved (or In Review if director had CONCERNS that were accepted)
  2. Update docs/gdd/systems-index.md by running python tools/generate_systems_index.py (the sync hook already does this on any registry write; the tool rewrites only the SYSTEMS-TABLE region and exits 3 without touching anything if the index or the markers are absent)
  3. Update data/_schemas/system_registry.json — set the system's status to reflect GDD completion
  4. Propose chain follow-on: "GDD complete. Next: /design-review for validation, or /architecture-decision if this system needs a new ADR."

Studio Notes

  • Master GDD stays as overview. Per-system GDDs in docs/gdd/ hold the deep design. Master GDD section headers get a pointer: "See docs/gdd/<system>.md for detailed design."
  • Template-first rule: Use the Donchitos template as base. Add studio Live Sources / Implementation Notes / Open Questions on top.
  • Data-driven mandate: Every tuning knob must point to a JSON file, not a hardcoded value. Every formula must reference where the actual numbers live.
  • Numbers never live in the GDD. The GDD explains the formula; the JSON holds the values; the dock edits them.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.