Transforms loose ideas or refined concepts into structured PRDs that capture the what, who, and why — problem, target users, goals, non-goals, and testable acceptance criteria — while deliberately deferring the how (architecture, data models, APIs, delivery phasing) to the planning phase. Works through a progressive interview, light de-risking of risky assumptions, and optional codebase exploration. Use when asked to "write a PRD", "create a PRD", "design a feature", "flesh out this idea", "turn this into a spec", "product requirements", "spec this out", or /prd-designer. Outputs a markdown PRD at docs/prds/{name}.md. Optionally creates a GitHub issue via gh CLI. Dependencies: gh CLI (optional, for issue creation).
76
96%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Transform a loose idea or refined concept into a structured PRD through a 5-phase pipeline: intake, probing interview, de-risking risky assumptions, draft, and review.
Reference files:
references/prd-template.md — PRD section structure and guidancereferences/probing-guide.md — 8 probing dimensions with example questionsThis is the core principle that governs every phase. Enforce it relentlessly.
A PRD captures:
A PRD does not capture the how: architecture, tech stack, data models, APIs, file-level design, algorithms, or delivery phasing/milestones. That belongs to the planning phase (/plan), run after the PRD is approved.
The PRD draws the perimeter of the solution space; planning and design fill it in. When the user (or your own draft) drifts into implementation, acknowledge the input, park it for planning, and add it to Open Questions instead of baking it into the spec. Goals must be outcome-shaped, not feature-shaped. Every non-goal carries a reason. Every acceptance criterion must be something a tester could mark pass/fail without judgement.
Acceptance criteria are the handoff contract to planning. Each one carries a stable ID (AC-1, AC-2, …) and this PRD stays their single source of truth. The downstream planning phase references criteria by ID rather than copying them, embedding only each phase's relevant criteria verbatim and labelled with their source — so the criteria are present where the agent needs them, yet drift between plan and PRD stays mechanically detectable. This is why the IDs must be stable and the criteria must be testable: they double as the implementation's verification harness.
Accept input in any form:
Detect research doc. Set has_research = true if:
docs/research/{name}.md → read itdocs/research/ exists → list files, ask: "Found research docs: [list]. Should I use any of these?"has_research = true: read the research doc and extract key findings (existing solutions, feasibility, risks, codebase findings).Classify maturity:
Detect codebase context. Set codebase_aware = true if .git exists in the working directory AND the user's idea references existing code, a repo, or a specific feature.
Confirm understanding before proceeding. Output a 2–3 sentence summary of what you understood and ask: "Is this right, or should I adjust anything before we go deeper?"
Read references/probing-guide.md for the 8 dimensions and example questions.
Rules:
has_research = true: skip dimensions already covered by the research doc:
[Probing: Problem → Users]After the final probing round, summarize findings in a bullet list and ask: "Anything to correct before I move on?"
Only enter this phase if Phase 2 surfaced risky assumptions — claims the PRD depends on that, if false, would change the problem, the users, the scope, or whether the feature is worth building at all.
The goal here is to validate the why/what, not to design the how. Do not produce implementation sketches, architecture, or solution approaches — feasibility and design are the planning phase's job. A genuine feasibility doubt is captured as an Open Question, not resolved here.
Limit: 3 assumptions max. 2 cycles per assumption.
For each risky assumption:
Investigate — gather evidence for or against it:
codebase_aware = true: use Glob, Grep, and Read only to confirm whether the problem/constraint actually exists in the code — not to design a solution.State the finding — write 2–4 sentences: does the evidence support the assumption, weaken it, or leave it open?
Validate — present the finding to the user. Ask: "Does this hold up the assumption, or do we need to dig deeper?"
If no risky assumptions were surfaced in Phase 2, skip this phase entirely and say: "No risky assumptions identified — proceeding to draft."
Load references/prd-template.md for section structure and guidance
Determine output path:
docs/prds/{kebab-name}.md in the current working directorydocs/prds/ if it doesn't exist{kebab-name} from the feature name (lowercase, hyphens, no special chars)Write the PRD using all information gathered in Phases 1–3:
AC-1, AC-2, … — monotonic across the whole PRD, never renumbered or reused). These are the traceability anchors the planning phase links to; on a revision, keep existing IDs fixed and only append new ones.has_research = true:
> Research: [docs/research/{name}.md](docs/research/{name}.md)After writing, display the file path and a one-sentence summary of what was written
Error handling:
docs/ directory creation fails (permissions), write to the working directory root and warn the userAsk the user to review the PRD. Allow up to 3 revision rounds:
If the user requests a GitHub issue:
gh is authenticated: run gh auth statusgh auth login and skip issue creationgh issue create --title "{Feature Name}" --body "$(cat docs/prds/{kebab-name}.md)"Hand off to planning. Show the user the exact command, with {kebab-name} replaced by the real saved filename, so it's copy-pasteable:
/plan-with-docs docs/prds/{kebab-name}.md — plan-with-docs reads this PRD read-only as a constraint, distributes its AC-N criteria across the plan's phases, and gates each phase on them./plan-with-docs docs/prds/{kebab-name}.md <adr-path>.Finalize. Do not make further changes unless the user asks.
66c7102
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.