agentleFS
ShiningPlagueShiningPlague/shiningplague-studio/skills/map-systems/SKILL.md

map-systems

Skill0 starsChanged 4 months agoMITView on GitHub

Use when decomposing a game concept into systems with dependency ordering, when starting design-first work on a new feature area, or when the designer says 'what systems do we need for X?' Reads the master GDD and produces/updates docs/gdd/systems-index.md. ShiningPlague-adopted: full implementation with system_registry.json as source of truth (auto-regenerates systems-index.md), creative-director + technical-director parallel gate review, studio layer/priority taxonomy.

15 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

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

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 7 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 7 projects that use this

  • +2 more from lilangMax

The file

We split this skill into the rules it gives an agent

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

  • 0

    Common

    Most of the 14 edited versions we read keep these.

  • 3

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    MVP: must ship for the game to be playable

    line 70
  2. Very specific:

    Read production/review-mode.txt.

    line 94
  3. Very specific:

    Add entries to data/_schemas/system_registry.json with status planned

    line 107
  4. Very specific:

    Update depends_on / consumed_by fields in the registry

    line 111
  5. Distinctive:

    Update the registry, not the index directly.

    line 120
  6. Distinctive:

    When decomposing a new area (e.g.

    line 122

“Common” is measured: kept by at least 6 in 10 of the 14 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

Map Systems — System Decomposition and Dependency Mapping

🌱 ShiningPlague-adopted. Originally Donchitos (barebones stub); battle-tested on a shipped Godot project. Upstream was a pointer-only file; this version is the full implementation — scope detection, layer/priority taxonomy, dependency mapping with God Object detection, dual-director gate review.

Decomposes a game concept or feature area into systems, assigns layers and priorities, maps dependencies, produces/updates the systems index. The creative-director reviews for vision alignment; the technical-director reviews for architectural soundness.

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: Determine Scope

full (default): Decompose the entire game from the master GDD. <area-name>: Decompose a specific feature area (e.g. "narrative", "player-progression").

Read:

  1. {{GDD_PATH}} (e.g. docs/GDD.md) — master GDD (design intent)
  2. data/_schemas/system_registry.json — what already exists
  3. docs/gdd/systems-index.md — current systems table (auto-generated from registry)
  4. docs/architecture/tr-registry.yaml — technical requirements already identified

Report: "Scope: [full/area]. Found [N] existing systems in registry, [M] technical requirements."


Phase 2: Identify Systems

For the scoped area, identify every distinct system needed. A system is a discrete unit of functionality with:

  • A single responsibility
  • Clear inputs and outputs
  • Implementable as one autoload singleton or one scene tree branch

For each system, determine:

FieldDescription
Namesnake_case identifier
LayerFoundation / Core / Feature / Presentation / Polish
PriorityMVP / Vertical Slice / Alpha / Full Vision
DependenciesWhat systems must exist before this one
What it doesOne sentence

Layer assignment rules:

  • Foundation: infrastructure with no game logic (save/load, config, state persistence)
  • Core: primary gameplay loops (combat, movement, resource management)
  • Feature: game-specific content systems (quests, crafting, NPC schedules)
  • Presentation: UI, VFX, audio integration, HUD
  • Polish: optimization, accessibility, feel-tuning

Priority assignment rules:

  • MVP: must ship for the game to be playable
  • Vertical Slice: needed to prove the core loop works
  • Alpha: full feature set, rough edges OK
  • Full Vision: nice-to-have, cut if time runs out

Phase 3: Map Dependencies

Build a dependency graph. For each system, list:

  • Depends on: systems that must be built FIRST
  • Depended on by: systems that need THIS system

Check for:

  • Circular dependencies (A needs B needs A) — propose resolution
  • God Object risks (one system depended on by >5 others) — propose decomposition
  • Inverted layer dependencies (Feature depending on Presentation) — flag

Present the dependency graph as an ASCII diagram or table.


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

Read production/review-mode.txt. If full, spawn two directors in parallel:

CD-SYSTEMS gate (creative-director): Does the system set deliver the core fantasy? Missing systems? Scope creep systems?

TD-SYSTEM-BOUNDARY gate (technical-director): Are boundaries clean? God Object risks? Dependency ordering problems? Inverted dependencies?

Reference: .claude/docs/director-gates.md for full gate prompts.


Phase 5: Update Registry and Index

For NEW systems identified:

  1. Add entries to data/_schemas/system_registry.json with status planned
  2. The PostToolUse hook auto-regenerates docs/gdd/systems-index.md

For EXISTING systems with new dependency info:

  1. Update depends_on / consumed_by fields in the registry

Propose chain follow-on: "Systems mapped. Next: /design-system [highest-priority-unmapped] to author per-system GDDs in dependency order."


Studio Notes

  • system_registry.json is source of truth. systems-index.md is auto-generated.
  • Update the registry, not the index directly. Hook handles regeneration.
  • The studio registry uses richer status values (active/wip/partial/dormant/planned/etc.) which map to Donchitos statuses in the generated index.
  • When decomposing a new area (e.g. a narrative layer), cross-reference existing systems in the registry to avoid duplication.

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.