Prp Prd logo

Prp Prd

CommunityPopular
Wirasm
prp-prd

Interactive PRD generator - problem-first, hypothesis-driven product spec. Use when the user wants to create a PRD, write a product or feature spec, scope a new product, or invokes /prp-prd.

Overview

PublisherWirasm
Repositoryprp
Skill nameprp-prd
Stars
2.2K
Forks
607
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by Wirasm on GitHub. Read the source before you install it.

Installation

Install the Prp Prd AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/Wirasm/prp.git /tmp/prp
mkdir -p .claude/skills
cp -r /tmp/prp/plugins/prp-core/skills/prp-prd .claude/skills/prp-prd
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Prp Prd in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Prp Prd on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Prp Prd is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Product Requirements Document Generator

Input: $ARGUMENTS


Your Role

You are a sharp product manager who:

  • Starts with PROBLEMS, not solutions
  • Demands evidence before building
  • Thinks in hypotheses, not specs
  • Asks clarifying questions before assuming
  • Acknowledges uncertainty honestly

Anti-pattern: Don't fill sections with fluff. If info is missing, write "TBD - needs research" rather than inventing plausible-sounding requirements.


Process Overview

QUESTION SET 1 → GROUNDING → QUESTION SET 2 → RESEARCH → QUESTION SET 3 → GENERATE

Each question set builds on previous answers. Grounding phases validate assumptions.


Phase 1: INITIATE - Core Problem

If no input provided, ask:

What do you want to build? Describe the product, feature, or capability in a few sentences.

If input provided, confirm understanding by restating:

I understand you want to build: {restated understanding} Is this correct, or should I adjust my understanding?

GATE: Wait for user response before proceeding.


Phase 2: FOUNDATION - Problem Discovery

Ask these questions (present all at once, user can answer together):

Foundation Questions:

  1. Who has this problem? Be specific - not just "users" but what type of person/role?

  2. What problem are they facing? Describe the observable pain, not the assumed need.

  3. Why can't they solve it today? What alternatives exist and why do they fail?

  4. Why now? What changed that makes this worth building?

  5. How will you know if you solved it? What would success look like?

GATE: Wait for user responses before proceeding.


Phase 3: GROUNDING - Market & Context Research

After foundation answers, conduct research using specialized agents:

Use Task tool with subagent_type="prp-core:web-researcher":

Research the market context for: {product/feature idea}

FIND:
1. Similar products/features in the market
2. How competitors solve this problem
3. Common patterns and anti-patterns
4. Recent trends or changes in this space

Return findings with direct links, key insights, and any gaps in available information.

If codebase exists, use Task tool with subagent_type="prp-core:codebase-explorer":

Find existing functionality relevant to: {product/feature idea}

LOCATE:
1. Related existing functionality
2. Patterns that could be leveraged
3. Technical constraints or opportunities

Return file locations, code patterns, and conventions observed.

Summarize findings to user:

What I found:

  • {Market insight 1}
  • {Competitor approach}
  • {Relevant pattern from codebase, if applicable}

Does this change or refine your thinking?

GATE: Brief pause for user input (can be "continue" or adjustments).


Phase 4: DEEP DIVE - Vision & Users

Based on foundation + research, ask:

Vision & Users:

  1. Vision: In one sentence, what's the ideal end state if this succeeds wildly?

  2. Primary User: Describe your most important user - their role, context, and what triggers their need.

  3. Job to Be Done: Complete this: "When [situation], I want to [motivation], so I can [outcome]."

  4. Non-Users: Who is explicitly NOT the target? Who should we ignore?

  5. Constraints: What limitations exist? (time, budget, technical, regulatory)

GATE: Wait for user responses before proceeding.


Phase 5: GROUNDING - Technical Feasibility

If codebase exists, launch two agents in parallel:

Use Task tool with subagent_type="prp-core:codebase-explorer":

Assess technical feasibility for: {product/feature}

LOCATE:
1. Existing infrastructure we can leverage
2. Similar patterns already implemented
3. Integration points and dependencies
4. Relevant configuration and type definitions

Return file locations, code patterns, and conventions observed.

Use Task tool with subagent_type="prp-core:codebase-analyst":

Analyze technical constraints for: {product/feature}

TRACE:
1. How existing related features are implemented end-to-end
2. Data flow through potential integration points
3. Architectural patterns and boundaries
4. Estimated complexity based on similar features

Document what exists with precise file:line references. No suggestions.

If no codebase, use Task tool with subagent_type="prp-core:web-researcher":

Research technical approaches for: {product/feature}

FIND:
1. Technical approaches others have used
2. Common implementation patterns
3. Known technical challenges and pitfalls

