agentleFS
gabriellstgabriellst/codm/.claude/skills/prd/SKILL.md

prd

Skill4 starsChanged 2 months agoMITView on GitHub

Generate a PRD.md (Product Requirements Document) from a product idea or feature description. Use when starting a new project or defining product scope before implementation. Use this skill for any product specification that needs structured requirements, personas, user flows, and success metrics.

We split this skill into the rules it gives an agent

7 rules. 0 are common, 5 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 98 edited versions we read keep these.

  • 5

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Every feature depends on well-defined product requirements.

    line 12
  2. Distinctive:

    Problem-First: Start with the problem, not the solution

    line 36
  3. Distinctive:

    User-Centric: Every requirement traces back to a user need

    line 37
  4. Distinctive:

    Ask clarifying questions whenever ambiguity exists.

    line 54
  5. Distinctive:

    Document unknowns and risks:

    line 135
  6. Very specific:

    Create PRD.md at the project root.

    line 148
  7. Distinctive:

    When the input is ambiguous, surface questions instead of making assumptions:

    line 334

“Common” is measured: kept by at least 6 in 10 of the 98 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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Generate PRD (PRD.md)

Generates a complete PRD.md Product Requirements Document from a product idea, feature description, or stakeholder conversation.

Why This Exists

Every feature depends on well-defined product requirements. Without PRD.md, teams build features based on assumptions instead of explicit decisions. This skill establishes the product scope that all user stories, tech specs, and implementations reference.

When to Use

  • Starting a new project and defining what to build
  • Defining a major feature or product area before technical work
  • No PRD.md exists and /user-stories or /plan need product context
  • Stakeholder provides a high-level idea that needs structured requirements

When NOT to Use

  • PRD.md already exists and just needs small updates (edit directly)
  • Breaking down existing requirements into stories (use /user-stories)
  • Architectural decisions (use /plan)
  • Implementation work

Prerequisites

  • A product idea, feature description, or stakeholder conversation
  • Understanding of the target users and their problems
  • Access to the user/stakeholder for clarifying questions

Key Principles

  1. Problem-First: Start with the problem, not the solution
  2. User-Centric: Every requirement traces back to a user need
  3. Scope-Bounded: Explicitly state what's in and out of scope
  4. Measurable: Success criteria must be verifiable
  5. Collaborative: Surface questions early — don't assume

Process

Step 1: Understand the Product Idea

Extract from the input:

  • Problem: What problem are we solving? Who has this problem?
  • Users: Who are the primary and secondary users?
  • Context: What's the business context? Why now?
  • Constraints: Budget, timeline, technical, regulatory constraints?
  • Existing solutions: What do users do today? What's lacking?

Ask clarifying questions whenever ambiguity exists. Do not proceed with hidden assumptions.

Step 2: Define the Product Vision

Establish the high-level direction:

## Vision

**Problem Statement:** [1-2 sentences describing the core problem]

**Target Users:** [Primary and secondary user personas]

**Value Proposition:** [What unique value does this product deliver?]

**Success Metrics:** [How do we measure success?]

Step 3: Define Functional Requirements

List what the system must do, organized by user workflow:

## Functional Requirements

### FR-001: [Requirement Title]
**Priority:** Must Have | Should Have | Nice to Have
**Description:** [What the system must do]
**User Workflow:** [How the user interacts with this]
**Acceptance Criteria:**
- [ ] [Criterion 1]
- [ ] [Criterion 2]

Priority definitions:

  • Must Have: Product is not viable without this
  • Should Have: Important but product can launch without it
  • Nice to Have: Desirable but can be deferred

Step 4: Define Non-Functional Requirements

Cover system qualities:

## Non-Functional Requirements

### Performance
- [Response times, throughput, capacity]

### Security
- [Authentication, authorization, data protection]

### Accessibility
- [WCAG level, specific requirements]

### Compatibility
- [Browsers, devices, integrations]

Step 5: Define Scope Boundaries

Explicitly state what's included and excluded:

## Scope

### In Scope
- [Feature/capability 1]
- [Feature/capability 2]

### Out of Scope
- [Explicitly excluded item 1 — why]
- [Explicitly excluded item 2 — why]

### Future Considerations
- [Potential future feature 1]
- [Potential future feature 2]

Step 6: Surface Risks and Open Questions

Document unknowns and risks:

## Risks
- **[Risk]**: [Impact] — [Mitigation]

## Open Questions
- [ ] [Question 1 — impact: scope/timeline/feasibility]
- [ ] [Question 2]

Step 7: Write PRD.md

Create PRD.md at the project root. Keep it concise and actionable.

PRD.md Structure Reference

The complete section order:

#SectionPurpose
1OverviewProduct name, one-line description, date
2VisionProblem, users, value proposition, success metrics
3User PersonasWho are the users, their goals and pain points
4Functional RequirementsWhat the system must do (FR-001 format)
5Non-Functional RequirementsPerformance, security, accessibility
6User FlowsKey workflows described step by step
7ScopeIn scope, out of scope, future considerations
8RisksKnown risks with impact and mitigation
9Open QuestionsUnresolved questions with impact classification
10AssumptionsDocumented assumptions with risk level

Output Template

# PRD: [Product Name]

> [One-line product description]

**Date:** [YYYY-MM-DD]
**Status:** Draft | Review | Approved

---

## Vision

**Problem Statement:**
[1-2 sentences describing the core problem users face]

**Target Users:**
[Primary and secondary user personas — brief]

