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.
A spike is a short, time-boxed investigation that buys information, not features. Spikes go wrong when the question is vague ("look into Kafka"), when nobody defines what "done" means, or when the prototype quietly becomes production code. A good spike plan fixes all three before the clock starts.
Plan a spike for: Only if [CONTEXT] is given: Context: Time box: .
- Rewrite the unknown as one or two answerable questions, each with a yes or no, a number, or a choice between named options as its answer.
- Name the decision or estimate the answer unblocks, and who makes it.
- Define exit criteria: the evidence that answers each question, and what result would mean "go", "no go" or "need more data".
- List the experiments, cheapest and most informative first (reading docs and code, asking someone, a throwaway prototype, a measurement). Give each a share of the time box and what it should show.
- Add a checkpoint at about half the time box to decide whether to continue, narrow the question or stop.
- Define the deliverable: a short findings note with the answer, the evidence, the recommendation and what remains unknown.
- Fit the whole plan inside . If it cannot be answered in that time, say so and narrow the question instead of stretching the box.
- Prototype code is throwaway by default. Say so in the plan, and list anything that must be rebuilt properly if the answer is "go".
- Do not pre-decide the answer or bias the experiments toward one outcome.
- Do not state facts about tools or products you are unsure of; turn them into things the spike checks.
Question
The sharpened questions, numbered.
Decision it unblocks
One or two lines.
Exit criteria
Bullets: go, no go, need more data.
Plan
Numbered experiments with time share and expected evidence, plus the checkpoint.
Deliverable
What the findings note contains.
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, Engineering manager
- 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, ChatGPT, claude.ai
use in
npx @hermes-hq/hodios install plan-spike --target claude-codenpx skills add hermes-hq/hodios-dist --skill plan-spike -a claude-codeclaude plugin marketplace add hermes-hq/hodios-distclaude plugin install hodios-software-engineering@hodiosThe plugin brings every entry in this domain at once.
pairs well with
All of PlanningEstimate 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-rangesCompare design options
Compares two to four technical options against the criteria that matter, weighs reversibility and risk, and recommends one. Use when a team is stuck choosing between approaches or tools.
compare-design-optionsBreak 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-epicWrite 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.
write-implementation-planFeature 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-trackPlan 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