dev-story
Skill0 starsChanged 4 months agoMITView on GitHub
Read a story file and implement it. Loads the full context (story, GDD requirement, ADR guidelines, control manifest), routes to the right programmer agent for the system and engine, implements the code and test, and confirms each acceptance criterion. The core implementation skill — run after /story-readiness, before /code-review and /story-done. ShiningPlague-adopted: project paths (docs/adr/, docs/gdd/), engine-conditional specialist routing ({{ENGINE}}), control manifest at docs/architecture/control-manifest.md.
11 other projects use a version of this, 7 of them edited.
Adopted by
Most recently taken up by
- striderZA/OpenCodeGameStudiosedited, first seen Nov 4, 2026
- Donchitos/Claude-Code-Game-Studiostheir own version, first seen Oct 19, 2026
- venus2099/codex-game-studiosedited, first seen Oct 17, 2026
- rterakedis/leanwheel-skillstheir own version, first seen Oct 17, 2026
- HunLuanZhiZhu/Game-Studios-Pluginedited, first seen Oct 5, 2026
- gonimar/claude-web-studiotheir own version, first seen Sep 27, 2026
Used with
Projects with it also use vertical-slice.
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.
hongyuancSkillvertical-slice
Build and evaluate a production-quality vertical slice before advancing from Pre-Production to Production.
Also in 4 projects that use this
Other versions11 projects use a version of this.
Word for word · 0
None found.
Edited · 7
- striderZA/OpenCodeGameStudios★ 11843% same
- dawn840705/codex-code-studios★ 1736% same
- lilangMax/ClaudeCodeGameStudios★ 843% same
- hongyuanc/codex-game-studios★ 525% same
- dawn840705/claude-code-studios★ 137% same
- HunLuanZhiZhu/Game-Studios-Plugin★ 133% same
- venus2099/codex-game-studios★ 114% same
Wrote their own version · 4
- Donchitos/Claude-Code-Game-Studios★ 27ksame name
- cenconq25/claude-code-app-studio★ 40same name
- gonimar/claude-web-studio★ 4same name
- rterakedis/leanwheel-skills★ 2same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository68 other files it gives its agents.
- adoptSkill
- architecture-decisionSkill
- architecture-reviewSkill
- art-bibleSkill
- asset-specSkill
- brainstormingSkill
- bug-reportSkill
- bug-triageSkill
- code-reviewSkill
- consistency-checkSkill
- content-auditSkill
- create-architectureSkill
- create-control-manifestSkill
- create-epicsSkill
- create-storiesSkill
- day-one-patchSkill
- design-reviewSkill
- design-systemSkill
- dispatching-parallel-agentsSkill
- estimateSkill
- executing-plansSkill
- finishing-a-development-branchSkill
- gate-checkSkill
- goal-add-minorSkill
- goal-checkSkill
- goal-setSkill
- godot-engineSkill
- helpSkill
- map-systemsSkill
- narrative-designerSkill
- project-stage-detectSkill
- propagate-design-changeSkill
- qa-planSkill
- quick-designSkill
- red-flag-scanSkill
- regression-suiteSkill
- retrospectiveSkill
- review-all-gddsSkill
- safety-pushSkill
- scope-checkSkill
- security-auditSkill
- session-closeSkill
- setup-engineSkill
- sprint-planSkill
- startSkill
- story-doneSkill
- story-readinessSkill
- subagent-driven-developmentSkill
- systematic-debuggingSkill
- team-artSkill
- team-audioSkill
- team-combatSkill
- team-economySkill
- team-infraSkill
- team-levelSkill
- team-marketingSkill
- team-narrativeSkill
- team-polishSkill
- team-releaseSkill
- team-securitySkill
- The first 60 shown.
The file
Show its rules and text
We split this skill into the rules it gives an agent
25 rules. 2 are common, 10 are distinctive, and 13 are very specific to this project.
2
Common
Most of the 11 edited versions we read keep these.
10
Distinctive
This author's own choices. Worth a look.
13
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 34
After all sprint stories are done: run /qa-plan [sprint] to execute the full QA cycle.
- Common: line 63
If a path is provided: read that file directly.
- Very specific: line 65
If no argument: check production/session-state/active.md for the active story.
- Distinctive: line 81
If TR registry or governing ADR is missing, set story status to BLOCKED in session state and do not spawn any programmer agent.
- Distinctive: line 83
Read all of the following simultaneously:
- Very specific: line 100
Read docs/architecture/tr-registry.yaml.
- Very specific: line 112
Read docs/architecture/control-manifest.md.
- Distinctive: line 117
Check: does story's embedded Manifest Version match current manifest header date?
- Very specific: line 119
If they differ, use AskUserQuestion:
- Distinctive: line 128
After extracting Dependencies, validate each:
- Very specific: line 130
Read its Status: field
- Very specific: line 131
If any dependency Status not Complete/Done:
- Very specific: line 132
Use AskUserQuestion: "Story depends on [dependency] which is [status], not Complete.
- Very specific: line 190
Create or modify files in src/ following ADR guidelines
- Distinctive: line 193
Write clean, doc-commented public APIs
- Very specific: line 212
Test requirements (the naming and structure rules live in .claude/rules/test-standards.md):
- Distinctive: line 216
No random seeds, no time-dependent assertions, no external I/O
- Distinctive: line 217
Test the formula bounds from GDD Formulas section
- Distinctive: line 227
After programmer agent(s) complete, collect:
- Distinctive: line 229
Test file created (path + number of test functions)
- Common: line 274
If any spawned agent returns BLOCKED, errors, or cannot complete:
- Distinctive: line 277
Assess dependencies: If output required by subsequent phases, don't proceed
- Very specific: line 302
Run /code-review [file1] [file2] to review before closing
- Very specific: line 303
Run /story-done [story-path] to verify acceptance criteria and mark complete
- Very specific: line 304
After all sprint stories done: run /qa-plan [sprint] for the full QA cycle
“Common” is measured: kept by at least 6 in 10 of the 11 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.
Files
Dev Story
🌱 ShiningPlague-adopted. Originally Donchitos; battle-tested on a shipped Godot project. Upstream procedure preserved + project path corrections + engine-conditional routing.
This skill bridges planning and code. It reads a story file in full, assembles all the context a programmer needs, routes to the correct specialist agent, and drives implementation to completion — including writing the test.
The loop for every story:
/qa-plan sprint ← define test requirements before sprint begins
/story-readiness [path] ← validate before starting
/dev-story [path] ← implement it (this skill)
/code-review [files] ← review it
/story-done [path] ← verify and close itAfter all sprint stories are done: run /qa-plan [sprint] to execute the full QA cycle.
Output: Source code + test file in the project's src/ and tests/ directories.
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.
Project Paths
| What | Canonical path |
| System GDD | docs/gdd/[system].md or {{GDD_PATH}} |
| ADRs | docs/adr/NNN-*.md |
| Control manifest | docs/architecture/control-manifest.md |
| Stories | production/epics/<epic-slug>/story-*.md |
| Test evidence | tests/ or tools/ (headless harnesses) |
Project Context
- Engine:
{{ENGINE}}(from.claude/docs/technical-preferences.md) — routes to the matching engine specialist (e.g.godot-gdscript-specialistfor Godot 4 + GDScript) - Technical preferences at
.claude/docs/technical-preferences.md - Coding standards/gotchas at
.claude/docs/(e.g.godot-gotchas.mdfor Godot projects) - Architecture principles in CLAUDE.md § Architecture principles
Phase 1: Find the Story
If a path is provided: read that file directly.
If no argument: check production/session-state/active.md for the active story. If found, confirm: "Continuing work on [story title] — is that correct?" If not found, ask: "Which story are we implementing?" Glob production/epics/**/*.md and list stories with Status: Ready.
Phase 2: Load Full Context
Before loading any context, verify required files exist. Extract ADR path from story's ADR Governing Implementation field, then check:
| File | Path | If missing |
| TR registry | docs/architecture/tr-registry.yaml | STOP — "TR registry not found. Run /create-epics to generate it." |
| Governing ADR | path from story's ADR field | STOP — "ADR file [path] not found. Run /architecture-decision to create it, or correct the filename in the story's ADR field." |
| Control manifest | docs/architecture/control-manifest.md | WARN and continue — "Control manifest not found — layer rules cannot be checked. Run /create-control-manifest." |
"Missing" includes "seeded but unwritten." The installer seeds the TR registry and the control manifest, so existence proves nothing — a copy still carrying the scaffold-seed: unwritten marker (or a tr-registry.yaml whose requirements: list is still empty) is the blank skeleton. Treat it as missing and take the row's action.
If TR registry or governing ADR is missing, set story status to BLOCKED in session state and do not spawn any programmer agent.
Read all of the following simultaneously:
The story file
Extract and hold:
- Story title, ID, layer, type (Logic / Integration / Visual/Feel / UI / Config/Data)
- TR-ID — the GDD requirement identifier
- Governing ADR reference
- Manifest Version embedded in story header
- Acceptance Criteria — every checkbox item, verbatim
- Implementation Notes — the ADR guidance section
- Out of Scope boundaries
- Test Evidence — required test file path
- Dependencies — what must be DONE before this story
The TR registry
Read docs/architecture/tr-registry.yaml. Look up story's TR-ID. Read current requirement text — source of truth.
The governing ADR
Read docs/adr/[adr-file].md. Extract:
- Full Decision section
- Implementation Guidelines section
- Engine Compatibility section (post-cutoff APIs, known risks)
- ADR Dependencies section
The control manifest
Read docs/architecture/control-manifest.md. Extract rules for this layer:
- Required patterns
- Forbidden patterns
- Performance guardrails
Check: does story's embedded Manifest Version match current manifest header date?
If they differ, use AskUserQuestion:
- Prompt: "Story written against manifest v[story-date]. Current manifest is v[current-date]. New rules may apply. Proceed?"
- Options:
[A] Update story manifest version and implement with current rules (Recommended)[B] Implement with old rules — accept risk of non-compliance[C] Stop — review the manifest diff first
Dependency validation
After extracting Dependencies, validate each:
- Glob
production/epics/**/*.mdto find each dependency story file - Read its
Status:field - If any dependency Status not
Complete/Done:- Use
AskUserQuestion: "Story depends on [dependency] which is [status], not Complete. How proceed?" - Options:
[A] Proceed anyway/[B] Stop — complete dependency first/[C] Mark dependency Complete and continue
- Use
Engine reference
Read .claude/docs/technical-preferences.md:
Engine:—{{ENGINE}}(e.g. Godot 4.x)- Naming conventions
- Performance budgets
- Forbidden patterns
Phase 3: Route to the Right Programmer
Based on story's Layer, Type, and system name:
Config/Data stories — skip agent spawning entirely. Jump directly to Phase 4. The implementation is a data file edit.
Primary agent routing table
| Story context | Primary agent |
| Foundation layer — any type | engine-programmer |
| Any layer — Type: UI | ui-programmer |
| Any layer — Type: Visual/Feel | gameplay-programmer |
| Core or Feature — gameplay mechanics | gameplay-programmer |
| Core or Feature — AI behaviour, pathfinding | ai-programmer |
| Core or Feature — networking, replication | network-programmer |
| Config/Data — no code | No agent needed |
Engine specialist — always spawn as secondary for code stories
Route by {{ENGINE}} (from .claude/docs/technical-preferences.md). For Godot 4 projects, default secondary = godot-gdscript-specialist.
| Engine | Specialist agents |
| Godot 4 | godot-specialist, godot-gdscript-specialist, godot-shader-specialist |
| Other engines | activate the matching engine pack in .claude/agents-optional/ and route to its specialists |
When engine risk is HIGH (from ADR or VERSION.md): always spawn engine specialist, even for non-engine-facing stories.
Phase 4: Implement
Spawn chosen programmer agent(s) via Task with full context package:
- The complete story file content
- The current GDD requirement text (from TR registry)
- The ADR Decision + Implementation Guidelines (verbatim — don't summarise)
- The control manifest rules for this layer
- The engine naming conventions and performance budgets
- Any engine-specific notes from ADR Engine Compatibility
- The test file path that must be created
- Explicit instruction: implement this story and write the test
Agent should:
- Create or modify files in
src/following ADR guidelines - Respect all Required and Forbidden patterns from control manifest
- Stay within story's Out of Scope boundaries
- Write clean, doc-commented public APIs
Config/Data stories (no agent needed)
For Type: Config/Data, implementation is editing a data file. Read story's acceptance criteria and make specified changes directly. Note values changed.
Visual/Feel stories
Spawn gameplay-programmer to implement code/animation calls. Visual/Feel acceptance criteria cannot be auto-verified — "does it feel right?" check happens in /story-done via manual confirmation.
Phase 5: Write the Test
For Logic and Integration stories, test must be written as part of this implementation — not deferred.
Remind the programmer agent:
"Test file for this story is required at:
[path from Test Evidence section]. Story cannot be closed via/story-donewithout it. Write the test alongside implementation."
Test requirements (the naming and structure rules live in .claude/rules/test-standards.md):
- File name:
[system]_[feature]_test.[engine test extension](e.g..gdfor Godot,.csfor Unity) - Function names:
test_[system]_[scenario]_[expected_result]— the pattern in.claude/rules/test-standards.md - Each acceptance criterion must have at least one test function
- No random seeds, no time-dependent assertions, no external I/O
- Test the formula bounds from GDD Formulas section
For Visual/Feel and UI stories: no automated test. Remind agent to note: "Evidence doc required at production/qa/evidence/[slug]-evidence.md."
For Config/Data stories: no test file. A smoke check serves as evidence.
Phase 6: Collect and Summarise
After programmer agent(s) complete, collect:
- Files created/modified (with paths)
- Test file created (path + number of test functions)
- Any deviations from story's Out of Scope boundary
- Any questions or blockers
- Any engine-specific risks the specialist flagged
Present concise summary:
## Implementation Complete: [Story Title]
**Files changed**:
- `src/[path]` — created / modified ([brief description])
- `tests/[path]` — test file ([N] test functions)
**Acceptance criteria covered**:
- [x] [criterion] — implemented in [file:function]
- [x] [criterion] — covered by test [test_name]
- [ ] [criterion] — DEFERRED: requires playtest (Visual/Feel)
**Deviations from scope**: [None] or [list files touched outside boundary]
**Engine risks flagged**: [None] or [specialist finding]
**Blockers**: [None] or [describe]
Ready for: `/code-review [file1] [file2]` then `/story-done [story-path]`Phase 7: Update Session State
Silently append to production/session-state/active.md:
## Session Extract — /dev-story [date]
- Story: [story-path] — [story title]
- Files changed: [comma-separated list]
- Test written: [path, or "None — Visual/Feel/Config story"]
- Blockers: [None, or description]
- Next: /code-review [files] then /story-done [story-path]Error Recovery Protocol
If any spawned agent returns BLOCKED, errors, or cannot complete:
- Surface immediately: "[AgentName]: BLOCKED — [reason]"
- Assess dependencies: If output required by subsequent phases, don't proceed
- Offer options via AskUserQuestion: skip / retry narrower scope / stop and resolve
- Always produce partial report — never discard work
Common blockers:
- Input file missing → redirect to skill that creates it
- ADR status is Proposed → run
/architecture-decisionfirst - Scope too large → split via
/create-stories - Conflicting ADR/story instructions → surface, don't guess
- Manifest version mismatch → show diff, ask
Collaborative Protocol
- File writes are delegated — all source code, test files, evidence docs written by sub-agents spawned via Task. Each sub-agent enforces "May I write to [path]?" individually.
- Load before implementing — don't start coding until all context loaded
- The ADR is the law — implementation must follow ADR Implementation Guidelines. If guidelines conflict with what seems "better," flag in summary
- Stay in scope — Out of Scope is a contract. If implementing requires touching out-of-scope file, stop and surface
- Test is not optional for Logic/Integration — don't mark complete without test file
- Visual/Feel criteria are deferred, not skipped
- Ask before large structural decisions — if story requires pattern not covered by ADR, surface
Recommended Next Steps
- Run
/code-review [file1] [file2]to review before closing - Run
/story-done [story-path]to verify acceptance criteria and mark complete - After all sprint stories done: run
/qa-plan [sprint]for the full QA cycle
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
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.

