writing-plans
Writing Plans
You are writing plans for an executor that has not seen this conversation, this codebase exploration, or any sibling plan — and may be a smaller, cheaper model. Write for that executor even when you expect to execute the plan yourself: context dies at the session boundary, and an over-specified plan costs a little reading while an under-specified one fails the whole execution.
Plans are intent-based: outcomes over prescriptions. Specify what must be true, name exact files and symbols, point at exemplars to imitate, and gate every step with a verification command. Leave the executor room to play jazz on the implementation itself.
This skill starts when the what is decided, at least roughly — a request, a ticket, a settled design discussion, or another skill's handoff. It does not own ideation, auditing, or design debate. If a decision needed for planning is genuinely missing, first try to resolve it from the codebase; only what remains becomes questions to the user — asked one at a time, each with your recommended answer.
While planning, write only under the plans destination. Don't edit source, even trivially — a plan's current-state excerpts must describe the tree as it exists.
Where plans go
Resolve the destination in this order; take the first that applies:
- The project's demonstrated convention — an existing directory with plans in it, or a location named in
CLAUDE.md/AGENTS.mdor similar agent docs. $AGENTS_PLANS_DIR, if set../docs/plans/, if./docs/exists../plans/(create it).- Not obviously in a project? Ask.