plan-writing

plan-writing is a skill for Claude Code, Codex from dirtybits/agent-skills. It costs 88 tokens per session (1,093 once invoked), scanned A, original, MIT.

A guide for writing implementation plans in .plan.md files, using structured metadata, actionable tasks, verification steps, and rollback notes. These files give another developer or coding agent enough detail to carry out the work.

In plain words
What is it for?
Use it to create, split, review, or update plans for repository changes, including exact files, commands, acceptance checks, rollout details, and rollback procedures.
Why use it?
It turns broad requests into a shared, checkable plan and exposes missing scope, assumptions, blockers, and safety steps before implementation begins.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/dirtybits/agent-skills/plan-writing
Any agent
npx skills add dirtybits/agent-skills --skill plan-writing
Clone the repo
git clone --depth 1 https://github.com/dirtybits/agent-skills

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for plan-writing

README.md
[![agentmods](https://agentmods.dev/badge/skills/dirtybits/agent-skills/plan-writing.svg)](https://agentmods.dev/skills/dirtybits/agent-skills/plan-writing)
Your own site
<a href="https://agentmods.dev/skills/dirtybits/agent-skills/plan-writing"><img src="https://agentmods.dev/badge/skills/dirtybits/agent-skills/plan-writing.svg" alt="Measured on agentmods" height="20"></a>
Per session 88 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,093 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00088 $0.01093
Opus 5 $0.00044 $0.00547
Sonnet 5 $0.00018 $0.00219
Haiku 4.5 $0.00009 $0.00109

Measured 4d ago against content hash 950289283675, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

plan-writing scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/plan-writing/SKILL.md · 101 lines

How it starts

The opening of the file, as written. The whole thing — 101 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Plan Writing

Instructions

When writing or reviewing a plan file:

  1. Use the .plan.md extension.
  2. When the user does not specify a location, default to <repo>/.agents/plans/; if the repo already has an established plans directory such as .cursor/plans/, follow that local convention.
  3. Start with YAML frontmatter containing name, overview, todos, and isProject.
  4. Make todos a short execution checklist with stable lowercase hyphenated id values, concrete content, and status: pending.
  5. After frontmatter, write the plan body in Markdown.
  6. Include enough repo-specific detail that another agent can implement without guessing.
  7. Separate implementation steps from validation, rollout, and rollback when the work has operational risk.
  8. Prefer exact files, commands, config keys, target hosts, acceptance criteria, and blockers over broad intent.
  9. Do not hide open questions. Add an assumptions or blockers section when requirements are uncertain.
  10. Date design decisions and verified claims (e.g. "verified 2026-06-09"), so a later session knows how stale they might be.

Executing a Plan

A plan file is shared state across sessions and agents: a resumed or parallel session decides what to do next by reading the todo statuses. Stale statuses cause redone or skipped work, so maintain them as part of the implementation itself, not as cleanup afterward.

  • Statuses are pending, in_progress, and completed.
  • Set a todo to in_progress when starting it, and to completed as soon as its work is done and verified — not in a batch at the end of the session. If the session dies mid-plan, the file should still show exactly where things stood.
  • Only mark completed when the step truly finished, including its verification. A step that ended in failing tests or partial work stays in_progress.
  • If a step turns out to be unnecessary or is superseded, do not leave it pending forever and do not silently delete it — mark it completed with a brief note appended to its content (e.g. "— superseded by X"), so the record stays honest.
  • When implementation diverges from the plan body (a design changes, an edge case forces a different approach), update the body with a short dated note at the point of divergence. The plan should describe what was actually built; a plan that lies is worse than no plan.
  • When the last todo completes, give the body a final pass: blockers that materialized, follow-ups discovered during implementation, and anything the next reader needs.

Read the full file on GitHub · 101 lines

Files

What ships with it

2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 101 lines · 88 tokens per session scan A 950289283675

Subscribe to this mod's changes

plan-writing is a skill published in the GitHub repository dirtybits/agent-skills (2 stars, last pushed 1mo ago), licensed MIT. It adds 88 tokens to every session and 1,093 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

next

One-step rpm orchestrator, or a bounded internal sequence when given a count or scope. Runs preflight maintenance, then starts the next obvious backlog action (or, in direct use, asks for clarification when nothing is clearly next). With no argument it runs one step; with N, blocked, all, or a group name it runs…

dppdppd/rpm · 239 tokens

research

Exhaustive multi-agent research on any topic. Parallel search, URL fetching, gap analysis, adversarial validation, citation check. TRIGGER whenever the user asks for research, investigation, or an external look-up — phrasings like 'research X', 'look into X', 'investigate X', 'find out about X', 'what's the latest on…

dppdppd/rpm · 108 tokens

init-rpm

Project setup and verification. First run creates rpm context for a project. Repeat runs verify that an existing rpm setup matches the latest expected layout and apply safe migrations.

dppdppd/rpm · 48 tokens

audit

On-demand audit. Target quick runs the mechanical scan.sh only (zero-LLM drift check). Target documents scans docs + agent instructions + memory + session drift via the rpm:auditor review agent. Target project runs a full consultant review — code, architecture, inward + outward research, 7-dimension analysis, saved…

dppdppd/rpm · 98 tokens

backlog

Manage the rpm backlog (long-term project tasks in docs/rpm/future/tasks.org — distinct from Claude's native TaskCreate list, which is session-scoped). Add, list, review, postpone, or complete entries. TRIGGER on natural-language backlog operations — phrasings like "backlog X", "add X to backlog", "add to backlog"…

dppdppd/rpm · 156 tokens

rpm

Explain the rpm plugin and list its commands. Use when the user asks what rpm is, how /rpm works, which rpm commands are available, or needs an overview of the session-lifecycle / audit / research surface.

dppdppd/rpm · 46 tokens