Use after /shipit-kit:research to create implementation plan and task breakdown. Triggers include "plan", "implementation plan", "break down tasks", "create tasks", or explicit /shipit-kit:plan invocation. Part of the ShipIT autonomous SDLC platform — https://github.com/jrmatherly/shipit
Generate a detailed implementation plan with architecture overview and task breakdown.
Full workflow guide: docs/development/spec-driven-workflow.md
specs/NNN-feature-name/spec.yamlspecs/NNN-feature-name/research.yamlfeat/NNN-feature-nameBefore starting planning, verify:
research.yaml and check the openQuestions fieldresolved: false: STOP and inform user:
Cannot proceed with planning. Open questions in research.yaml must be resolved first. Please complete research or mark questions as resolved.
resolved: true or the openQuestions array is emptyRead both YAML source files to understand:
spec.yaml)research.yaml)Create high-level architecture:
CRITICAL: Plans MUST follow Test-Driven Development (TDD) with RED-GREEN-REFACTOR cycles.
Break implementation into phases following TDD:
For each phase, list:
MANDATORY: Define what tests to write FIRST in each TDD cycle.
For each layer, specify tests to write BEFORE implementation:
Each TDD phase MUST follow:
Convert phases into actionable tasks:
Write structured YAML source files (the source of truth):
specs/NNN-feature-name/plan.yaml - Architecture and strategyspecs/NNN-feature-name/tasks.yaml - Detailed task listNO DUPLICATION between files:
content: Architecture overview, implementation strategy walkthrough,
file tables, testing strategy, risks. NO task-by-task listing (that's in tasks.yaml).content: Brief summary (scope + counts) and acceptance checklist ONLY.
Individual task details live exclusively in the tasks[] structured array.tasks[]: The single source of truth for all task details (title,
description, TDD cycles, acceptance criteria, dependencies, effort).CRITICAL: Update status in YAML source files AND feature.yaml:
Update the status field in each YAML source file:
spec.yaml → set status.phase: planning (was research)research.yaml → set status.phase: planning (was research)plan.yaml → set status.phase: planning, status.updatedAt: <today's date>tasks.yaml → set status.phase: implementation, status.updatedAt: <today's date>Update feature.yaml:
# specs/NNN-feature-name/feature.yaml