modules/programs/claude-code/skills/write-a-prd/SKILL.md
Create thorough PRDs through repo analysis and deep user interviews. Use for "create a PRD", "write requirements", "product spec", or "implementation plan". Writes PRDs to docs/prds and can optionally decompose them into local issue markdown files for Ralph.
npx skillsauth add MichaelVessia/nixos-config write-a-prdInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Produce high-quality PRDs with explicit decisions, test strategy, and clear scope.
$ARGUMENTS may include:
docs/specs/feature-x.md)docs, issues, or both)If mode is not explicit:
docsissues when user asks for issue decomposition, tracer bullets, or Ralph-ready backlog generationdocs, default)docs/prds/.docs/prds/<topic>.mddocs/prds/homelab-service-health-dashboard.mddocs/prds/<topic>-2.md, then -3, etc.issues)docs/prds/<topic>.issues/*.mdAsk for a long, detailed problem statement:
If detail is thin, ask for concrete examples and failure cases.
Inspect the codebase before drafting:
Call out mismatches between assumptions and repo reality.
Drive iterative questioning until major ambiguity is eliminated.
Cover each branch of the design tree:
Do not stop at vague answers, force concrete decisions.
Sketch major modules to build/modify.
Prefer deep modules:
Confirm with user:
Write markdown PRD with this template:
## Problem Statement
The problem that the user is facing, from the user's perspective.
## Solution
The solution to the problem, from the user's perspective.
## User Stories
A LONG, numbered list of user stories. Each user story should be in the format of:
1. As an <actor>, I want a <feature>, so that <benefit>
Example:
1. As a mobile bank customer, I want to see balance on my accounts, so that I can make better informed decisions about my spending
This list of user stories should be extremely extensive and cover all aspects of the feature.
## Implementation Decisions
A list of implementation decisions that were made. This can include:
- The modules that will be built/modified
- The interfaces of those modules that will be modified
- Technical clarifications from the developer
- Architectural decisions
- Schema changes
- API contracts
- Specific interactions
Do NOT include specific file paths or code snippets. They may end up being outdated very quickly.
## Testing Decisions
A list of testing decisions that were made. Include:
- A description of what makes a good test (only test external behavior, not implementation details)
- Which modules will be tested
- Prior art for the tests (i.e. similar types of tests in the codebase)
## Out of Scope
A description of the things that are out of scope for this PRD.
## Further Notes
Any further notes about the feature.
issues or both)Invoke prd-to-issues to decompose the approved PRD into tracer-bullet issue markdown files.
Requirements for generated issues:
Blocked by) in dependency orderStatus: pending metadata for workflow trackingFor docs PRD:
For issue output:
Report:
If issue output exists, include:
./ralph/scripts/prd-status.sh./ralph/ralph.shdevelopment
Generate self-contained HTML visualizations with Plannotator theming. Use for implementation plans, PR explainers, architecture diagrams, data tables, slide decks, and any visual explanation of technical concepts. Plans and PR explainers follow Plannotator's prescriptive approach; all other visual content delegates to nicobailon/visual-explainer.
development
Turn an idea or objective into a goal package for /goal. Interviews the user, builds a reviewed fact sheet via Plannotator, then explores the codebase to produce an execution plan.
development
Open Plannotator's browser-based code review UI for the current worktree or a pull request URL, then act on the feedback that comes back.
testing
Open Plannotator on the latest rendered assistant message and use the returned annotations to revise that message or continue.