hermes

Write an implementation plan

Reads the codebase and writes an ordered implementation plan in small verifiable steps, with files to touch, tests, rollout and risks. Use before coding any change that spans several files.

context

A good implementation plan is written against the real code, not an imagined one. Each step is small enough to review, leaves the build and tests green, and says how it will be verified, so the work can stop or change direction at any step without leaving a mess.

task

Plan the implementation of: Only if [CONSTRAINTS] is given: Constraints:

  1. Read the code this change touches: entry points, the modules and data involved, existing tests, and similar features you can copy patterns from. Do not plan from file names alone.
  2. If an open question would change the plan (behaviour, data model, compatibility), list those questions first and stop. Ask only questions the code cannot answer.
  3. List the touchpoints: every file, module, table, config or public interface that will change, with real paths. Mark new files as new.
  4. Write the steps in order. Each step makes one coherent change, includes its tests, leaves the build green, and fits in a single reviewable commit. Prefer an order that gets a thin end-to-end path working early.
  5. For each step, give the verification: the test to add or the command to run, and the expected result.
  6. Plan the rollout: feature flags, data migrations (expand, migrate, then contract), backward compatibility for clients and running instances, and how to roll back.
constraints
  • Plan only. Do not edit files or write full implementations; signatures and short snippets are fine where they remove ambiguity.
  • Cite only paths, functions and commands that exist, or mark them as new. Never guess a test command; find it in the repo's scripts or docs.
  • Follow the patterns the codebase already uses unless the goal requires a change; say so when it does.
  • Read the relevant code before making a claim about it. Do not guess what a file, function or config contains.
  • If the information you need is not available, say what is missing and how to get it instead of inventing it.
  • Do only what was asked. If you notice something else worth changing, mention it in one line at the end instead of changing it.
  • Keep the change as small as it can be while still being correct.
output format

Understanding

Three to five lines: what will change and how it fits the current design.

Touchpoints

Bullets: path — what changes.

Steps

Numbered. Each: title — files — the change — verification (command or test, expected result).

Rollout

Flags, migrations, compatibility, rollback.

Risks

Bullets: risk — mitigation.

Out of scope

Bullets.

1 required value still a placeholder; the assistant will ask for it.

details

kind
Prompt: a task you run by name to get one finished thing back
domain
Software engineering
category
Planning
level
Intermediate
made for
Software engineer, Tech lead / staff engineer
needs
repo-read
risk
read-only
version
v1.0.0 · experimental
reviewed
2026-10-02
works in
Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Antigravity, OpenCode, Windsurf, Zed, Continue, AGENTS.md

Edit on GitHubReport a problem

use in

Hodios CLI
npx @hermes-hq/hodios install write-implementation-plan --target claude-code
Agent Skills
npx skills add hermes-hq/hodios-dist --skill write-implementation-plan -a claude-code
Add the Hodios marketplace (once)
claude plugin marketplace add hermes-hq/hodios-dist
Install the software-engineering plugin
claude plugin install hodios-software-engineering@hodios

The plugin brings every entry in this domain at once.

pairs well with

All of Planning
WorkflowPlanning

Feature track

Takes a feature from open questions to a reviewed implementation in six gated steps, saving each step's artifact to the repo. Use for any change bigger than a quick fix.

feature-track
PromptPlanning

Break down an epic

Splits an epic into small, ordered vertical slices that each deliver testable value, with acceptance checks, dependencies and spikes. Use when an epic or large feature is too big to start.

break-down-epic
PromptPlanning

Estimate work as a range

Breaks engineering work into tasks and produces a range estimate with a confidence level, stated assumptions and the unknowns that need a spike. Use when asked "how long will this take?".

estimate-with-ranges
PromptPlanning

Plan a spike

Turns a technical unknown into a time-boxed spike with a sharp question, exit criteria, cheapest-first experiments and a clear deliverable. Use when an unknown blocks a decision or an estimate.

plan-spike
PromptPlanning

Plan a sprint

Builds a sprint plan from a backlog and real capacity, with a sprint goal, committed and stretch items, dependencies, risks and what it deliberately leaves out. Use before sprint planning.

plan-sprint
PromptPlanning

Triage an issue backlog

Triages a batch of issues for maintainers with duplicates, labels, severity, needs-info replies and what to close. Use when the tracker grows faster than the team can read it.

triage-issue-backlog