brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
shapeUse when you have a rough product idea and want a complete PRD without sitting through an interactive grilling. Claude walks the full decision tree (edge cases, modules, schema, testing, security), self-answers with software-engineering best practices, streams the Q&A live so you can override, and writes the PRD locally with an option to push as a GitHub is…
Independent GitHub snapshot · Automated classification · Original documentation governs
Take a rough product idea and turn it into a complete PRD in one shot. No interactive grilling — Claude walks the decision tree itself, answers each question with software-engineering best practices, streams the Q&A live so you can spot bad assumptions, and writes the PRD.
Use /shape when you trust Claude's judgment and want speed. Use /grill-me + /write-a-prd when you want hands-on control over every decision.
| Step | Command | What It Does |
|---|---|---|
| 1a | /grill-me + /write-a-prd | Manual path — interactive interview, then PRD |
| 1b | /shape | Fast path — auto-grill + PRD in one shot |
| 2 | /prd-to-issues | Break the PRD into vertical-slice sub-issues |
| 3 | /ralph | Implement each sub-issue autonomously with TDD + code review |
shape produces the same PRD format as write-a-prd, so /prd-to-issues and /ralph consume its output without changes.
When the user invokes this skill:
If the user passed an idea as an argument, use it. Otherwise ask once:
What do you want to build? (one paragraph is fine)
Then proceed without further interactive questions until step 8.
Before answering anything, ground your decisions in reality:
README.md, CLAUDE.md, and any architecture docsIf there is no codebase (empty directory or greenfield), skip to step 3 and record this in the PRD's Further Notes.
For each branch below, generate the questions a thorough engineer would ask, then answer each one yourself. Do not skip a branch even if it feels obvious — that is the entire point of this skill.
When self-answering, prefer:
Codebase facts always beat generic best practices. If the project already does X, the answer is X.
For every decision, emit a block in this exact format as you make the call — do not batch:
Q: <the question>
A: <the chosen answer>
Why: <one sentence — cite a codebase reference if relevant>
This is the user's chance to spot a bad assumption early.
Use this template exactly. It matches /write-a-prd, so the rest of the pipeline accepts it unchanged.
## Problem Statement
The problem the user is facing, from the user's perspective.
## Solution
The solution, from the user's perspective.
## User Stories
A long, numbered list:
1. As a <actor>, I want a <feature>, so that <benefit>
Cover every aspect of the feature surfaced in your decision tree.
## Implementation Decisions
- Modules to build or modify
- Public interfaces of those modules
- Architectural decisions
- Schema changes
- API contracts
- Specific interactions
Do NOT include file paths or code snippets — they go stale fast.
## Testing Decisions
- What makes a good test here (test external behavior, never implementation details)
- Which modules will be tested
- Prior art for the tests (similar patterns already in the codebase)
## Out of Scope
Explicit non-goals.
## Further Notes
Anything else worth recording.
## Decisions Log
Every Q/A/Why block from step 5, in the order they were decided.
rate-limited-healthz-endpoint)./prds/ if it doesn't exist./prds/<slug>.mdAfter saving, ask the user once:
Push this as a GitHub issue? [y/N]
On y, run:
gh issue create --title "<slug>" --body-file ./prds/<slug>.md
Print the issue URL.
On n or no answer, stop. The local file is enough — the user can push later.
/write-a-prd exactly so /prd-to-issues and /ralph keep working.