Source profileQuality 85/100

Donchitos/Claude-Code-Game-Studios/.claude/skills/dev-story/SKILL.md

dev-story

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.

Source repository stars
23,609
Declared platforms
0
Static risk flags
2
Last source update
2026-05-21
Source checked
2026-08-05

Decision brief

What it does—and where it fits

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.

Best for

    Not for

    • Tasks that require unconfirmed production actions or broad system permissions.
    • Environments where the pinned source and install steps cannot be inspected.

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/Donchitos/Claude-Code-Game-Studios --skill ".claude/skills/dev-story"
    Safe inspection promptEditorial

    Inspect the Agent Skill "dev-story" from https://github.com/Donchitos/Claude-Code-Game-Studios/blob/984023ddac0d5e27624f2baacde6105e45de375f/.claude/skills/dev-story/SKILL.md at commit 984023ddac0d5e27624f2baacde6105e45de375f. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      Phase 1: Find the Story

      If a path is provided: read that file directly.

      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 producti…
    2. 02

      Phase 2: Load Full Context

      Before loading any context, verify required files exist. Extract the ADR path from the story's ADR Governing Implementation field, then check:

      Story title, ID, layer, type (Logic / Integration / Visual/Feel / UI / Config/Data)TR-ID — the GDD requirement identifierGoverning ADR reference
    3. 03

      Phase 3: Route to the Right Programmer

      Based on the story's Layer, Type, and system name, determine which specialist to spawn via Task.

      Based on the story's Layer, Type, and system name, determine which specialist to spawn via Task.Config/Data stories — skip agent spawning entirely: If the story's Type is Config/Data, no programmer agent or engine specialist is needed. Jump directly to Phase 4 (Config/Data note). The implementation is a data file…Read the Engine Specialists section of .claude/docs/technical-preferences.md to get the configured primary specialist. Spawn them alongside the primary agent when the story involves engine-specific APIs, patterns, or th…
    4. 04

      Phase 4: Implement

      Spawn the chosen programmer agent(s) via Task with the full context package:

      Story file: [story-path] — read in fullGDD requirement: look up TR-ID [TR-XXX-NNN] in docs/architecture/tr-registry.yaml — use the requirement field as source of truthADR: docs/architecture/[adr-file].md — read the Decision and Implementation Guidelines sections only
    5. 05

      Phase 5: Test Evidence Requirements

      The test requirement was included in the Phase 4 programmer agent brief (item 7). This phase summarizes what evidence each story type requires — used when collecting the Phase 6 summary.

      The test requirement was included in the Phase 4 programmer agent brief (item 7). This phase summarizes what evidence each story type requires — used when collecting the Phase 6 summary.For Visual/Feel and UI stories, include in the Phase 6 summary: "Manual evidence required at production/qa/evidence/[slug]-evidence.md before this story can be fully closed."

    Permission review

    Static risk signals and limitations

    Reads files

    low · line 25

    The documentation asks the agent to read local files, directories, or repositories.

    *If a path is provided**: read that file directly.

    Reads files

    low · line 66

    The documentation asks the agent to read local files, directories, or repositories.

    Read `docs/architecture/[adr-file].md`. Extract:

    Writes files

    medium · line 86

    The documentation asks the agent to create, modify, or delete local files.

    If [A]: edit the story file's `Manifest Version:` field to the current manifest date before spawning the programmer. Then read the manifest carefully for new rules.

    Writes files

    medium · line 87

    The documentation asks the agent to create, modify, or delete local files.

    If [B]: edit the story file's `Manifest Version:` field to the current manifest date AND add a `Manifest-Note: Proceeded with old manifest rules on [date] — non-compliance risk accepted.` line to the story header. Read the manifest for new

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score85/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars23,609SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    Donchitos/Claude-Code-Game-Studios
    Skill path
    .claude/skills/dev-story/SKILL.md
    Commit
    984023ddac0d5e27624f2baacde6105e45de375f
    License
    MIT
    Collected
    2026-08-05
    Default branch
    main
    View the original SKILL.md

    Dev Story

    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 it
    

    After all sprint stories are done: run /team-qa sprint to execute the full QA cycle and get a sign-off verdict before advancing the project stage.

    Output: Source code + test file in the project's src/ and tests/ directories.


    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 the ADR path from the story's ADR Governing Implementation field, then check:

    FilePathIf missing
    TR registrydocs/architecture/tr-registry.yamlSTOP — "TR registry not found at docs/architecture/tr-registry.yaml. Run /architecture-review to bootstrap the registry from your GDDs and ADRs."
    Governing ADRpath from story's ADR fieldSTOP — "ADR file [path] not found. Run /architecture-decision to create it, or correct the filename in the story's ADR field."
    Control manifestdocs/architecture/control-manifest.mdWARN and continue — "Control manifest not found — layer rules cannot be checked. Run /create-control-manifest."

    If the TR registry or governing ADR is missing, set the story status to BLOCKED in the session state and do not spawn any programmer agent.

    Read all of the following simultaneously — these are independent reads. Do not start implementation until all context is loaded:

    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 in the story
    • Out of Scope boundaries
    • Test Evidence — the required test file path
    • Dependencies — what must be DONE before this story

    The TR registry

    Read docs/architecture/tr-registry.yaml. Look up the story's TR-ID. Read the current requirement text — this is the source of truth for what the GDD requires now. Do not rely on any inline text in the story file (may be stale).

    The governing ADR

    Read docs/architecture/[adr-file].md. Extract:

    • The full Decision section
    • The Implementation Guidelines section (this is what the programmer follows)
    • The Engine Compatibility section (post-cutoff APIs, known risks)
    • The ADR Dependencies section

    The control manifest

    Read docs/architecture/control-manifest.md. Extract the rules for this story's layer:

    • Required patterns
    • Forbidden patterns
    • Performance guardrails

    Check: does the story's embedded Manifest Version match the current manifest header date? If they differ, use AskUserQuestion before proceeding:

    • Prompt: "Story was written against manifest v[story-date]. Current manifest is v[current-date]. New rules may apply. How do you want to proceed?"
    • Options:
      • [A] Update story manifest version and implement with current rules (Recommended)
      • [B] Implement with old rules — I accept the risk of non-compliance
      • [C] Stop here — I want to review the manifest diff first

    If [A]: edit the story file's Manifest Version: field to the current manifest date before spawning the programmer. Then read the manifest carefully for new rules. If [B]: edit the story file's Manifest Version: field to the current manifest date AND add a Manifest-Note: Proceeded with old manifest rules on [date] — non-compliance risk accepted. line to the story header. Read the manifest for new rules anyway. Note the decision in the Phase 6 summary under "Deviations". /story-done will include the Manifest-Note in its deviations section without re-checking staleness. If [C]: stop. Do not spawn any agent. Let the user review and re-run /dev-story.

    Dependency validation

    After extracting the Dependencies list from the story file, validate each:

    1. Glob production/epics/**/*.md to find each dependency story file.
    2. Read its Status: field.
    3. If any dependency has Status other than Complete or Done:
      • Use AskUserQuestion:
        • Prompt: "Story '[current story]' depends on '[dependency title]' which is currently [status], not Complete. How do you want to proceed?"
        • Options:
          • [A] Proceed anyway — I accept the dependency risk
          • [B] Stop — I'll complete the dependency first
          • [C] The dependency is done but status wasn't updated — mark it Complete and continue
      • If [B]: set story status to BLOCKED in session state and stop. Do not spawn any programmer agent.
      • If [C]: ask "May I update [dependency path] Status to Complete?" before continuing.
      • If [A]: note in Phase 6 summary under "Deviations": "Implemented with incomplete dependency: [dependency title] — [status]."

    If a dependency file cannot be found: warn "Dependency story not found: [path]. Verify the path or create the story file."


    Engine reference

    Read .claude/docs/technical-preferences.md:

    • Engine: value — determines which programmer agents to use
    • Naming conventions (class names, file names, signal/event names)
    • Performance budgets (frame budget, memory ceiling)
    • Forbidden patterns

    Mark Story In Progress

    Silently update two things before spawning any agent:

    1. production/sprint-status.yaml (if it exists): find the entry matching this story's file path and set status: in_progress. Update the top-level updated field to today's date. If the file does not exist, skip silently.

    2. The story file itself: edit the Last Updated: field in the story header to today's date (format: YYYY-MM-DD). If the field does not exist in the story header, add it after the Status: line. This enables sprint-status staleness detection for this story.


    Phase 3: Route to the Right Programmer

    Based on the story's Layer, Type, and system name, determine which specialist to spawn via Task.

    Config/Data stories — skip agent spawning entirely: If the story's Type is Config/Data, no programmer agent or engine specialist is needed. Jump directly to Phase 4 (Config/Data note). The implementation is a data file edit — no routing table evaluation, no engine specialist.

    Primary agent routing table

    Story contextPrimary agent
    Foundation layer — any typeengine-programmer
    Any layer — Type: UIui-programmer
    Any layer — Type: Visual/Feelgameplay-programmer (implements)
    Core or Feature — gameplay mechanicsgameplay-programmer
    Core or Feature — AI behaviour, pathfindingai-programmer
    Core or Feature — networking, replicationnetwork-programmer
    Config/Data — no codeNo agent needed (see Phase 4 Config note)

    Engine specialist — always spawn as secondary for code stories

    Read the Engine Specialists section of .claude/docs/technical-preferences.md to get the configured primary specialist. Spawn them alongside the primary agent when the story involves engine-specific APIs, patterns, or the ADR has HIGH engine risk.

    EngineSpecialist agents available
    Godot 4godot-specialist, godot-gdscript-specialist, godot-shader-specialist
    Unityunity-specialist, unity-ui-specialist, unity-shader-specialist
    Unreal Engineunreal-specialist, ue-gas-specialist, ue-blueprint-specialist, ue-umg-specialist, ue-replication-specialist

    When engine risk is HIGH (from the ADR or VERSION.md): always spawn the engine specialist, even for non-engine-facing stories. High risk means the ADR records assumptions about post-cutoff engine APIs that need expert verification.


    Phase 4: Implement

    Spawn the chosen programmer agent(s) via Task with the full context package:

    Brief the agent with file paths and targeted reading instructions — do not serialize document content into the Task prompt. The agent reads what it needs directly:

    1. Story file: [story-path] — read in full
    2. GDD requirement: look up TR-ID [TR-XXX-NNN] in docs/architecture/tr-registry.yaml — use the requirement field as source of truth
    3. ADR: docs/architecture/[adr-file].md — read the Decision and Implementation Guidelines sections only
    4. Control manifest: docs/architecture/control-manifest.md — read rules for the [layer] layer only
    5. Engine preferences: .claude/docs/technical-preferences.md — read naming conventions and performance budgets
    6. Test file path: [path from story's Test Evidence section] — this file must be created as part of implementation
    7. Test requirement (Logic and Integration stories only): The test file MUST be created at [path from the story's Test Evidence section]. Write the test alongside the implementation — do not defer it. The story cannot be closed via /story-done without this file present. Each acceptance criterion must have at least one test function covering it. Test file naming: [system]_[feature]_test.[ext]. Function naming: test_[scenario]_[expected_outcome]. No random seeds, no time-dependent assertions, no external I/O.
    8. Explicit instruction: implement this story following the ADR guidelines, respect the manifest rules, stay within the story's Out of Scope boundaries. Write clean, doc-commented public APIs.

    The agent should:

    • Create or modify files in src/ following the ADR guidelines
    • Respect all Required and Forbidden patterns from the control manifest
    • Stay within the story's Out of Scope boundaries (do not touch unrelated files)
    • Write clean, doc-commented public APIs

    Config/Data stories (no agent needed)

    For Type: Config/Data stories, no programmer agent is required. The implementation is editing a data file. Read the story's acceptance criteria and make the specified changes to the data file directly. Note which values were changed and what they changed from/to.

    Visual/Feel stories

    Spawn gameplay-programmer to implement the code/animation calls. Note that Visual/Feel acceptance criteria cannot be auto-verified — the "does it feel right?" check happens in /story-done via manual confirmation.


    Phase 5: Test Evidence Requirements

    The test requirement was included in the Phase 4 programmer agent brief (item 7). This phase summarizes what evidence each story type requires — used when collecting the Phase 6 summary.

    Story TypeRequired EvidenceNotes
    LogicAutomated unit test at path from story's Test Evidence sectionBLOCKING — included in Phase 4 agent brief
    IntegrationIntegration test OR documented playtest recordBLOCKING — included in Phase 4 agent brief
    Visual/FeelEvidence doc at production/qa/evidence/[slug]-evidence.mdADVISORY — note in Phase 6 summary
    UIManual walkthrough doc or interaction testADVISORY — note in Phase 6 summary
    Config/DataNone — smoke check serves as evidenceN/A

    For Visual/Feel and UI stories, include in the Phase 6 summary: "Manual evidence required at production/qa/evidence/[slug]-evidence.md before this story can be fully closed."


    Phase 6: Collect and Summarise

    After the programmer agent(s) complete, collect:

    • Files created or modified (with paths)
    • Test file created (path and number of test functions written)
    • Any deviations from the story's Out of Scope boundary (flag these)
    • Any questions or blockers the agent surfaced
    • Any engine-specific risks the specialist flagged

    Present a concise implementation 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 story boundary]
    **Engine risks flagged**: [None] or [specialist finding]
    **Blockers**: [None] or [describe]
    
    **Before running `/story-done`:** run your test suite locally and confirm the tests you wrote pass. `/story-done` will re-run them automatically, but a failing test discovered there means returning to implementation context.
    
    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]
    

    Create active.md if it does not exist. Confirm: "Session state updated."


    Error Recovery Protocol

    If any spawned agent (via Task) returns BLOCKED, errors, or cannot complete:

    1. Surface immediately: Report "[AgentName]: BLOCKED — [reason]" to the user before continuing to dependent phases
    2. Assess dependencies: Check whether the blocked agent's output is required by subsequent phases. If yes, do not proceed past that dependency point without user input.
    3. Offer options via AskUserQuestion with choices:
      • Skip this agent and note the gap in the final report
      • Retry with narrower scope
      • Stop here and resolve the blocker first
    4. Always produce a partial report — output whatever was completed. Never discard work because one agent blocked.

    Common blockers:

    • Input file missing (story not found, GDD absent) → redirect to the skill that creates it
    • ADR status is Proposed → do not implement; run /architecture-decision first
    • Scope too large → split into two stories via /create-stories
    • Conflicting instructions between ADR and story → surface the conflict, do not guess
    • Manifest version mismatch → show diff to user, ask whether to proceed with old rules or update story first

    Collaborative Protocol

    • File writes are delegated — all source code, test files, and evidence docs are written by sub-agents spawned via Task. Each sub-agent enforces the "May I write to [path]?" protocol individually. This orchestrator does not write files directly.
    • Load before implementing — do not start coding until all context is loaded (story, TR-ID, ADR, manifest, engine prefs). Incomplete context produces code that drifts from design.
    • The ADR is the law — implementation must follow the ADR's Implementation Guidelines. If the guidelines conflict with what seems "better," flag it in the summary rather than silently deviating.
    • Stay in scope — the Out of Scope section is a contract. If implementing the story requires touching an out-of-scope file, stop and surface it: "Implementing [criterion] requires modifying [file], which is out of scope. Shall I proceed or create a separate story?"
    • Test is not optional for Logic/Integration — do not mark implementation complete without the test file existing
    • Visual/Feel criteria are deferred, not skipped — mark them as DEFERRED in the summary; they will be manually verified in /story-done
    • Ask before large structural decisions — if the story requires an architectural pattern not covered by the ADR, surface it before implementing: "The ADR doesn't specify how to handle [case]. My plan is [X]. Proceed?"

    Recommended Next Steps

    • Run /code-review [file1] [file2] to review the implementation before closing the story
    • Run /story-done [story-path] to verify acceptance criteria and mark the story complete
    • After all sprint stories are done: run /team-qa sprint for the full QA cycle before advancing the project stage

    Alternatives

    Compare before choosing

    Computed 10043,034

    coreyhaines31/marketingskills

    ab-testing

    When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program

    Computed 100165

    JasonColapietro/suede-creator-skills

    suede-ab-testing

    Suede-owned experimentation discipline for hypotheses, sample sizing, test duration, significance, and repeatable experiment programs. Use when comparing variants, deciding whether a result is reliable, or building an experiment backlog and cadence. NOT FOR: analytics instrumentation (use suede-analytics), post-click conversion diagnosis (use suede-site-alchemy), or writing the variant copy itself (use suede-copy).

    Computed 1007

    narrative-io/narrative-skills-marketplace

    design-analysis

    Translate a fuzzy analytical question into a rigorous investigation plan. Interrogates the ask, grounds the plan in the available data dictionary, applies analytical best practices, and produces a structured brief of query specifications for a downstream query-writing skill. Plans, does not write SQL. Use when: "why did X drop", "is there a relationship between A and B", "who are our highest-value customers", "what's driving the change in Y", "investigate this trend", "design an analysis for", "

    Computed 97237,773

    affaan-m/ECC

    hexagonal-architecture

    Design, implement, and refactor Ports & Adapters systems with clear domain boundaries, dependency inversion, and testable use-case orchestration across TypeScript, Java, Kotlin, and Go services.