Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Produces product/roadmap.md — a deliberate sequence of intended value slices across capabilities, ordered by priority, dependency, and time-to-market. Use when establishing or revising the product's roadmap. Authored top-down from the strategy and capability map, never derived from existing changes. Advisory, not a gate. Refuses to run without an approved strategy and capability map.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 190% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 469% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 64% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 270% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 149% | 0% |
product-roadmap produces product/roadmap.md — the product's sequenced intent: which value slices the product should ship next, across which capabilities, in what order, and why. It is authored top-down from the strategy and the capability map. It is advisory — a roadmap item is the recommended starting point for a change, never a gate. It is product-level state, a sibling of vision.md and strategy.md, and it can be re-run to reconcile with a changed strategy or capability map.
Generic skill — hard-codes no path. Resolve the state-tree root from the project's CLAUDE.md (project-declared paths, DESIGN_PRODUCT_PIPELINE.md §2); default docs/, and say which you used. {state-root} is that root, so the roadmap lives at {state-root}/product/roadmap.md, the strategy at {state-root}/product/strategy.md, the vision at {state-root}/product/vision.md, and the capability map is the set of {state-root}/capabilities/{slug}/README.md.
Before producing a roadmap you MUST, in order:
product/strategy.md — it must exist and bestatus: approved (the strategy itself transitively requires an approved vision). Read the capability map — the set of capabilities/{slug}/README.md. If there is no approved strategy, or no capability map — STOP. The roadmap sequences value slices across capabilities to serve the strategy; without both it has nothing to sequence and no criterion to sequence by. Run product-strategy / capability-map first.
changes/ folders to assemble it.
Hard rules:
existing changes.
deadlines.
capability, it has not been broken down — break it into the slices that deliver value incrementally.
existential bet named by the strategy is sequenced first, ahead of ROI. A roadmap that ranks the bet-testing slice below feature slices, and flags it rather than fixing it, has the wrong sort key.
position and states why — including enabler-pairs and close calls. An ordering flag ("promote X if…", "this may be mis-ranked") handed to the human in place of a decision is a defect. Surfacing genuine findings (no why-link, missing capability, vision gap) is still required — that is not an ordering decision.
Hold the strategy and the capability map together and decide: what should this product ship next, and in what order. Each roadmap item is one value slice.
A roadmap item is a VALUE SLICE, not a capability. The single most common mistake is to make each item a whole capability and topologically sort them — that is the capability map with numbers on it, not a roadmap.
A value slice (DESIGN_PRODUCT_PIPELINE.md §5.2a) is the smallest coherent increment that delivers real user value — defined by the value it delivers, not the capability it belongs to. Therefore:
capability that delivers value before the full capability is built (e.g. a trade with just an entry and an exit price, before any reusable strategy engine exists);
a user can feel often cuts across two or three;
several slices over several items.
For every item you draft, apply this test: "Is this the thinnest thing that delivers user value — or have I just named a capability?" If it is a whole capability, break it down: find the minimal slice that delivers value first, make that the item, and let the rest of the capability follow as later items. Sequence the slices by value and dependency — earliest value first, by the shortest path, subject to what each slice genuinely depends on.
De-risk before you optimize. Sequencing is not a pure value-÷-effort sort.
The strategy (strategy.md) names the product's unproven bets and its time-to-market urgency. If the strategy identifies an unproven, existential bet — an assumption that, if false, invalidates the product — then the value slice that most cheaply TESTS that bet is sequenced FIRST, ahead of any ROI ranking. Its worth is not its feature value; it is information value: it tells you whether the product is real. ROI cannot see that, because ROI measures return on work, not return on knowledge.
The ordering, in priority order:
existential bet the strategy names — earliest, by ascending cost.
product's existence is being tested rather than assumed.
genuinely depends on.
A slice's value also includes ENABLING value. If a low-ROI slice is the enabler of a high-value slice, evaluate the pair together — do not let greedy ROI defer a high-value slice to the bottom of the roadmap merely because its enabler is expensive. Sequence the pair by the value it ultimately unlocks.
Self-check: if your draft order would make you write a flag that says "the most important slice is ranked low, promote it if value should drive order" — the ordering rule is wrong, not the order. Do not ship a flag in place of the correct sequence. Fix the order so the de-risking slice leads.
For each item, establish:
why-link (tracing to a vision goal viathe strategy);
Order the items by priority and dependency. An item that cannot be tied to a strategy goal is a finding — either the strategy is incomplete or the item should not be on the roadmap; surface it, do not invent a goal to cite.
Sequence for earliest shippable value. The strategy states the product's time-to-market urgency and why; the roadmap obeys it by ordering value slices so the first shippable, market-testable slice reaches users as early as dependencies allow. This is a sequencing criterion, NOT a date — the roadmap still assigns no dates, quarters, or deadlines. "Time to market" means "shortest path to real value in real hands", not "by when".
Do NOT read the changes/ directories to build the roadmap. The roadmap is intent; the changes are execution. Authoring from execution is the back-fill bug. (Existing changes are relevant only during reconciliation — see below.)
Commit to the order. Do not defer.
Sequencing is this skill's job. For every slice, the roadmap decides its position and states why. The roadmap must NOT output an ordering flag — "promote this pair if…", "consider moving X earlier", "this may be mis-ranked, your call" — in place of a decision. A flag that hands an ordering judgment back to the human is the defect, not a courtesy.
This applies especially to the hard calls:
the pair by the value it ultimately unlocks (the de-risk amendment) — and then PLACE it. Decide whether the pair leads or stays, by asking what concretely depends on the high-value slice: if nothing downstream is gated on it, the pair holds its dependency-ordered position; if downstream value is gated on it, the pair moves up. Either way the roadmap states the call and the reason — it does not offer the human the fork.
tie-breaker (dependency depth, de-risking value, smaller blast radius). A decided close call with a one-line reason is correct; a flagged one is not.
The test: if a sequencing note in your draft contains the word "if" addressed to the human — "promote if", "move if", "reconsider if" — you have deferred a decision you were supposed to make. Replace the conditional with the decision and its reason.
Genuine findings are different and still required: a slice tied to no vision goal, a missing capability, a vision gap — surface those for a human. The prohibition is on deferring ORDERING, which is the skill's own work, not on surfacing findings, which is not.
Write to {state-root}/product/roadmap.md.
Frontmatter:
---
revision: 1
status: draft
approved_by:
approved_on:
reconciled-against: strategy.md revision N
---roadmap.md is product-level state; its items carry why-links, the file itself does not. reconciled-against records the strategy.md revision this roadmap was authored against (and transitively the vision the strategy serves) — see "Document versioning".
Body — an ORDERED list of roadmap items, sequenced by priority and dependency. Each item carries:
one, it is not a value slice;
why-link — the strategy goal it serves (resolvable path + goal),tracing to a vision goal via the strategy;
none;de-risking slice (and which strategy bet it tests), or ROI-ranked, or dependency-constrained. An item the skill itself believes is mis-ranked is not a valid roadmap — re-order, do not annotate. why here states a COMMITTED reason: a de-risking slice, an ROI rank, a dependency constraint, or a decided enabler-pair / tie-break. It never contains a conditional addressed to the human ("promote if…"). If the skill cannot commit to a position, the ordering rule is incomplete — resolve it, do not annotate it.
Plus a short reconciliation notes section when the roadmap was re-run (see below), listing what changed and why.
Plus a Changelog section — per DESIGN_PRODUCT_PIPELINE.md §2b (Changelog); first entry revision 1 — <date> — initial roadmap.
The roadmap contains NO dates, quarters, or deadlines. It contains no PRDs, no specs, no technical content — only sequenced intent.
The roadmap is durable state and goes stale — the strategy shifts, capability-map reshapes capabilities, priorities change. The roadmap is also stale by definition when its reconciled-against strategy revision is behind the current strategy.md revision (see "Document versioning"). product-roadmap is re-runnable. When a roadmap already exists, reconcile it:
strategy.md (and the vision it serves) and capabilitymap.
Does the capability it names still exist (or was it merged/renamed by capability-map)? Is its priority still right?
why-link updated. Items no longer tied to a strategy goal are flagged.
changes/ folders — to seewhich roadmap items have already been delivered, so the re-proposed roadmap reflects what is done versus still intended. This is the one place existing changes inform the roadmap, and even here they inform RECONCILIATION, never the original authoring.
Re-running produces a new proposal with a reconciliation-notes section, bumps revision, sets reconciled-against to the strategy.md revision used, and appends a ## Changelog entry naming the change. It is human-approved like any roadmap.
The roadmap is approved only by an explicit human act — the same rule as the vision, the capability map, the PRD, the spec. You cannot approve it; a sub-agent cannot; vague assent does not count.
rationale, the dependencies, and any item not tied to a strategy goal. For a re-run, surface the reconciliation notes. Explicitly invite rejection or revision.
status: approved, approved_by,approved_on, the current revision, and reconciled-against into the roadmap.md frontmatter.
draft, clear the fields, seek fresh approval.
On approval, before writing status: approved, append a ## Changelog entry for this revision: the new revision number, the date, and one or two sentences on what changed and why. Bumping revision without the matching changelog entry is a defect — they are one act.
A roadmap item is the RECOMMENDED upstream of a change. When an item's turn comes, it is the starting point handed to idea-grill or change-scope — a prioritized, vision-linked intent rather than a raw idea.
The roadmap is advisory. A change may enter the pipeline WITHOUT a roadmap item — product-roadmap gates nothing and rejects nothing. A PRD MAY cite its roadmap item; if it does, the why-link chain extends from change to roadmap item to strategy goal to vision goal. If it does not, nothing breaks. product-roadmap never blocks change-scope and never requires a change to trace to a roadmap item.
idea-grill/ change-scope.
capability-map.
strategy.md and the capability map outrank product-roadmap — they are what the roadmap sequences to serve; this skill never edits them to make an item fit. (strategy.md in turn serves vision.md.) If the roadmap exposes that the strategy is incomplete or a capability is missing, that is a finding for product-strategy / capability-map and a human — surface it, do not resolve it by bending the roadmap. product-roadmap reads and writes no decision records.
Per DESIGN_PRODUCT_PIPELINE.md §2b. roadmap.md carries revision and reconciled-against: strategy.md revision N; if strategy.md's revision exceeds that value, the roadmap is STALE and must be re-run (see "Re-running the roadmap").
Other measured skills in the registry, with their headline benchmark lift.