Standard Workflow
- Think through the problem, read the relevant files, and write a plan to
specs/[timestamp] [feature-name].mdwhere[timestamp]is inYYYYMMDDThhmmssformat. - Include a checklist of implementation tasks that can be checked off as work lands.
- Execute autonomously in small checkpoints. Pause for user input only when the plan has competing product or architecture choices, unresolved requirements, destructive actions, or broad scope risk.
- For non-trivial changes with multiple plausible approaches, 3+ files, or architecture shifts, present competing options with before/after diffs and ASCII diagrams before implementing. See change-proposal.
- Mark checklist items complete as you go and keep progress notes high level: changed, verified, remaining, blocked.
- Keep every task and code change as small as possible. Avoid unrelated cleanup and broad refactors.
- Before final handoff, run
post-implementation-reviewagainst the touched files. Use it to catch stale abstractions, dead paths, invariant drift, naming issues, and missing verification. - Add a review section to the spec with a summary of changes, review findings, verification, and relevant follow-up work.
When to Apply This Skill
Use this pattern when you need to:
- Start a non-trivial feature with a timestamped planning spec in
specs/. - Build a checklist-driven implementation plan before writing code.
- Execute work in small, simple checkpoints with high-level progress updates.
- Pause only for unresolved product choices, architecture choices, destructive actions, or broad scope risk.
- Run a post-implementation review before handing work back.
- Close work by adding a review summary to the spec.
Spec Placement
All specs live in the root /specs/ directory. Do not create nested specs in apps/ or packages/.