Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Establishes or materially revises product/vision.md — the root statement of what the product is for, who it serves, what it solves, and what it is not. Use when defining or re-defining a product's vision. Authors the vision from human intent, reconciles it against existing capabilities, and resolves bootstrap vision-links. Not triggered by a single feature idea.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 1013% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 89% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 1701% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 63% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 98% | 0% |
product-vision produces product/vision.md — the root WHY of the product. It works in three parts: it elicits the vision from human product intent; it reconciles that vision against any capabilities the project has already grown; and once the vision is approved it resolves the bootstrap vision-links left on capability stubs. It is the top of the pipeline — every capability ultimately cites the vision this skill writes.
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 vision lives at {state-root}/product/vision.md and capability stubs at {state-root}/capabilities/{slug}/README.md.
Before writing vision.md you MUST, in order:
what the product is for, who it serves, what it solves, what it explicitly is NOT. If you do not have that intent, ASK for it. You may not infer the vision from the codebase or from existing capability stubs.
capability stubs; produce a reconciliation report of where the drafted vision and the built reality disagree. Findings are flagged for a human, never silently fixed.
pipeline; it gets an explicit human approval step.
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.
Hard rules:
built. A vision traced from the codebase can only ratify the product; it must be able to judge it.
capabilities, nor the capabilities to fit the vision.
A project may already have provisional capability stubs and shipped changes before this skill ever runs. Read them — every capabilities/{slug}/README.md — and hold the drafted intent-based vision next to them. Ask the tension questions:
finding: either the vision is incomplete, or something got built that should not have been. Flag it; a human decides which.
gap between intent and reality. Flag it.
The output is the vision (from intent) PLUS a reconciliation report listing these findings. You do not resolve them — widening the vision or marking a capability misaligned is a human's call. Reconciliation is how this skill turns "write a vision" into "discover whether the built product and the intended product have drifted apart." Reading the stubs informs the CHECK; it never authors the vision.
Write to {state-root}/product/vision.md.
Frontmatter:
---
revision: 1
status: draft
approved_by:
approved_on:
---vision.md is the root why — it has no why-link.
Body — every section required:
short, stable, citable statement. These are the citation targets for every capability why-link.
the vision does not account for, intent no capability serves, contradictions. Each flagged for a human. If the project had no capabilities, say so.
revision 1 — <date> — initial vision.
The vision is written from intent. It contains no capability decompositions, no technical content.
change-scope creates capability stubs during bootstrap with the vision-link why-link: BOOTSTRAP — no product vision yet, because no vision existed yet. Once vision.md is approved, resolve those tokens — but GATED on reconciliation:
BOOTSTRAPtoken with a real citation to the specific vision goal it serves (path + goal).
do NOT resolve its token. Leave the BOOTSTRAP marker, or escalate, until the human resolves the tension.
Resolving a BOOTSTRAP token is an assertion that the capability genuinely serves the vision. Never resolve a token by inventing a vision goal to point at — that would re-hide the very drift reconciliation just surfaced.
A re-run that changes the vision bumps revision and appends a ## Changelog entry naming the change — the same atomic act required at approval (STOP gate).
it — this skill.
change-scope (stage 3).capability-map (stage 2), which runs after the vision exists.
vision.md is the root authority of the product pipeline — capabilities, changes, specs, and issues all ultimately cite it. A project's decision records (docs/adr/ etc., where the project keeps them) record TECHNICAL decisions and sit below this skill's concern; product-vision does not read or write them. If product intent and a technical decision record appear to conflict, that is a reconciliation finding for a human — flag it, do not resolve it here.
Other measured skills in the registry, with their headline benchmark lift.