Pm-pilot prd
install
source · Clone the upstream repo
git clone https://github.com/mshadmanrahman/pm-pilot
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/mshadmanrahman/pm-pilot "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/pm-core/prd" ~/.claude/skills/mshadmanrahman-pm-pilot-prd && rm -rf "$T"
manifest:
skills/pm-core/prd/SKILL.mdsource content
PRD: Product Requirements Document
Generate product specs at the right depth for the decision stage. From a quick one-pager to a full PRD to a technical RFC.
When to Activate
- User says "write a PRD", "product spec", "one-pager for X", "RFC for X"
- User asks for requirements, a spec, or a brief for a feature
- User says "spec this out" or "document the requirements"
Depth Modes
Auto-detect from user phrasing. If ambiguous, ask.
| Mode | When | Length | Contains |
|---|---|---|---|
| One-pager | Early exploration, exec alignment | 1 page | Problem, hypothesis, success criteria, key risks |
| Brief | Ready to start design/discovery | 2-3 pages | Above + user stories, scope (in/out), dependencies |
| Full PRD | Ready to build | 4-8 pages | Above + detailed requirements, edge cases, metrics, rollout plan, open questions |
| RFC | Technical decision needed | 2-5 pages | Context, proposal, alternatives considered, tradeoffs, migration plan |
Detection heuristics
- "quick spec", "one-pager", "executive summary" → One-pager
- "brief", "enough to start building", "design brief" → Brief
- "PRD", "full spec", "detailed requirements" → Full PRD
- "RFC", "tech spec", "architecture decision", "should we migrate" → RFC
Process
Step 1: Gather Context
Before writing, check for existing context:
- Check for market-research output: If competitive analysis exists for this domain, reference it
- Check memory: Look for project context, stakeholder preferences, prior decisions
- Ask the user (if context is thin):
- What problem does this solve?
- Who is it for?
- What does success look like?
- What constraints exist (timeline, team, tech)?
Do not block on missing context. Use what exists, flag what is assumed.
Step 2: Draft
Write the document at the detected depth level, following the templates below.
Tag uncertain claims:
for things you inferred but the user didn't confirm[Assumption]
for metrics or claims that need validation[Needs data]
for decisions that need stakeholder input[Open question]
Step 3: Review and Cross-Reference
After drafting, suggest next steps:
- "Run
to score this against your backlog"prioritize - "Use
for discovery frameworks (Opportunity Solution Trees, JTBD)"lenny-podcast - "Run
if you need competitive context"market-research - "Use
to pressure-test this doc" (if critique skill exists)critique
Templates
One-Pager
# {Feature Name}: One-Pager **Status:** Draft **Author:** {name} **Date:** {date} ## Problem {1-2 paragraphs: who has this problem, how painful is it, what evidence exists} ## Hypothesis If we {solution}, then {outcome}, because {reasoning}. ## Success Criteria - {Metric 1}: {target} - {Metric 2}: {target} ## Key Risks 1. {Risk}: {mitigation} 2. {Risk}: {mitigation} ## Open Questions - {Question that needs answering before committing}
Brief
# {Feature Name}: Brief **Status:** Draft **Author:** {name} **Date:** {date} ## Problem {Problem statement with evidence} ## User Stories - As a {persona}, I want to {action}, so that {outcome} - ... ## Proposed Solution {High-level approach, 2-3 paragraphs} ## Scope **In scope:** - {Item} **Out of scope:** - {Item} (reason) ## Dependencies - {Team/system}: {what we need from them} ## Success Criteria - {Metric}: {target} (measured by {method}) ## Timeline - Discovery: {dates} - Build: {dates} - Launch: {date} ## Open Questions - {Question}
Full PRD
# {Feature Name}: PRD **Status:** Draft **Author:** {name} **Date:** {date} **Stakeholders:** {names} ## Problem Statement {Detailed problem with user research evidence, data, and business impact} ## Goals and Non-Goals **Goals:** - {Goal with measurable outcome} **Non-Goals:** - {Explicitly excluded scope} ## User Stories and Requirements ### P0 (Must Have) | ID | Story | Acceptance Criteria | |----|-------|-------------------| | R1 | As a {persona}... | Given/When/Then | ### P1 (Should Have) | ID | Story | Acceptance Criteria | |----|-------|-------------------| ### P2 (Nice to Have) | ID | Story | Acceptance Criteria | |----|-------|-------------------| ## Design ### User Flow {Step-by-step flow or link to design file} ### Edge Cases - {Scenario}: {Expected behavior} ### Error States - {Error}: {How the user recovers} ## Technical Considerations - {Architecture implications} - {Data model changes} - {API changes} - {Performance requirements} ## Metrics and Analytics | Metric | Baseline | Target | Measurement | |--------|----------|--------|-------------| | {KPI} | {current} | {goal} | {how tracked} | ## Rollout Plan 1. {Phase 1}: {scope, audience, duration} 2. {Phase 2}: {scope, audience, duration} 3. {GA}: {criteria for full launch} ## Risks and Mitigations | Risk | Likelihood | Impact | Mitigation | |------|-----------|--------|------------| | {Risk} | H/M/L | H/M/L | {Plan} | ## Open Questions - {Question}: {owner, due date} ## Dependencies - {Team}: {deliverable, timeline} ## Appendix - {Links to research, designs, prior art}
RFC
# RFC: {Decision Title} **Status:** Draft **Author:** {name} **Date:** {date} **Decision needed by:** {date} ## Context {Why this decision matters now. What changed or what is broken.} ## Proposal {The recommended approach, explained clearly enough for someone outside the team.} ## Alternatives Considered ### Option A: {Name} - **Pros:** {list} - **Cons:** {list} - **Effort:** {estimate} ### Option B: {Name} (recommended) - **Pros:** {list} - **Cons:** {list} - **Effort:** {estimate} ### Option C: Do Nothing - **Pros:** No effort - **Cons:** {what gets worse} ## Tradeoffs {The key tension in this decision. What are we optimizing for? What are we giving up?} ## Migration Plan 1. {Step with timeline} 2. {Step with timeline} 3. {Rollback plan if it fails} ## Open Questions - {Question}
Rules
- Always tag uncertain claims with
,[Assumption]
, or[Needs data][Open question] - Never fabricate metrics, user quotes, or data. Use placeholders if real data is not available.
- Match depth to stage. Do not write a full PRD when a one-pager is sufficient.
- Include "Out of scope" explicitly. The most common PRD failure is unbounded scope.
- Prefer concrete acceptance criteria over vague descriptions.
- If the user provides raw notes or a braindump, extract structure from it rather than asking them to reformat.