project-create-plan

Write the end-to-end plan of a project from its design docs

SKILL.md

GitHub

Goal

  • Given the PRD and design docs, write docs/04-plan.md: what to build, in which order, as versions and PRs
  • Do not implement code and do not create GitHub issues

Input

  • <DESIGN>: the design overview, e.g., docs/02-design.architecture.md
  • <DOCS_DIR>: the docs/ dir of the project, optional
    • If missing, use the dir of <DESIGN>

Workflow

Read the Inputs

  • Read <DESIGN>, the other 02*-design.*.md files, and <DOCS_DIR>/01-prd.md
  • If <DOCS_DIR>/04-plan.md exists, extend it instead of replacing it

Ask If the Design Is Unclear

  • If the scope or the order of the work is not perfectly clear:
    • Do not write the plan
    • Ask the user for clarification
    • Wait for the answers

Split Into Versions

  • Split the work into versions. Each version must run and be demoable
  • Order versions so that each needs only the versions before it
  • Put components and their open questions in "Component Specs"

Write the PR Entries

  • Write the PR entries of the next version in detail
  • Keep later versions as a few bullets
  • Name PRs PR_<component letter><number>. Never reuse an id, per .claude/skills/project.rules.md section "Name the PRs"
  • Mark each PR that needs a spec. It gets one later with .claude/skills/auto_task.create_plan_for_feature/SKILL.md
  • Order PRs by dependency first, then by increasing complexity

Write the Plan File

  • Create <DOCS_DIR>/04-plan.md
  • Follow .claude/skills/project.rules.md section "Plan File"
  • Follow the template .claude/templates/project_plan.template.md
  • Follow .claude/skills/markdown.rules.md and .claude/skills/text.rules.md when writing text
  • Add the execution part only if the user says several people work in parallel
  • If <DOCS_DIR>/07-progress.md does not exist, create it from .claude/templates/project_progress.template.md

Update the Index

  • Add a row for each new doc to <DOCS_DIR>/README.md, if the file exists

Conventions

  • Follow .claude/skills/project.rules.md for project docs
  • Follow .claude/skills/markdown.rules.md and .claude/skills/text.rules.md
  • Say in each file you create how it was generated, with this line right after the title:
    - Generated by `.claude/skills/project.create_plan/SKILL.md`
    

Constraints

  • Do not implement any code
  • Do not create GitHub issues. They are filed only for the next version, when the work starts
  • Do not copy content from the PRD or the design docs. Point to it
  • Do not commit any change

Verification

  • Every version is a deliverable that a person can run or demo
  • Every PR has a stable id and a checkbox
  • Every PRD requirement is covered by at least one PR
  • Every requirement id in the plan is a link to its H3 in the PRD
  • No PR appears before a PR it depends on
  • Every open question is numbered
  • The next version has detailed PR entries
  • Each file you create says it was generated by .claude/skills/project.create_plan/SKILL.md