Creates PRD via interactive interview + codebase exploration + module design. Triggers: write PRD, product requirements, plan new feature, PRD interview.
Scanned 5/27/2026
Install via CLI
openskills install softspark/ai-toolkit---
name: write-a-prd
description: "Creates PRD via interactive interview + codebase exploration + module design. Triggers: write PRD, product requirements, plan new feature, PRD interview."
user-invocable: true
effort: high
argument-hint: "[feature or problem description]"
allowed-tools: Read, Grep, Glob, Bash, Agent
---
# Write a PRD
$ARGUMENTS
Create a PRD through structured interview, codebase exploration, and module design, then submit as a GitHub issue.
## Usage
```
/write-a-prd [feature or problem description]
```
## What This Command Does
1. **Gathers** detailed problem description from user
2. **Explores** the codebase to verify assertions and understand current state
3. **Interviews** relentlessly about every design branch until shared understanding
4. **Sketches** major modules — actively seeking deep modules (small interface, deep implementation)
5. **Writes** the PRD and submits as GitHub issue via `gh issue create`
## Process
### 1. Gather Problem Description
Ask the user for a detailed description of:
- The problem they want to solve
- Any potential ideas for solutions
- Who the users/actors are
### 2. Explore the Codebase
Use Agent (subagent_type=Explore) to understand:
- Current architecture relevant to the feature
- Existing patterns and conventions
- Integration points
- Related code that might be affected
### 3. Interview Relentlessly
Walk down each branch of the design tree, resolving dependencies between decisions one-by-one. For each question, provide your recommended answer.
Ask questions one at a time. If a question can be answered by exploring the codebase, explore instead of asking.
### 4. Sketch Modules
Identify major modules to build or modify. Look for opportunities to extract **deep modules** — modules that encapsulate significant functionality behind a simple, testable interface.
Check with the user:
- Do these modules match their expectations?
- Which modules need tests?
### 5. Write and Submit PRD
Use the template below. Submit as GitHub issue via `gh issue create`. Share the URL.
## PRD Template
<prd-template>
## Problem Statement
The problem from the user's perspective.
## Solution
The solution from the user's perspective.
## User Stories
Extensive numbered list:
1. As an <actor>, I want a <feature>, so that <benefit>
Cover ALL aspects of the feature.
## Implementation Decisions
- Modules to build/modify
- Interface designs for those modules
- Architectural decisions
- Schema changes
- API contracts
Do NOT include specific file paths or code snippets — they go stale quickly.
## Testing Decisions
- What makes a good test (external behavior, not implementation details)
- Which modules to test
- Prior art for tests in the codebase
## Out of Scope
What is explicitly NOT part of this PRD.
## Further Notes
Any additional context.
</prd-template>
## Visual Companion (Optional)
When upcoming questions will involve visual content (mockups, layouts, diagrams), offer the browser companion:
> "Some of what we're working on might be easier to explain visually. I can show mockups and diagrams in a browser. Want to try it?"
**This offer MUST be its own message.** Do not combine with other questions. Wait for response.
If accepted, start the server and use it for visual questions only. Text/conceptual questions stay in terminal.
See [reference/visual-companion.md](reference/visual-companion.md) for details.
## Rules
- Interview relentlessly — don't settle for vague answers
- No file paths or code snippets in the PRD (durability principle)
- User stories must be extensive and cover all aspects
- Submit immediately via `gh issue create` — don't ask for review
- Deep modules over shallow modules
No comments yet. Be the first to comment!