.agents/skills/map-systems/SKILL.md
Decompose a game concept into individual systems, map dependencies, prioritize design order, and create the systems index.
npx skillsauth add scotidev/GameDevStudio map-systemsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
When this skill is invoked:
Two modes:
/map-systems — Run the full decomposition workflow (Phases 1-5)
to create or update the systems index.next: /map-systems next — Pick the highest-priority undesigned system
from the index and hand off to /design-system (Phase 6).Read the game concept and any existing design work. This provides the raw material for systems decomposition.
Required:
design/gdd/game-concept.md — fail with a clear message if missing:
"No game concept found at
design/gdd/game-concept.md. Run/brainstormfirst to create one, then come back to decompose it into systems."
Optional (read if they exist):
design/gdd/game-pillars.md — pillars constrain priority and scopedesign/gdd/systems-index.md — if exists, resume from where it left off
(update, don't recreate from scratch)design/gdd/*.md — check which system GDDs already existIf the systems index already exists:
AskUserQuestion to ask:
"The systems index already exists with [N] systems ([M] designed, [K] not started).
What would you like to do?"
Extract and identify all systems the game needs. This is the creative core of the skill — it requires human judgment because concept docs rarely enumerate every system explicitly.
Scan the game concept for directly mentioned systems and mechanics:
For each explicit system, identify the hidden systems it implies. Games always need more systems than the concept doc mentions. Use this inference pattern:
Explain in conversation text why each implicit system is needed (with examples).
Present the enumeration organized by category. For each system, show:
Then use AskUserQuestion to capture feedback:
Iterate until the user approves the enumeration.
For each system, determine what it depends on. A system "depends on" another if it cannot function without that other system existing first.
For each system, list its dependencies. Use these dependency heuristics:
Arrange systems into layers:
Check for cycles in the dependency graph. If found:
Show the dependency map as a layered list. Highlight:
Use AskUserQuestion to ask: "Does this dependency ordering look right? Any
dependencies I'm missing or that should be removed?"
Assign each system to a priority tier based on what milestone it's needed for.
Use these heuristics for initial assignment:
Present the priority assignments in a table. For each tier, explain why systems were placed there.
Use AskUserQuestion to ask: "Do these priority assignments match your vision?
Which systems should be higher or lower priority?"
Explain reasoning in conversation: "I placed [system] in MVP because the core loop requires it — without [system], the 30-second loop can't function."
Combine dependency sort + priority tier to produce the final design order:
This is the order the team should write GDDs in.
Using the template at .agents/docs/templates/systems-index.md, populate the
systems index with all data from Phases 2-4:
Present a summary of the document:
Ask: "May I write the systems index to design/gdd/systems-index.md?"
Wait for approval. Write the file only after "yes."
After writing, update production/session-state/active.md with:
This phase is entered when:
/map-systems [system-name]/map-systems nextnext was used, pick the highest-priority undesigned system (by design order)Use AskUserQuestion for: "Start designing [system-name] now, pick a different
system, or stop here?"
Once a system is selected, invoke the /design-system [system-name] skill.
The /design-system skill handles the full GDD authoring process:
/design-review when completeDo not duplicate the /design-system workflow here. This skill owns the systems
index; /design-system owns individual system GDDs.
After /design-system completes, use AskUserQuestion:
If continuing, return to Step 6a.
After the systems index is created (or after designing some systems), suggest the appropriate next actions:
/design-system [system-name] to write the next system's GDD"/design-review [path] on each completed GDD to validate quality"/gate-check pre-production to check if you're ready to start building"/prototype [system]"/sprint-plan new"This skill follows the collaborative design principle at every phase:
/design-system/design-system, which handles
incremental section writing, cross-referencing, design review, and index updatesproduction/session-state/active.md after
each milestone (index created, system designed, priorities changed)Never auto-generate the full systems list and write it without review. Never start designing a system without user confirmation. Always show the enumeration, dependencies, and priorities for user validation.
development
Track, categorize, and prioritize technical debt across the codebase. Scans for debt indicators, maintains a debt register, and recommends repayment scheduling.
content-media
Orchestrate the UI team: coordinates ux-designer, ui-programmer, and art-director to design, implement, and polish a user interface feature from wireframe to final.
development
Orchestrate the release team: coordinates release-manager, qa-lead, devops-engineer, and producer to execute a release from candidate to deployment.
testing
Orchestrate the polish team: coordinates performance-analyst, technical-artist, sound-designer, and qa-tester to optimize, polish, and harden a feature or area for release quality.