agentleFS
h3y6eh3y6e/spec-skills/skills/spec-plan/SKILL.md

spec-plan

Skill0 starsChanged 9 months agoMITView on GitHub

Create or update specs/{feature}/plan.md by turning an approved spec into one execution-ready document with key technical decisions, phased tasks, IDs (T001...), parallel candidates (P), story linkage, TDD-oriented bite-sized steps, and Definition of Done per phase. Use this skill whenever someone wants to translate a spec into concrete implementation work without maintaining a separate execution-design file, create a structured task checklist for a feature, add DoD to task phases, or create/update plan.md. This follows spec-specify and precedes spec-implement in the spec-driven workflow. Don't use for general to-do lists or project management outside the spec workflow.

12 other projects use a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

26 rules. 0 are common, 15 are distinctive, and 11 are very specific to this project.

  • 0

    Common

    Most of the 10 edited versions we read keep these.

  • 15

    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:

    Core principle: Write plans assuming the engineer has zero codebase context.

    line 14
  2. Very specific:

    Create or update specs/{feature}/plan.md as the execution source of truth, including technical context, key decisions, phased tasks, and …

    line 16
  3. Very specific:

    Read spec.md, extract frontmatter dependencies, user stories, and constraints, and confirm spec approval state.

    line 31
  4. Very specific:

    Read listed dependencies before planning.

    line 33
  5. Very specific:

    Create the plan from references/plan-template.md.

    line 34
  6. Very specific:

    When uncertainty could change the spec or plan structure, delegate to spec-research instead of investigating inline

    line 40
  7. Distinctive:

    Prefer smaller, focused files over large ones that do too much.

    line 43
  8. Very specific:

    Use (P) for parallel candidates

    line 50
  9. Very specific:

    Use [USn] for story linkage

    line 51
  10. Distinctive:

    When testing is required, make the expected test change, verification command, and expected outcome explicit instead of assuming the …

    line 53
  11. Distinctive:

    Every task must contain the concrete content needed to execute it.

    line 54
  12. Distinctive:

    Do not defer critical details behind vague instructions such as "Add appropriate error handling" or "Write tests for the above".

    line 55
  13. Distinctive:

    Add a requirement coverage map.

    line 56
  14. Distinctive:

    If a requirement has no task or DoD coverage, add the missing task or run backflow

    line 58
  15. Very specific:

    Add DoD under each phase.

    line 59
  16. Distinctive:

    Write DoD as proof that the phase itself is complete

    line 61
  17. Distinctive:

    Place high-uncertainty discovery work before irreversible implementation tasks

    line 63
  18. Distinctive:

    Run backflow if requirement gaps or contradictions are discovered.

    line 65
  19. Distinctive:

    Verify every story, requirement, and success criterion has task or DoD coverage

    line 73
  20. Distinctive:

    Search for placeholders and vague work instructions

    line 74
  21. Distinctive:

    Check that paths, task IDs, commands, and expected outputs are internally consistent

    line 75
  22. Very specific:

    If requirement changes are needed: spec-specify

    line 81
  23. Very specific:

    If technical investigation is needed: spec-research

    line 82
  24. Distinctive:

    Every story, requirement, and success criterion has explicit task or DoD coverage.

    line 88
  25. Distinctive:

    Every task contains concrete code, commands, and expected output — no placeholders.

    line 91
  26. Very specific:

    If technical investigation is needed before proceeding: spec-research

    line 99

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

Plan Skill

Purpose

Core principle: Write plans assuming the engineer has zero codebase context. Document everything they need: which files, what code, how to test, how to verify. No guessing.

Create or update specs/{feature}/plan.md as the execution source of truth, including technical context, key decisions, phased tasks, and completion conditions.

Input

  • Existing specs/constitution.md when present
  • specs/{feature}/spec.md

Output

  • specs/{feature}/plan.md
  • specs/{feature}/spec.md when backflow is required

Steps

  1. Resolve language and shared rules from specs/constitution.md when present; otherwise infer from the available workflow documents and the user's own message. Ask only if still unclear, then conduct all subsequent interaction in this language.
  2. Read spec.md, extract frontmatter dependencies, user stories, and constraints, and confirm spec approval state.
    • Require spec.md to be approved before generating the execution plan
    • Read listed dependencies before planning; use them to resolve scope, sequencing, or validation constraints
  3. Create the plan from references/plan-template.md.
    • Summary
    • Execution Context
    • Key Decisions
    • Requirement Coverage
    • Phases: Setup, Foundational, User Story (P1, P2, ...), Polish
    • When uncertainty could change the spec or plan structure, delegate to spec-research instead of investigating inline
  4. Map out the file structure before defining tasks.
    • List which files will be created or modified and what each one is responsible for
    • Prefer smaller, focused files over large ones that do too much; files that change together should live together
    • In existing codebases, follow established patterns; if a file has grown unwieldy, include a split in the plan
  5. Capture only execution-facing detail that must stay aligned during implementation.
    • Record technical context, constraints, validation strategy, and key decisions here instead of splitting them into another document
    • Reference the spec for user-facing intent rather than repeating full story prose
  6. Standardize the task format.
    • - [ ] Txxx ...
    • Use (P) for parallel candidates
    • Use [USn] for story linkage
    • Assume the implementer is skilled but has little codebase or domain context; each task should be a single action that can be completed quickly and independently
    • When testing is required, make the expected test change, verification command, and expected outcome explicit instead of assuming the implementer will fill them in
    • Every task must contain the concrete content needed to execute it; do not use placeholders such as "TBD", "TODO", "implement later", "fill in details", or references like "Similar to Task N"
    • Do not defer critical details behind vague instructions such as "Add appropriate error handling" or "Write tests for the above"; spell out the required work directly
  7. Add a requirement coverage map.
    • Map each user story, functional requirement, and success criterion to task IDs or phase DoD
    • If a requirement has no task or DoD coverage, add the missing task or run backflow
  8. Add DoD under each phase.
    • Include checks for testing, observability, and rollback readiness
    • Write DoD as proof that the phase itself is complete
  9. Express execution dependencies through phase order and task descriptions.
    • Place high-uncertainty discovery work before irreversible implementation tasks
    • Preserve spec-to-spec prerequisites in spec.md frontmatter dependencies
  10. Run backflow if requirement gaps or contradictions are discovered.
    • Update spec.md
    • Reset spec.md status to draft
  11. Update frontmatter.
    • Required keys: status, summary
    • Initial status: draft
    • Set status: approved when the plan is ready for implementation
  12. Perform final review and keep the file within 150 lines.
    • Verify every story, requirement, and success criterion has task or DoD coverage
    • Search for placeholders and vague work instructions
    • Check that paths, task IDs, commands, and expected outputs are internally consistent
    • Remove repetition
    • Simplify wording
    • Resolve contradictions
  13. In the completion message, suggest the next step.
    • After approval: spec-implement
    • If requirement changes are needed: spec-specify
    • If technical investigation is needed: spec-research

Success Criteria

  • The plan combines execution design and delivery sequencing without requiring another execution document.
  • The plan supports independent delivery by story.
  • Every story, requirement, and success criterion has explicit task or DoD coverage.
  • Each phase has a clear DoD.
  • (P) marks valid parallel work.
  • Every task contains concrete code, commands, and expected output — no placeholders.
  • High-uncertainty work is front-loaded as spike or research tasks when needed.
  • Spec frontmatter dependencies are considered before tasking.
  • Backflow handling is explicit.

Completion Guidance

  • Next recommended step: spec-implement
  • If technical investigation is needed before proceeding: spec-research
  • Include the target feature and generated plan.md path in the response

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.