/write-a-prd
Creates PRD via interactive interview + codebase exploration + module design. Triggers: write PRD, product requirements, plan new feature, PRD interview.
$ npx -y skills add softspark/ai-toolkit --skill write-a-prd --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/write-a-prd
Context preview
The summary Claude sees to decide when to auto-load this skill.
Creates PRD via interactive interview + codebase exploration + module design. Triggers: write PRD, product requirements, plan new feature, PRD interview.
SKILL.md
write-a-prd.SKILL.mdname: 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
Read more
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
Professional-grade AI coding toolkit with multi-platform support. Machine-enforced safety, 109 skills, 44 agents, expanded lifecycle hooks, persona presets, experimental opt-in plugin packs, and benchmark tooling — works with Claude Code, Claude Chat/Cowork,
Repo: softspark/ai-toolkit
Other skills on ai-toolkit.
- /ai-toolkit-rules
Mandatory engineering, security, testing, git, performance, quality, and response rules. Claude MUST load this skill for every technical, coding, debugging, review, architecture, DevOps, data, or file-editing task in Chat or Cowork.
Open skill - /mem-search
Search past coding sessions using natural language. Finds relevant observations, decisions, and context from previous work.
Open skill - /a11y-validate
Accessibility validator: WCAG 2.1 AA, EN 301 549, EAA. Triggers: a11y, accessibility, WCAG, EAA, ARIA, contrast, keyboard, screen reader.
Open skill - /agent-creator
Creates new specialized agents with frontmatter, tools, delegation. Triggers: new agent, create agent, agent scaffold, specialized agent.
Open skill - /analyze
Analyzes code quality, complexity, patterns across codebase. Triggers: quality report, hotspot scan, code analysis, architecture signal.
Open skill - /api-patterns
REST/GraphQL API design: naming, versioning, pagination, idempotency, OpenAPI. Triggers: API design, REST, GraphQL, OpenAPI, Swagger, idempotency, rate limit.
Open skill

