Skill

prd

Generate a Product Requirements Document from an Idea Brief or raw description. Always reads system-context.md to account for existing system state. Includes functional requirements, API contracts, data models, and test strategy. Triggers: "prd", "requirements", "write PRD", "product requirements"

From sdlc-toolkit
Install
1
Run in your terminal
$
npx claudepluginhub youarenext/sdlc-toolkit --plugin sdlc-toolkit
Tool Access

This skill is limited to using the following tools:

ReadGrepGlobWrite
Supporting Assets
View in Repository
templates/discovery-index.md
templates/prd.md
Skill Content

PRD Skill

Generate a complete PRD based on an Idea Brief, user description, or System Context. PRD must include: functional requirements, API contracts, data models, testing strategy.

Entry Points

PRD can be created from different sources:

  • From Idea Brief — if the ideation phase is complete, read docs/discovery/NN-<slug>/idea-brief.md
  • Directly — if ideation is skipped, PRD is created from user description or command arguments

Key Mechanism: Accounting for Existing System

The PRD skill always starts by reading system-context.md:

  • First PRD (system-context empty): generates from scratch, writes "Greenfield" in "Current System State" section
  • Subsequent PRDs: reads existing APIs, models, services and builds a delta — what we're adding/changing

Pre-check for Greenfield

Before generating PRD, check:

  1. Is docs/system-context.md empty or missing? (greenfield)
  2. Does .claude/rules/tech-stack.md exist?

If greenfield AND no tech-stack.md: → Suggest to the user: "This looks like a new project without established tech stack. Consider running /sdlc-toolkit:foundation first to define project structure and technical conventions. This will help ensure consistent architecture decisions."

Let the user decide whether to run foundation first or proceed with PRD.

Instructions

  1. Read @docs/system-context.md — this is the current system state
  2. Read @docs/discovery/INDEX.md — determine the next iteration number (NN)
  3. Determine the requirements source:
    • If iteration slug is provided (e.g., "01-article-reading") — read Idea Brief from docs/discovery/01-article-reading/idea-brief.md
    • If text description is provided — use it as direct input, generate slug from it
    • If arguments are empty — ask the user what we're building
  4. Generate a slug if creating new iteration — short, hyphenated, lowercase, English only
    • Example: "User Authentication System" → user-auth
  5. Create the iteration folder first if it doesn't exist: docs/discovery/NN-<slug>/
    • Example: docs/discovery/01-article-reading/
  6. If docs/discovery/INDEX.md doesn't exist — create it using the template
  7. If system-context is not empty — determine what's already implemented and build PRD as delta
  8. Generate PRD using the template
  9. For each API endpoint — specify method, path, request/response schema in JSON
  10. For each data model — specify fields, types, constraints, indexes
  11. Testing Strategy section is required — include approach and key scenarios
  12. Save to docs/discovery/NN-<slug>/prd.md (INSIDE the iteration folder!)
  13. Update docs/discovery/INDEX.md — add or update row, status In Review

Critical: Folder Structure

CORRECT structure:

docs/discovery/
├── INDEX.md
└── 01-article-reading/      ← folder for iteration
    ├── idea-brief.md        ← (optional) from ideation phase
    └── prd.md               ← PRD inside folder

WRONG structure (don't do this):

docs/discovery/
├── INDEX.md
└── 01-prd.md                ← WRONG! No folder created

Important

  • Every API endpoint must have a concrete request/response schema — no abstractions
  • Every functional requirement must have verifiable acceptance criteria
  • "Current System State" section is auto-filled from system-context.md
  • If greenfield — state it explicitly
  • Data Models must include field types, constraints, and relationships between models
  • Slug must be short, hyphenated, lowercase, English (e.g.: article-processing, user-auth)
  • Always ensure the iteration folder exists, then save prd.md inside it

Supporting files

Stats
Stars0
Forks0
Last CommitFeb 26, 2026