**Value Proposition:**
[What unique value does this product deliver that existing solutions don't?]

**Success Metrics:**
- [Metric 1 — how measured]
- [Metric 2 — how measured]

---

## User Personas

### [Persona 1 Name]
- **Role:** [Their role/context]
- **Goals:** [What they want to achieve]
- **Pain Points:** [Current frustrations]

### [Persona 2 Name]
- **Role:** [Their role/context]
- **Goals:** [What they want to achieve]
- **Pain Points:** [Current frustrations]

---

## Functional Requirements

### FR-001: [Requirement Title]
**Priority:** Must Have
**Description:** [What the system must do]
**User Workflow:** [Step-by-step interaction]
**Acceptance Criteria:**
- [ ] [Criterion]

### FR-002: [Requirement Title]
**Priority:** Should Have
**Description:** [What the system must do]
**Acceptance Criteria:**
- [ ] [Criterion]

---

## Non-Functional Requirements

### Performance
- [Requirement]

### Security
- [Requirement]

### Accessibility
- [Requirement]

### Compatibility
- [Requirement]

---

## User Flows

### [Flow 1: Primary Happy Path]
1. User [action]
2. System [response]
3. User [action]
4. System [response]

### [Flow 2: Secondary Flow]
1. ...

---

## Scope

### In Scope
- [Item]

### Out of Scope
- [Item — reason]

### Future Considerations
- [Item — when/why it might be added]

---

## Risks
| Risk | Impact | Likelihood | Mitigation |
|------|--------|------------|------------|
| [Risk] | High/Med/Low | High/Med/Low | [Strategy] |

---

## Open Questions
- [ ] [Question — impact: scope/timeline/feasibility]

## Assumptions
- [Assumption — risk: low/medium/high]

Critical Rules

Problem Before Solution

<!-- WRONG -->
## Vision
We need a React app with a dashboard that shows charts.

<!-- CORRECT -->
## Vision
**Problem Statement:**
Clinic managers spend 2+ hours daily manually compiling patient statistics
from spreadsheets, leading to delayed decisions and reporting errors.

Measurable Success Metrics

<!-- WRONG -->
**Success Metrics:**
- Users like the product
- It works well

<!-- CORRECT -->
**Success Metrics:**
- Dashboard load time under 2 seconds (P95)
- 80% of clinic managers adopt within 30 days of launch
- Manual report generation time reduced by 70%

Explicit Scope Boundaries

<!-- WRONG -->
## Scope
We'll build the main features.

<!-- CORRECT -->
## Scope
### In Scope
- Patient registration and management
- Appointment scheduling for single-clinic setups

### Out of Scope
- Multi-clinic management — deferred to v2 after single-clinic validation
- Billing/payment processing — separate product area

Ask, Don't Assume

When the input is ambiguous, surface questions instead of making assumptions:

## Open Questions
- [ ] Should doctors be able to self-register, or only via admin invite? — impact: scope, auth flow
- [ ] Is multi-language support required for v1? — impact: timeline, frontend architecture

Checklist

  • Problem statement is clear and user-centric
  • Target users are identified with personas
  • Value proposition differentiates from existing solutions
  • Success metrics are measurable and verifiable
  • All functional requirements have priority and acceptance criteria
  • Non-functional requirements cover performance, security, accessibility
  • Key user flows are documented step by step
  • Scope explicitly states in/out boundaries with reasons
  • Risks are identified with impact and mitigation
  • Open questions are surfaced with impact classification
  • Assumptions are documented with risk level
  • No implementation details leaked into requirements

References

  • PRD.md — Current product requirements (project root, when present)
  • .claude/skills/user-stories/SKILL.md — Break PRD into user stories
  • .claude/skills/tech-spec/SKILL.md — Architectural breakdown from stories
  • .claude/skills/prototype/SKILL.md — Visual prototyping from requirements

Download now (ZIP)

  • Other versions120 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 120

    1. github/awesome-copilot★ 41ksame name
    2. snarktank/ralph★ 22ksame name
    3. SethGammon/Citadel★ 927same name
    4. smallnest/autoresearch★ 571same name
    5. snarktank/compound-product★ 542same name
    6. CatCatUncle/openworkbuddy★ 375same name
    7. smallnest/goal-workflow★ 283same name
    8. OffchainLabs/arbitrum-docs★ 252same name
    9. julianromli/ai-skills★ 215same name
    10. golbin/agent-skills★ 214same name

    110 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.

  • Used alongsideProjects with it also use context-optimize, modern-go 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.
    • ibahgatSkill

      context-optimize

      Improve context efficiency and cache stability for long or complex sessions.

      Also in 3 projects that use this

    • jidechaoSkill

      modern-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

    • jidechaoSkill

      to-design

      Generate a design document (design proposal) from a PRD, in the style of Go's official design proposals — Abstract / Background / Design / Rationale / Compatibility / Implementation, heavy on the 'why' and tradeoffs. Triggers on: to-design, prd-to-design, prd转设计文档, 生成设计文档, 写设计文档, design doc, design proposal, 设计提案, 技术设计文档.

      Also in 3 projects that use this

    • JokerRunSkill

      compound-engineering

      Compound Engineering workflow for AI-assisted development. Use when planning features, executing work, reviewing code, or codifying learnings. Follows the Plan → Work → Review → Compound loop where each unit of engineering makes subsequent work easier. Triggers on: plan this feature, implement this, review this code, compound learnings, create implementation plan, systematic development.

      Also in 3 projects that use this

    • deedeeharrisSkill

      prd-to-spec

      Convert an approved PRD into a phase-gated implementation SPEC. User-facing entry point that dispatches to the prd-to-spec babysitter process via /babysitter:call (interactive) or /babysitter:yolo (auto). Stack-agnostic.

      Also in 3 projects that use this

    • dirkkok101Skill

      review-prd

      Use before /technical-design, after /prd, when user says "review prd", "check requirements", or when PRD quality is uncertain.

      Also in 3 projects that use this

    • +2 more from jidechao
  • In this repository45 other files it gives its agents.

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.