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.

Stars 18
Forks 0

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:

yaml
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 slug is 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)

Expand your agent's capabilities with these related and highly-rated skills.

jasonraimondi/dotfiles

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.

18 0
Explore
jasonraimondi/dotfiles

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.

18 0
Explore
jasonraimondi/dotfiles

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.

18 0
Explore
jasonraimondi/dotfiles

typescript-better-auth-best-practices

Skill for integrating Better Auth - the comprehensive TypeScript authentication framework.

18 0
Explore
jasonraimondi/dotfiles

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.

18 0
Explore
jasonraimondi/dotfiles

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

18 0
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results