| description | Plan mode rules — workflow, required structure, writing style, and scope discipline |
|---|
- When a skill/slash-command requires write operations (git, filesystem, migrations), do not enter plan mode. Execute directly.
- Only produce a plan if the change spans multiple files or has unclear requirements; for simple fixes (missing dep, typo, small edit), apply the change directly.
- Create — Place plans in
docs/plans/(or the configuredplansDirectory) using averb-targetkebab-case filename. Examples:add-dark-mode-toggle,fix-login-redirect,refactor-auth-module. - Frontmatter — Always add YAML frontmatter at the top of every new plan file:
status: todo,type: <feature|fix|refactor|docs|chore>,created: YYYY-MM-DD. - Rename — Always update the filename when the plan's purpose shifts; re-evaluate before committing. A stale filename is a plan defect — do not commit until the name matches the content.
- Commit — Always commit plan files to version control alongside the related changes.
- Status — Always update
status(andmodified: YYYY-MM-DD) in the frontmatter as the plan progresses:todo→in-progress→completed. Use/plan-statusto automate this.
Every plan must include the following sections:
context— Background and motivation; why this work is needed.objective— One or two sentences summarising the goal.steps— A numbered list where each item has three parts: the action, a brief why, and a verify line stating how to confirm that step succeeded before moving on.- Per-step verification is local (did this step do what it should?); the top-level
verificationsection covers end-to-end correctness.
- Per-step verification is local (did this step do what it should?); the top-level
verification— How to confirm the entire plan was executed correctly end-to-end.next-steps(optional) — Out-of-scope follow-ups and unsolicited ideas, one line each; never place these insteps.unresolved-questions(optional) — Open questions needing user input; omit entirely if none.
Direct, imperative, developer-friendly — real names (file paths, function names, CLI flags), lists over prose, one idea per item, explicitly scoped. Plan only what was requested; unsolicited ideas go in next-steps.
Copy docs/plans/SKELETON.md as a starter for every new plan.