prp-generation

Generate a Product Requirements Prompt (PRP) from a feature description. Use when starting work on a new feature.

9 stars

Best use case

prp-generation is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Generate a Product Requirements Prompt (PRP) from a feature description. Use when starting work on a new feature.

Teams using prp-generation should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/prp-generation/SKILL.md --create-dirs "https://raw.githubusercontent.com/aspiers/ai-config/main/.agents/skills/prp-generation/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/prp-generation/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How prp-generation Compares

Feature / Agentprp-generationStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Generate a Product Requirements Prompt (PRP) from a feature description. Use when starting work on a new feature.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# PRP Generation

Generate a Product Requirements Prompt (PRP) in Markdown format.

## When to Use This Skill

Use this skill when:
- Starting work on a new feature
- Converting a feature idea into a detailed specification
- Creating documentation suitable for a junior developer to implement

## Initial Response Rule

**When this skill is invoked, ALWAYS start by asking the user to
describe their feature. DO NOT jump to clarifying questions until
they have provided an initial description.**

## Process

**CRITICAL: Follow this process EXACTLY in sequence. DO NOT SKIP AHEAD!**

### Step 1: Wait for Initial Feature Description

- **STOP AND WAIT** for the user to describe the feature
- The user MUST provide at least a brief description FIRST
- DO NOT ask any questions until the user has provided this initial description
- Simply acknowledge and ask: "What feature would you like to create a PRP for?"

### Step 2: Ask Clarifying Questions

**ONLY AFTER** the user provides their feature description:

- Ask 3-5 FOCUSED clarifying questions based on what's unclear
- DO NOT ask all possible questions - only what's needed
- Provide options in letter/number lists for easy selection
- Goal: understand the "what" and "why", not the "how"

**Example questions:**

- **Problem/Goal**: "What problem does this feature solve for the user?"
- **Target User**: "Who is the primary user of this feature?"
- **Core Functionality**: "Can you describe the key actions a user should be able to perform?"
- **Acceptance Criteria**: "How will you know when this feature is successfully implemented?"
- **Scope/Boundaries**: "Are there specific things this feature should NOT do?"
- **Edge Cases**: "Are there potential edge cases or error conditions to consider?"

### Step 3: Generate PRP

Based on the initial description AND the user's answers to clarifying questions,
generate a PRP using the structure below. Ensure it's suitable for a junior
developer to understand.

### Step 4: Save PRP

Save the generated document as `.ai/[feature-name]/prp.md`
Confirm with the user that the PRP has been saved

## PRP Structure

The generated PRP should include:

1. **Introduction/Overview**: Briefly describe the feature and the problem it solves
2. **Goals**: List the specific, measurable objectives
3. **User Stories**: Detail user narratives describing feature usage and benefits
4. **Functional Requirements**: Specific functionalities the feature must have (numbered)
5. **Non-Goals (Out of Scope)**: What this feature will NOT include
6. **Design Considerations** (Optional): UI/UX requirements, mockups, component styles
7. **Technical Considerations** (Optional): Constraints, dependencies, integration points
8. **Success Metrics**: How success will be measured
9. **Open Questions**: Remaining questions needing clarification

## Target Audience

Assume the primary reader is a **junior developer**. Therefore:
- Requirements should be explicit and unambiguous
- Avoid jargon where possible
- Provide enough detail for understanding purpose and core logic

## Output Format

- **Format**: Markdown (`.md`)
- **Location**: `.ai/[feature-name]/prp.md`
- **Line width**: Wrap at 78 columns

## Final Instructions

1. Do NOT start implementing the PRP
2. Make sure to ask the user clarifying questions
3. Take the user's answers and improve the PRP

Related Skills

task-generation

9
from aspiers/ai-config

Generate a detailed task list from a PRP. Use after a PRP is created and ready for implementation planning.

xlsx-to-csv

9
from aspiers/ai-config

Convert XLSX spreadsheets (single or multi-sheet) to CSV files you can read and grep. Use whenever you need to process an .xlsx report from Xero, Cryptio, bank exports, or any tool that delivers spreadsheet output.

xero-mcp

9
from aspiers/ai-config

Use the Xero MCP server — obtain/refresh OAuth2 bearer tokens, troubleshoot authentication, and pick up other operational notes for working with Xero MCP tools. Use when Xero MCP tools fail with authentication errors, when the bearer token has expired (tokens last ~30 min), before starting any Xero workflow, or for general guidance on Xero MCP usage.

xero-browser

9
from aspiers/ai-config

General Xero browser automation notes. Use when automating any Xero page with agent-browser — covers non-standard UI patterns, waiting, and dropdown menus.

test-running

9
from aspiers/ai-config

Run tests according to repository guidelines. Use after linting passes, before staging changes.

task-orchestration

9
from aspiers/ai-config

Orchestrate the complete development workflow for implementing sub-tasks from a task list. Use for end-to-end feature implementation with quality controls.

task-implementation

9
from aspiers/ai-config

Implement a single sub-task from a task list. Use when working on feature development with existing task lists.

subagent-authoring

9
from aspiers/ai-config

Create subagent definitions for Claude Code and OpenCode that delegate to skills. Use when creating new subagents or refactoring existing ones to follow the delegation pattern.

slow-command-running

9
from aspiers/ai-config

Pipe long running commands through tee(1) to allow watching output and repeated analyses without rerunning

skill-authoring

9
from aspiers/ai-config

Create and maintain Claude Code skills following Anthropic best practices. Use when building new skills, refactoring existing ones, or ensuring skills follow official guidelines for structure, naming, progressive disclosure, and testing.

safe-rm

9
from aspiers/ai-config

Safely delete files / directories without asking for permission

project-initialization

9
from aspiers/ai-config

Initialize a project with AI agent rules and documentation. Use when setting up a new repository for AI agent collaboration.