rubenzarroca/sdd-plugin/sdd-prd
- community
Checking that the SKILL.md file is still in the repository.
Generate a Product Requirements Document (PRD) as the foundation for Specification-Driven Development. Use when starting a new product, defining a new product vision, or when the user says "create PRD", "generate PRD", "product requirements", "define the product", "documento madre", or references needing a high-level product definition before writing feature specs. This is the first step in the SDD workflow — the PRD feeds context to all downstream /sdd:specify commands. Always use this skill before /sdd:specify when no PRD exists yet.
Install
npx vskill@latest install rubenzarroca/sdd-plugin/sdd-prdSKILL.md
SDD PRD — Product Requirements Document Generator
The PRD is the strategic foundation of the SDD workflow. It defines WHAT you're building and WHY, without going into implementation details. Every feature spec (/sdd:specify) inherits context from the PRD.
Philosophy
The PRD is not a technical document. It's a product document. No stack decisions, no data models, no API endpoints. Those belong in the feature specs. The PRD answers three questions: What problem are we solving? For whom? What does success look like?
This PRD is designed to be consumed by AI agents, not just read by humans. Every section exists because an agent downstream needs it: the spec-generator needs problem context and success criteria to write precise specs. The plan-architect needs system context to design integrations correctly. The task-decomposer needs domain vocabulary to name things consistently. The implementation-engine needs non-goals to know when to stop.
A traditional PRD tolerates ambiguity because humans ask clarifying questions. This PRD does not — because agents don't ask, they invent. Every gap you leave here will be filled with a guess downstream.
Coaching Layer
Claude monitors the user's answers during the discovery interview. When it detects a common weakness, it intervenes with a brief, contextual correction — never abstract theory.
Scaffolding triggers:
| What Claude detects | What Claude does | |
|---|---|---|
| User describes a solution instead of a problem ("I want to build a notification system") | Redirects to the pain point: "That sounds like a solution — what's the problem it solves? What's happening today that's painful for your team?" | |
| User names users too broadly ("everyone", "the team", "our users") | Narrows: "Who feels the most pain? The sales rep who misses hot leads, or the manager who can't see pipeline? Their needs might shape this differently." | |
| Success criteria written as features instead of outcomes ("Build a dashboard") | Reframes as measurable outcome: "That's a feature, not a success criterion. What would change if the dashboard worked perfectly? Maybe: 'Reduce time to identify top leads from 2 hours to 5 minutes'?" | |
| Non-goals section is empty or vague | Prompts with a concrete boundary: "What should this product explicitly NOT do? For example, should it handle lead nurturing, or just scoring?" | |
| Assumptions stated as certainties | Surfaces the risk: "You said leads always provide a valid phone number. Is that confirmed, or is it an assumption? If it's an assumption, it belongs in the Risks section — because if it's wrong, it changes the product." | |
| User provides no system context ("it's standalone") | Probes: "Even standalone products have external dependencies — authentication, email, payments, hosting. What does your team already use that this product should work with?" | |
| Domain terms used inconsistently (says "client" and "customer" interchangeably) | Clarifies: "I noticed you used 'client' and 'customer' — do they mean the same thing in your context, or are they different concepts? If they're different, we should define both." |
Scaffolding rules:
- Contextual, never abstract. Never say "you should define measurable criteria." Instead, offer a concrete rewrite using the user's own data.
- One intervention at a time. If multiple weaknesses appear in one answer, address the most impactful one first.
- Suggest, don't impose. Every coaching intervention ends with a question or option, never a mandate. DO: "With your team size, defining buyer vs. user might shape this differently. What do you think?" DON'T: "You need to distinguish between buyer and user. Here's the difference."
- Business language first. Introduce technical terms only when needed, always alongside their practical meaning.
- Use the user's project, not generic examples. Reference the project description from
/sdd:init, use their exact vocabulary, and make every coaching intervention feel like it was written for this specific project — not pulled from a template. - Fade as competence grows. Read
.sdd/state.jsonfieldcoaching_profileat the start of the discovery interview. For categories relevant to the PRD (problem_vs_solution,user_specificity,measurable_outcomes,non_goals,system_context,domain_vocabulary): whenunscaffoldedreaches 1, reduce coaching intensity. When it reaches 2+, skip coaching on that category entirely. A user who has already demonstrated they can frame problems correctly doesn't need to be redirected from solutions to problems again. Cap `unscaffolded` increments at one per category per session.
Workflow
Step 1: Discovery Interview
If $ARGUMENTS contains a product name or description, use it to seed the conversation. Confirm it with the user: "I'll create a PRD for [argument]. Is that correct, or do you want to adjust the scope?" If $ARGUMENTS is empty, begin the discovery interview from scratch.
Before writing anything, conduct a focused interview. Ask questions ONE AT A TIME (never batch). Wait for confirmation before moving to the next question.
Required questions (ask in this order):
- "What problem does this product solve? Describe the pain point as it exists today."
- "Who experiences this problem? Be specific: role, context, frequency."
- "What does the world look like if this product works perfectly? What changes?"
- "What are the main functional areas or modules you envision? Don't worry about details, just the big blocks."
- "Is there anything this product should explicitly NOT do? Boundaries help as much as features."
- Coaching trigger: If the user says "I don't know" or gives a vague answer, guide them: "Think about the closest thing to your product that you do NOT want to build. For example, if you're building a CRM, you probably don't want to also build an email marketing platform — even though they're related. What's the boundary for your product?"
- "What existing systems or platforms does this product need to connect with? Think about data sources, APIs, or tools your team already uses."
- "Are there any terms in your business that could be ambiguous? For example, does 'user' mean the person using the product, or the account holder? Does 'conversion' mean a sale, a signup, or something else?"
Conditional questions (ask only if relevant):
- If B2B: "Who is the buyer vs. the user? Are they the same person?"
- If platform/marketplace: "Which side of the marketplace do you build for first?"
- If existing product: "What exists today that this replaces or extends?"
Do NOT proceed to Step 2 until the user has answered all required questions and confirmed they're ready.
Step 2: Generate the PRD
Create the PRD as a Markdown file following this exact structure. Save to specs/prd.md (or specs/PRD.md if the user prefers).
Step 3: Review & Confirm
After generating the PRD, present it to the user and ask:
- "Does the problem statement capture the real pain accurately?"
- "Are the success criteria measurable and aligned with what matters to you?"
- "Are the non-goals correct? Is there anything listed in scope that shouldn't be, or vice versa?"
- "Does the system context cover all the systems this product needs to interact with?"
- "Is the domain vocabulary complete? Would someone outside your team understand every term?"
Do NOT mark the PRD as "Approved" until the user explicitly confirms. Leave status as "Draft" or "Review".
Integration with SDD Workflow
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/sdd-prd/SKILL.md
Popularity
- Repository stars
- 6
- 7-day trend score
- 10
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/rubenzarroca/sdd-plugin/sdd-prd)