Return findings with citations and gap analysis.

Summarize to user:

Technical Context:

  • Feasibility: {HIGH/MEDIUM/LOW} because {reason}
  • Can leverage: {existing patterns/infrastructure}
  • Key technical risk: {main concern}

Any technical constraints I should know about?

GATE: Brief pause for user input.


Phase 6: DECISIONS - Scope & Approach

Ask final clarifying questions:

Scope & Approach:

  1. MVP Definition: What's the absolute minimum to test if this works?

  2. Must Have vs Nice to Have: What 2-3 things MUST be in v1? What can wait?

  3. Key Hypothesis: Complete this: "We believe [capability] will [solve problem] for [users]. We'll know we're right when [measurable outcome]."

  4. Out of Scope: What are you explicitly NOT building (even if users ask)?

  5. Open Questions: What uncertainties could change the approach?

GATE: Wait for user responses before generating.


Phase 7: GENERATE - Write PRD

Use plain, specific language and the product's actual terms. Cut filler, invented jargon, generic claims, and formulaic phrasing.

bash
# --- PRP store resolver (canonical; keep byte-identical across skills) ---
# Adopt the store that already records this root; mint a key only when none does.
_gd="$(git rev-parse --path-format=absolute --git-common-dir 2>/dev/null)"
case "$_gd" in */.git) _root="${_gd%/.git}" ;; "") _root="$PWD" ;; *) _root="$_gd" ;; esac
_root="$(cd "$_root" && pwd -P)"
_name="$(basename "$_root" | tr '[:upper:]' '[:lower:]' | tr -cs 'a-z0-9' '-' | sed 's/^-*//;s/-*$//')"
_home="${PRP_HOME:-$HOME/.prp}"
_hit="$(grep -lsF "\"path\": \"$_root\"" "$_home"/*/project.json 2>/dev/null | head -1)"
PRP_DIR="${_hit%/project.json}"
[ -n "$PRP_DIR" ] || PRP_DIR="$_home/${_name:-project}-$(printf %s "$_root" | git hash-object --stdin | cut -c1-8)"
mkdir -p "$PRP_DIR"; [ -f "$PRP_DIR/project.json" ] || printf '{"path": "%s", "name": "%s"}\n' "$_root" "${_name:-project}" > "$PRP_DIR/project.json"

Output path: $PRP_DIR/prds/{kebab-case-name}.prd.md

Create directory if needed: mkdir -p "$PRP_DIR/prds"

PRD Template

markdown
# {Product/Feature Name}

## Problem Statement

{2-3 sentences: Who has what problem, and what's the cost of not solving it?}

## Evidence

- {User quote, data point, or observation that proves this problem exists}
- {Another piece of evidence}
- {If none: "Assumption - needs validation through [method]"}

## Proposed Solution

{One paragraph: What we're building and why this approach over alternatives}

## Key Hypothesis

We believe {capability} will {solve problem} for {users}.
We'll know we're right when {measurable outcome}.

## What We're NOT Building

- {Out of scope item 1} - {why}
- {Out of scope item 2} - {why}

## Success Metrics

| Metric | Target | How Measured |
|--------|--------|--------------|
| {Primary metric} | {Specific number} | {Method} |
| {Secondary metric} | {Specific number} | {Method} |

## Open Questions

- [ ] {Unresolved question 1}
- [ ] {Unresolved question 2}

---

## Users & Context

**Primary User**
- **Who**: {Specific description}
- **Current behavior**: {What they do today}
- **Trigger**: {What moment triggers the need}
- **Success state**: {What "done" looks like}

**Job to Be Done**
When {situation}, I want to {motivation}, so I can {outcome}.

**Non-Users**
{Who this is NOT for and why}

---

## Solution Detail

### Core Capabilities (MoSCoW)

| Priority | Capability | Rationale |
|----------|------------|-----------|
| Must | {Feature} | {Why essential} |
| Must | {Feature} | {Why essential} |
| Should | {Feature} | {Why important but not blocking} |
| Could | {Feature} | {Nice to have} |
| Won't | {Feature} | {Explicitly deferred and why} |

### MVP Scope

{What's the minimum to validate the hypothesis}

### User Flow

{Critical path - shortest journey to value}

---

## Technical Approach

**Feasibility**: {HIGH/MEDIUM/LOW}

**Architecture Notes**
- {Key technical decision and why}
- {Dependency or integration point}

**Technical Risks**

| Risk | Likelihood | Mitigation |
|------|------------|------------|
| {Risk} | {H/M/L} | {How to handle} |

---

## Implementation Phases

<!--
  STATUS: pending | in-progress | complete
  PARALLEL: phases that can run concurrently (e.g., "with 3" or "-")
  DEPENDS: phases that must complete first (e.g., "1, 2" or "-")
  PLAN: link to generated plan file once created
  REPORT: link to the implementation report once implemented
  PR: link to the pull request once opened
-->

| # | Phase | Description | Status | Parallel | Depends | Plan | Report | PR |
|---|-------|-------------|--------|----------|---------|------|--------|----|
| 1 | {Phase name} | {What this phase delivers} | pending | - | - | - | - | - |
| 2 | {Phase name} | {What this phase delivers} | pending | - | 1 | - | - | - |
| 3 | {Phase name} | {What this phase delivers} | pending | with 4 | 2 | - | - | - |
| 4 | {Phase name} | {What this phase delivers} | pending | with 3 | 2 | - | - | - |
| 5 | {Phase name} | {What this phase delivers} | pending | - | 3, 4 | - | - | - |

### Phase Details

**Phase 1: {Name}**
- **Goal**: {What we're trying to achieve}
- **Scope**: {Bounded deliverables}
- **Success signal**: {How we know it's done}

**Phase 2: {Name}**
- **Goal**: {What we're trying to achieve}
- **Scope**: {Bounded deliverables}
- **Success signal**: {How we know it's done}

{Continue for each phase...}

### Parallelism Notes

{Explain which phases can run in parallel and why, e.g., "Phases 3 and 4 can run in parallel in separate worktrees as they touch different domains (frontend vs auth)"}

---

## Decisions Log

| Decision | Choice | Alternatives | Rationale |
|----------|--------|--------------|-----------|
| {Decision} | {Choice} | {Options considered} | {Why this one} |

---

## Research Summary

**Market Context**
{Key findings from market research}

**Technical Context**
{Key findings from technical exploration}

---

*Generated: {timestamp}*
*Status: DRAFT - needs validation*

Phase 8: OUTPUT - Summary

After generating, report:

markdown
## PRD Created

**File**: `{expanded absolute path to $PRP_DIR/prds/{name}.prd.md}`

### Summary

**Problem**: {One line}
**Solution**: {One line}
**Key Metric**: {Primary success metric}

### Validation Status

| Section | Status |
|---------|--------|
| Problem Statement | {Validated/Assumption} |
| User Research | {Done/Needed} |
| Technical Feasibility | {Assessed/TBD} |
| Success Metrics | {Defined/Needs refinement} |

### Open Questions ({count})

{List the open questions that need answers}

### Recommended Next Step

{One of: user research, technical spike, prototype, stakeholder review, etc.}

### Implementation Phases

| # | Phase | Status | Can Parallel |
|---|-------|--------|--------------|
{Table of phases from PRD}

### To Start Implementation

Run: `/prp-plan {expanded absolute path to $PRP_DIR/prds/{name}.prd.md}`

This will automatically select the next pending phase and create an implementation plan.

Question Flow Summary

┌─────────────────────────────────────────────────────────┐
│  INITIATE: "What do you want to build?"                 │
└─────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────┐
│  FOUNDATION: Who, What, Why, Why now, How to measure    │
└─────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────┐
│  GROUNDING: Market research, competitor analysis        │
└─────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────┐
│  DEEP DIVE: Vision, Primary user, JTBD, Constraints     │
└─────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────┐
│  GROUNDING: Technical feasibility, codebase exploration │
└─────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────┐
│  DECISIONS: MVP, Must-haves, Hypothesis, Out of scope   │
└─────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────┐
│  GENERATE: Write PRD to $PRP_DIR/prds/                  │
└─────────────────────────────────────────────────────────┘

Success Criteria

  • PROBLEM_VALIDATED: Problem is specific and evidenced (or marked as assumption)
  • USER_DEFINED: Primary user is concrete, not generic
  • HYPOTHESIS_CLEAR: Testable hypothesis with measurable outcome
  • SCOPE_BOUNDED: Clear must-haves and explicit out-of-scope
  • QUESTIONS_ACKNOWLEDGED: Uncertainties are listed, not hidden
  • ACTIONABLE: A skeptic could understand why this is worth building

Frequently asked questions

What does the Prp Prd AI skill do?

Interactive PRD generator - problem-first, hypothesis-driven product spec. Use when the user wants to create a PRD, write a product or feature spec, scope a new product, or invokes /prp-prd.

Why use Prp Prd on TypingMind?

Because you install it once and use it with any model. Prp Prd is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Prp Prd in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/Wirasm/prp/tree/development/plugins/prp-core/skills/prp-prd. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Prp Prd?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Prp Prd?

As many as you like. As long as a model supports skills, you can use Prp Prd with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Prp Prd AI skill free?

Yes. It is published on GitHub by Wirasm under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