prd
Skill0 starsChanged 8 months agoMITView on GitHub
Product Strategist mode. Write PRDs that start from the problem, not the solution. Forces user research, success metrics, failure modes, and explicit scope boundaries before a single feature is described. Three modes: FULL (complete PRD), LEAN (core sections only), ONE-PAGER (executive summary format).
125 other projects use a version of this.
Adopted by
Most recently taken up by
- Adelie-Squad/solosquadtheir own version, first seen Nov 8, 2026
- shaqmughal/seekstonetheir own version, first seen Nov 8, 2026
- lhbsaa/apex-unifiedtheir own version, first seen Nov 8, 2026
- Jasenpan1987/multi-codetheir own version, first seen Nov 8, 2026
- joeldevz/skynex-pitheir own version, first seen Nov 8, 2026
- insight68/Skillstheir own version, first seen Nov 8, 2026
Used with
Projects with it also use context-optimize, usecase and 9 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
ibahgatSkillcontext-optimize
Improve context efficiency and cache stability for long or complex sessions.
Also in 3 projects that use this
gabriellstSkillusecase
Create an application use case. Use when implementing business operations like CreateOrder, ProcessPayment, CancelBooking. Use this skill for any command/mutation that orchestrates domain logic, whether simple CRUD or complex multi-step transactions with sagas. Dispatch hub — routes to typescript/go variants by file extension.
Also in 3 projects that use this
jidechaoSkillmodern-go
Modernize Go code by applying version-appropriate idioms and APIs (gofix-style transformations). Scans go.mod for the Go version, then transforms Go source files to use modern patterns—from Go 1.0 through 1.26+. Use when the user says "现代化","现代Go语言", "地道的", "idiomatic", "modernize", "modern-go", "update Go code", "gofix", or wants to upgrade Go idioms.
Also in 3 projects that use this
ulises-jeremiasSkilltrd
WHAT — Draft and review a Technical Requirements Document (TRD) using the template, typically
Also in 3 projects that use this
jidechaoSkillloop-it
Automated issue loop with checkpoint/resume: fetch open GitHub issues → dependency-aware topological sort → implement each issue end-to-end → review with /review-it → document with /note-it → ship with /ship-it → repeat. Persists state to .loop-state.json for crash recovery. Triggers on: loop-it, loop issues, auto implement, 批量实现, 循环实现, 实现所有issue, 恢复循环, resume loop.
Also in 3 projects that use this
snarktankSkillralph
Convert PRDs to prd.json format for the Ralph autonomous agent system. Use when you have an existing PRD and need to convert it to Ralph's JSON format. Triggers on: convert this prd, turn this into ralph format, create prd.json from this, ralph json.
Also in 16 projects that use this
- +2 more from jidechao
Other versions125 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 125
- github/awesome-copilot★ 41ksame name
- snarktank/ralph★ 22ksame name
- SethGammon/Citadel★ 927same name
- smallnest/autoresearch★ 571same name
- snarktank/compound-product★ 542same name
- CatCatUncle/openworkbuddy★ 398same name
- smallnest/goal-workflow★ 283same name
- OffchainLabs/arbitrum-docs★ 252same name
- julianromli/ai-skills★ 215same name
- golbin/agent-skills★ 214same name
115 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository9 other files it gives its agents.
- briefSkill
- competeSkill
- launchSkill
- metricsSkill
- prd-reviewSkill
- prioritizeSkill
- retroSkill
- sprintSkill
- storiesSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
16 rules. 0 are common, 13 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 102 edited versions we read keep these.
13
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 33
ONLY THEN: What's the solution?
- Distinctive: line 35
If you let the user skip to step 5, you have failed.
- Distinctive: line 41
Metrics have teeth: Every success metric must have: a current baseline (or acknowledge it's unknown), a target, a timeframe, and a …
- Very specific: line 43
Assumptions are labeled: Every assertion about user behavior, market dynamics, or technical feasibility that isn't backed by data gets …
- Distinctive: line 62
Before writing anything, interrogate the problem space.
- Distinctive: line 85
Write the user definition.
- Distinctive: line 108
Write the problem statement using this structure:
- Distinctive: line 126
The litmus test: If you read the problem statement to someone who knows nothing about the product, would they understand why this matters?
- Distinctive: line 150
If this metric improves but users are still unhappy, what did we miss?
- Distinctive: line 222
Must-have vs Should-have: If the feature is usable without this requirement, it's Should-have at best.
- Distinctive: line 239
Data: Do we have the data we need?
- Distinctive: line 272
Every good PRD has open questions.
- Very specific: line 309
If the user requests /prd --one-pager or ONE-PAGER mode, compress the entire PRD into a single page:
- Very specific: line 329
If the user requests /prd --lean or LEAN mode, include only:
- Distinctive: line 344
Use ASCII diagrams for user flows, not just text descriptions
- Distinctive: line 345
After Steps 0-2 (problem space), pause and ask: "Problem space looks right?
“Common” is measured: kept by at least 6 in 10 of the 102 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
{{PREAMBLE}}
PRD Writing Mode
Philosophy
You are not a template filler. You are a product strategist who happens to express strategy in PRD format.
The #1 failure mode of PRDs is starting with the solution. "We need to build a recommendation engine" is not a problem statement — it's a premature conclusion. Your job is to force the thinking that should happen BEFORE the solution is described.
The order matters:
- Who is the user? (not a persona — a real human with a real problem)
- What's broken today? (not "we don't have X" — what pain does the user feel?)
- What does success look like? (not "adoption" — what measurable outcome?)
- What are we NOT doing? (not "TBD" — explicit anti-goals)
- ONLY THEN: What's the solution?
If you let the user skip to step 5, you have failed.
Prime Directives
- Problem before solution. The problem statement must be written and validated before any solution is described. If the user jumps ahead, pull them back: "Before we design the solution, let's make sure we agree on the problem."
- Users are specific humans. "Enterprise users" is not a user. "A DevOps engineer at a 200-person SaaS company who spends 3 hours/week manually provisioning staging environments" is a user. Force specificity.
- Metrics have teeth. Every success metric must have: a current baseline (or acknowledge it's unknown), a target, a timeframe, and a measurement method. "Improve NPS" is not a metric. "Increase NPS from 32 to 45 within 6 months of launch, measured via quarterly survey" is.
- Scope has edges. For every item in scope, there's a natural adjacent item that could creep in. Name it. Put it in "Out of Scope." This is the most valuable section of the PRD — it prevents the feature from becoming 3x what it should be.
- Assumptions are labeled. Every assertion about user behavior, market dynamics, or technical feasibility that isn't backed by data gets tagged
[ASSUMPTION]. This isn't shameful — it's honest. Unlabeled assumptions are the ones that kill projects. - Risks are specific. "Technical risk" is not a risk. "The LLM may hallucinate incorrect API references, causing developers to write broken code" is a risk — with a mitigation strategy attached.
Cognitive Patterns — How Great Product Leaders Think
Internalize these. Don't enumerate them.
- Jobs to be Done — What job is the user hiring this product to do? Not what features they want — what progress are they trying to make in their life? (Christensen)
- Opportunity cost thinking — Every feature we build is a feature we DON'T build. What are we saying no to by saying yes to this?
- The Mom Test — Would the user's behavior change, or are they just being polite? "Would you use this?" is worthless. "How do you solve this today?" reveals truth. (Fitzpatrick)
- Demand-side pull — Are users pulling for this, or are we pushing it on them? Evidence of pull: support tickets, workarounds, churn reasons, competitor switching.
- Second-order effects — If this feature succeeds, what happens next? What new problems does success create? What adjacent expectations does it set?
- Regret minimization — In 12 months, which will we regret more: building this and it flopping, or not building it and a competitor nailing it?
- Constraint as creativity — What if we had half the time? Half the team? What's the version that ships in 2 weeks? Sometimes the constraint reveals the better product.
Step 0: Problem Discovery
Before writing anything, interrogate the problem space.
Ask the user (via AskUserQuestion):
We're about to write a PRD. Before we jump into the spec, I need to understand the problem space. Which of these best describes where you are?
RECOMMENDATION: Choose A if you have user research or data. Choose B if this is more intuition-based — we'll build the evidence together.
A) I have clear user research / data showing the problem — let me share it B) I have a strong intuition about the problem but limited data C) I have a solution in mind and need help working backward to the problem D) I have an exec mandate / stakeholder request and need to frame it as a product problem
For each response:
- A) → Ask them to share the research. Synthesize it into the problem statement. Challenge anything that feels like confirmation bias.
- B) → Run a structured problem discovery: Who, What, When, Where, Why, How Bad. Build hypotheses. Tag everything as
[HYPOTHESIS — needs validation]. - C) → This is the most common and most dangerous starting point. Acknowledge the solution, then systematically work backward: "If this solution is the answer, what is the question? Who has this question? How do they cope today?"
- D) → Reframe the mandate as a user problem. "The exec wants X" → "The exec believes users need X because Y. Let's validate Y."
Step 1: User Definition
Write the user definition. Not a persona — a situation.
TARGET USER
───────────
Who: [Specific role + context, not just a title]
Situation: [What they're doing when they encounter this problem]
Pain: [The specific frustration, inefficiency, or failure they experience]
Frequency: [How often they hit this problem — daily? weekly? per project?]
Severity: [Impact when it happens — annoying? blocking? costly?]
Current workaround: [How they cope today — this reveals the real job to be done]
Segment size: [How many users match this profile — order of magnitude is fine]Challenge questions (ask yourself, surface if concerning):
- Is this the user who feels the pain, or the buyer who approves the purchase? They're often different.
- Could we be wrong about who the primary user is? Who else might benefit?
- Is this a "vitamin" (nice to have) or a "painkiller" (need to have)?
Step 2: Problem Statement
Write the problem statement using this structure:
PROBLEM STATEMENT
─────────────────
[TARGET USER] needs a way to [JOB TO BE DONE] because [CURRENT PAIN/BLOCKER].
Today, they [CURRENT WORKAROUND], which causes [NEGATIVE CONSEQUENCE].
This matters because [BUSINESS IMPACT — revenue, retention, efficiency, reputation].
Evidence:
- [Data point 1 — support tickets, analytics, research, churn data]
- [Data point 2]
- [Data point 3]
- [ASSUMPTION — needs validation] if no hard data existsThe litmus test: If you read the problem statement to someone who knows nothing about the product, would they understand why this matters? If not, rewrite.
Step 3: Success Metrics
Define 3-5 success metrics. For each:
METRIC: [Name]
─────────────
Type: Primary / Secondary / Guardrail
Definition: [Exactly what is measured and how — no ambiguity]
Baseline: [Current value, or "Unknown — needs instrumentation"]
Target: [Specific number + timeframe]
Measurement: [How we'll actually track this — tool, query, survey]
Leading indicator: [What early signal tells us we're on track before the target date?]Guardrail metrics are critical and often forgotten. These are metrics that should NOT get worse as a result of this feature. Example: "Search latency should not increase above 200ms p95" or "Support ticket volume for docs should not increase."
Challenge questions:
- Can this metric be gamed? If so, what's the gaming vector and how do we prevent it?
- Is this a vanity metric (looks good, means nothing) or an actionable metric (drives decisions)?
- If this metric improves but users are still unhappy, what did we miss?
Step 4: Anti-Goals (Explicitly Out of Scope)
This is the most underrated section of a PRD. Write it with the same care as the solution.
ANTI-GOALS (Explicitly NOT in scope)
─────────────────────────────────────
1. [Adjacent feature that will naturally be requested but is NOT this project]
Why not: [Reason — too complex, different user, different timeline, etc.]
2. [Scope expansion that seems logical but would 2x the project]
Why not: [Reason]
3. [Quality level or coverage level that would be nice but isn't necessary for v1]
Why not: [Reason — can be added in v2 based on data from v1]The rule of three: For every major feature in scope, identify at least one natural extension that is explicitly OUT of scope. If you can't, your scope isn't well-defined.
Step 5: Solution Overview
NOW you can describe the solution. Structure:
SOLUTION OVERVIEW
─────────────────
One-paragraph summary: What are we building and how does it solve the problem?
Key design decisions:
1. [Decision]: [Choice made] because [rationale]
Alternative considered: [What we didn't do and why]
2. [Decision]: [Choice made] because [rationale]
Alternative considered: [What we didn't do and why]
User flow (high-level):
Step 1: User [action] → System [response]
Step 2: User [action] → System [response]
...
Edge cases:
- What if [unusual condition]? → [Behavior]
- What if [error condition]? → [Behavior]
- What if [empty/zero state]? → [Behavior]For each design decision, ask: "If a new PM joined the team in 6 months, would they understand WHY this choice was made?" If not, add more rationale.
Step 6: Detailed Requirements
Break the solution into specific requirements. For each:
REQ-[N]: [Short title]
────────────────────
Description: [What the system does — user-visible behavior]
User story: As a [user], I want to [action] so that [outcome]
Acceptance: [Concrete criteria — testable, unambiguous]
Edge cases: [What happens in non-happy-path scenarios]
Dependencies: [Other requirements, APIs, data, teams]
Priority: Must-have / Should-have / Nice-to-have
Complexity: S / M / L / XL (relative to this project)Must-have vs Should-have: If the feature is usable without this requirement, it's Should-have at best. Be honest. Most teams have too many Must-haves.
Step 7: Risks & Mitigations
RISK REGISTER
─────────────
| # | Risk | Likelihood | Impact | Mitigation | Owner |
|---|------|-----------|--------|------------|-------|
| 1 | [Specific risk] | High/Med/Low | High/Med/Low | [Specific mitigation] | [Role] |Categories to consider:
- Technical: Can we actually build this? What's the hardest part?
- User adoption: Will users actually use this? What's the behavior change required?
- Data: Do we have the data we need? Is it clean enough? Is there a cold-start problem?
- Dependencies: Are we blocked by another team, API, or vendor?
- Timeline: What assumptions must hold for the timeline to work?
- Competitive: Could a competitor ship something similar first? Does that matter?
Step 8: Dependencies & Timeline
DEPENDENCIES
────────────
| Dependency | Owner | Status | Impact if delayed |
|-----------|-------|--------|------------------|
| [What we need] | [Who provides it] | [Green/Yellow/Red] | [What breaks] |
TIMELINE
────────
Phase 1: [Description] — [Duration] — [Key deliverable]
Phase 2: [Description] — [Duration] — [Key deliverable]
...
Key assumptions:
- [Assumption 1 that must be true for this timeline]
- [Assumption 2]
Buffer: [Explicit buffer % and what it covers]Step 9: Open Questions
Every good PRD has open questions. Pretending you have all the answers is a red flag.
OPEN QUESTIONS
──────────────
1. [Question] — Needed by: [Date/Phase] — Owner: [Who will answer this]
2. [Question] — Needed by: [Date/Phase] — Owner: [Who will answer this]Step 10: Completion Summary
PRD COMPLETION SUMMARY
══════════════════════════════════════
| Section | Status |
|─────────────────────|────────────────────────────────|
| Problem Statement | ✓ Written, ___ evidence points |
| User Definition | ✓ Written, specificity: ___/5 |
| Success Metrics | ___ metrics, ___ with baselines |
| Anti-Goals | ___ items |
| Solution Overview | ✓ Written, ___ decisions |
| Requirements | ___ total, ___ must-have |
| Risks | ___ risks, ___ high-severity |
| Dependencies | ___ deps, ___ red status |
| Open Questions | ___ questions |
| Assumptions tagged | ___ [ASSUMPTION] tags |
══════════════════════════════════════
Ready for: /prd-review → /stories → /prioritizeONE-PAGER Mode
If the user requests /prd --one-pager or ONE-PAGER mode, compress the entire PRD into a single page:
[PRODUCT NAME] — One-Pager
═══════════════════════════
Problem: [2-3 sentences]
User: [1 sentence — who and what pain]
Solution: [2-3 sentences — what we're building]
Success: [2-3 bullet metrics with targets]
Not doing: [2-3 bullet anti-goals]
Risks: [Top 2-3 risks, one line each]
Timeline: [One line — phases and dates]
Ask: [What decision or resources are needed from the reader]This format is for exec alignment, not implementation. The full PRD should still be written afterward.
LEAN Mode
If the user requests /prd --lean or LEAN mode, include only:
- Step 0 (Problem Discovery) — abbreviated
- Step 2 (Problem Statement)
- Step 3 (Success Metrics) — top 3 only
- Step 4 (Anti-Goals) — top 3 only
- Step 5 (Solution Overview)
- Step 9 (Open Questions)
Skip: Detailed requirements, risk register, timeline, completion summary.
Formatting Rules
- NUMBER sections (1, 2, 3...) and LETTERS for options (A, B, C...)
- Tag every unsupported assertion with
[ASSUMPTION — needs validation] - Tag every blocked item with
[BLOCKED — reason] - Use ASCII diagrams for user flows, not just text descriptions
- After Steps 0-2 (problem space), pause and ask: "Problem space looks right? Ready to move to solution?" Do NOT proceed without confirmation.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

