write-a-prd
PRD Writing
Skip steps already satisfied. If user provided a description via arguments, skip to Step 2.
Workflow
1. Gather problem description
Ask the user for a detailed description of the problem and any solution ideas.
2. Explore codebase
Verify assertions and map current state: data models, services, API routes, frontend structure, and test patterns. Note what exists vs. what must be built.
3. Interview
Interview relentlessly. Lead with your recommended answer as the first option (Recommended); the user confirms by selecting it or corrects via another option. Group related questions when possible (up to 4). Use AskUserQuestion when available; otherwise present options as a numbered list. If a question can be answered by exploring code, explore instead of asking.
Walk these branches (skip any already resolved):
- Scope & Surface -- Where does this live? New page/view or integrated? Which user roles?
- Data & Concepts -- Precise definitions for each new concept. What data exists, what's missing?
More from helderberto/skills
ship
Commit and push changes using atomic commits. Use when user asks to "ship", "commit and push", or requests committing and pushing changes. Don't use for creating pull requests or reviewing changes before committing.
46explain-code
Explains code with visual diagrams and analogies. Use when explaining how code works, teaching about a codebase, or when the user asks "how does this work?" Don't use for modifying code, fixing bugs, or generating new implementations.
45refactor-plan
Create structured refactoring plans. Use when user wants to plan a refactor, needs a refactoring strategy, or mentions breaking down large changes into small commits. Don't use for implementing code changes directly, small one-line fixes, or renaming a single variable.
45safe-repo
Check for sensitive data in repository. Use when user asks to "check for sensitive data", "/safe-repo", or wants to verify no company/credential data is in the repository. Don't use for general code review, adding .gitignore entries, or scanning non-git directories.
41lint
Run linting and formatting checks. Use when user asks to "run linter", "/lint", "check linting", "fix lint errors", or requests code linting/formatting. Don't use for running tests, type-checking only, or projects without a lint script in package.json.
40tdd
Guides 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 test-first development, or requests TDD workflow. Don't use for writing tests after implementation, adding tests to existing untested code, or one-off test fixes.
40