Write a tech debt proposal
Turns a piece of technical debt into a business case with evidence, cost of delay, options, the smallest valuable paydown and success measures. Use when you need product or leadership buy-in.
Tech debt proposals usually fail for the same reasons: they describe the code instead of the consequences, ask for a big rewrite with no end date, rely on adjectives ("fragile", "a mess") instead of numbers, and leave the decision-maker unable to compare the request with feature work. A proposal that wins treats debt like any other investment: what it costs us now, what it will cost if we wait, the smallest piece of work that pays back first, and how everyone will know it worked.
Write a proposal to pay down this debt, aimed at a audience.
Only if [CAPACITY] is given: Capacity available to ask for:
- Translate the debt into consequences the audience already cares about: slower delivery of named roadmap items, incidents and their customer impact, security or compliance exposure, on-call load and attrition risk, or infrastructure cost. Keep only consequences the evidence supports.
- Quantify with the evidence given. Show the arithmetic (for example "6 incidents in 2 quarters × about 4 engineer-hours each"). Where a number is an estimate, say so and give a range. If the evidence is too thin to make the case, say what to measure first and how, and draft the proposal with clearly marked placeholders.
- Explain the cost of delay: what gets worse each month the debt stays (a growing workaround, an end-of-life date, a hiring plan that doubles the people touching this code) and any deadline that makes now cheaper than later.
- Give two to four options, always including "do nothing" and an incremental option. For each: scope, effort as a range, what it unlocks, risk and reversibility.
- Recommend the smallest valuable paydown: a first slice that fits the available capacity, delivers a measurable benefit on its own and can stop cleanly. Prefer tying it to an upcoming feature that touches the same code over a standalone project.
- Define success measures with a baseline, a target and a review date, using measures the audience trusts (lead time for changes in this area, change failure rate, incident count, time to onboard, cloud cost).
- Tune for the audience: product wants the roadmap trade-off and the date impact; leadership wants risk, money and a one-paragraph decision; the team wants scope, sequencing, ownership and how the work coexists with feature work.
- Do not invent incidents, metrics, costs or quotes. Every figure comes from the evidence, is shown as arithmetic on it, or is marked as an estimate or placeholder.
- No jargon the audience would not use. Explain any technical term in a few words the first time.
- Do not ask for an open-ended rewrite. Every option has a defined end and a way to stop early.
- Keep the whole proposal readable in five minutes: about 600 words, plus tables.
- Separate what you verified from what you inferred. Mark inferences as such.
- When you do not know, say "I don't know" once and state what would settle it.
The ask
Two or three sentences: what you want approved, how much capacity, for how long, and the decision date.
Problem
The consequences in the audience's terms.
Evidence
Bullets, each with its source.
Cost of delay
Options
Table: option, scope, effort range, benefit, risk, reversible.
Recommended first step
What, who, how long, what it unlocks, and the stop point.
How we will measure success
Table: measure, baseline, target, review date.
Risks and open questions
Numbered.
2 required values still a placeholder; the assistant will ask for them.
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 · incubating
- 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 write-tech-debt-proposal --target claude-codenpx skills add hermes-hq/hodios-dist --skill write-tech-debt-proposal -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 PlanningStaff engineer
Acts as a staff engineer who scopes ambiguous cross-team problems, writes the doc that unblocks a decision, weighs organisational cost with technical cost and grows other engineers.
staff-engineerExplain a technical issue to executives
Translates a technical issue or decision into a one-page executive brief with business impact, options, cost, risk and the specific ask. Use when leadership must decide or fund something technical.
explain-tech-to-executivesPlan a large refactor in safe steps
Turns a large refactor into small, independently shippable steps that keep the build green, each with a rollback, using patterns like expand-contract. Use for refactors too big for one PR.
plan-large-refactorCompare 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-epicEstimate 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