Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Create or update a product-discovery SPEC (requirements doc) for user review. Use when turning RESEARCH findings plus user intent into a reviewable requirements artifact before INNOVATE/PLAN.
.claude/skills/withkynam-vc-generate-spec/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 27% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 9% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 58% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -40% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 17% | 0% |
> Output style: Follow process/development-protocols/communication-standards.md — answer-first, plain language, no unexplained jargon, TL;DR on long responses.
Use this skill to produce the authoritative product-discovery SPEC artifact for a task — a plain-language requirements document written for user review, not for an engineer.
A SPEC captures what the user wants and why so the user can read it, recognize their own intent, and confirm "yes, build that" before any approach or code is chosen. It is the bridge between RESEARCH (the facts) and INNOVATE (the how). PLAN cannot start until a SPEC exists for non-trivial work.
SPEC consumes: RESEARCH findings + the user's stated intent/brainstorm. It does NOT consume a chosen approach or a Decision Summary — no approach exists yet at SPEC time.
Normal output is one SPEC file: {slug}_SPEC_{dd-mm-yy}.md.
For a phase program, the program-level (umbrella) SPEC is written once during the outer loop and governs every inner phase. Use templates/program-spec-template.md for that case. The inner loop never writes a SPEC.
references/spec-contract.md for the full section-by-section writing rules.date +%d-%m-%y before choosing the filename.SPEC_INTENT_BLOCKED instead of writing.process/context/all-context.md first, then load the relevant context group. When the work touches testing/verification, read process/context/tests/all-tests.md so acceptance-criteria scenarios are grounded in the real test-context chain.process/features/{feature}/active/{slug}_{date}/{slug}_SPEC_{date}.md (or process/general-plans/active/{slug}_{date}/{slug}_SPEC_{date}.md). For a phase program, the umbrella task folder holds {program-slug}_SPEC_{date}.md. Per task-folder artefact colocation, never write to the deprecated sibling reports/ or references/ dirs.references/spec-contract.md):## Summary## User Stories / Jobs To Be Done## What The User Wants (Behavioral Outcomes)## Flow / State Diagram (ASCII)## Acceptance Criteria (Testable Outcomes) — each criterion carries proven by: + strategy:## Out Of Scope## Constraints## Open Questions## Background / Research Findings## Open Questions is non-empty at finalize (interactive session): emit SPEC_INTENT_BLOCKED and stop. Under /goal: record each as a backlog note and continue.PHASE_COMPLETE: SPEC.## SPEC Gaps heading and a backlog note, never an edit to the SPEC.Every SPEC file must include all of the following, in this order:
## Summary — one plain-language paragraph: what changes for the user and why## User Stories / Jobs To Be Done — the heart of the doc; "As a user], I want X], so that Y]" or JTBD## What The User Wants (Behavioral Outcomes) — observable behavior only, no implementation## Flow / State Diagram — at least one ASCII flow/state diagram## Acceptance Criteria (Testable Outcomes) — observable outcomes, each with proven by: + strategy:; max 20## Out Of Scope — at least one item## Constraints — user-stated, system/process, and technical limits from research## Open Questions — each with an owner; empty/"None" required to finalize (interactive)## Background / Research Findings — key facts from RESEARCH that shaped the requirementsUse Markdown-structured sections, not a second machine-only schema. Markdown sections are stable across all agents (Claude, Codex, future systems) without requiring a parser.
Other measured skills in the registry, with their headline benchmark lift.