Agent skill
planning-write-a-prd
Create a PRD by interviewing the user, exploring the codebase, and writing a structured YAML plan to ./plans/{slug}/prd.yaml. Use when user says "write a PRD", "plan this feature", "create a plan", or wants structured project planning.
Install this agent skill to your Project
npx add-skill https://github.com/jasonraimondi/dotfiles/tree/macos/config/skillshare/skills/planning-write-a-prd
SKILL.md
Write a PRD
Create a PRD as a structured YAML file in the project's ./plans/ directory.
Plan structure
Every PRD lives in its own directory:
./plans/{project-slug}/
prd.yaml
issues/ # created later by /planning-prd-to-issues
Process
1. Clarify the problem
Ask the user for:
- the problem to solve
- desired outcome
- constraints or deadlines
- rough scope
- known solution ideas
2. Explore the repo
Explore the codebase to verify assumptions, understand the current system, and find existing patterns.
3. Interview to convergence
Interview the user until you reach shared understanding. Resolve:
- core use cases
- non-goals
- constraints
- rollout and validation expectations
- open questions that materially change scope or architecture
4. Sketch modules and testing strategy
Identify the major modules you expect to build or modify. Prefer deep, stable, testable modules over shallow glue.
Check with the user that:
- the module boundaries make sense
- the testing plan matches expectations
- any risky unknowns are called out explicitly
5. Draft the PRD
Write the PRD as a YAML file using this schema:
name: "Project Name"
slug: project-name
status: draft # draft | active | complete | archived
created: YYYY-MM-DD
updated: YYYY-MM-DD
description: |
One-line summary.
why: |
The problem from the user's perspective and why it matters now.
outcome: |
What success looks like.
in_scope:
- "Behavior or surface included"
out_of_scope:
- "What this PRD explicitly does not cover"
use_cases:
- id: UC-1
description: "..."
- id: UC-2
description: "..."
decisions:
- "Decision that is already settled"
open_questions:
- "Question that materially affects scope or architecture"
risks:
- "Constraint, dependency, or rollout risk"
validation:
- "How we know the work is correct or successful"
notes: |
High-signal notes about modules, contracts, schema changes, or testing strategy.
# Optional — used by implementation agent for headed verification
dev_command: "npm run dev"
base_url: "http://localhost:3000"
Keep it scannable. The PRD should support decomposition into issues — not be a dumping ground for every implementation detail.
6. Write the file
Create ./plans/{slug}/prd.yaml using the drafted content.
Rules:
- the
slugis a kebab-case version of the project name, used as the directory name - use_cases are numbered (UC-1, UC-2, ...) so issues can reference them
- do not include file paths or code snippets in the PRD
7. Hand off cleanly
After creation, share:
- the file path to the PRD
- a one-paragraph summary of the recommended next step (
/planning-prd-to-issues)
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
tools-image-manipulation-image-magick
Process and manipulate images using ImageMagick. Supports resizing, format conversion, batch processing, and retrieving image metadata. Use when working with images, creating thumbnails, resizing wallpapers, or performing batch image operations.
frontend-react-doctor
Run after making React changes to catch issues early. Use when reviewing code, finishing a feature, or fixing bugs in a React project.
typescript-advanced-types
Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications. Use when implementing complex type logic, creating reusable type utilities, or ensuring compile-time type safety in TypeScript projects.
typescript-better-auth-best-practices
Skill for integrating Better Auth - the comprehensive TypeScript authentication framework.
testing-tdd
Test-driven development with red-green-refactor loop. Use when user wants to build features or fix bugs using TDD, mentions "red-green-refactor", wants integration tests, or asks for test-first development.
planning-interview-me
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "interview me".
Didn't find tool you were looking for?