Explores a problem through Socratic questioning before any spec or code is written. Surfaces real needs, compares approaches, and produces a design document. Use when the user wants to think through a new product, a new feature, a technical decision, or anything where the right approach is still undecided.
specs/brainstorming/<name>/design.mdshaping-specs with the design document as inputPick the mode based on what the user is starting from:
Mode 1 — New product No codebase exists yet. Start with open-ended exploration. No standards to load. Focus on the problem, the user, and the product vision before any technical decisions.
Mode 2 — New feature in a legacy codebase
A codebase exists. Load standards/ files (root and backend/, frontend/, design/) first to understand existing patterns and constraints. Brainstorm within those constraints — what fits the existing architecture, what would require deviation and why.
Mode 3 — New feature with loaded context The user has specific files or modules in mind. Load those files before brainstorming. Keep exploration scoped to the relevant area.
Ask these in a natural, conversational flow — one section at a time. Do not ask all at once. Wait for responses before moving on.
1. What is the real problem?
2. What does success look like?
3. What are the constraints?
4. What approaches could work?
5. What are the risks?
After gathering answers, present 2–3 distinct approaches:
## Approach A: [Name]
[One paragraph description]
Pros:
- [Pro 1]
- [Pro 2]
Cons:
- [Con 1]
- [Con 2]
Best if: [condition where this wins]
---
## Approach B: [Name]
...
Ask the user which direction resonates before writing the design document.
Save to specs/brainstorming/<name>/design.md:
# Brainstorm: [Topic]
**Date:** [YYYY-MM-DD]
**Mode:** New product | Legacy codebase | Feature in context
**Chosen approach:** [Approach name]
## The problem
[What we're actually solving and for whom]
## Success criteria
- [What done looks like]
## Constraints
- [Technical and product constraints]
## Approaches considered
### [Approach A]
[Summary + why it was not chosen, or why it was chosen]
### [Approach B]
[Summary + tradeoffs]
## Chosen direction
[Rationale for the selected approach]
## Open questions
- [Anything still unresolved that shaping-specs needs to address]
## Context loaded
- `standards/[layer/][file].md` — [what was relevant]
- `path/to/file` — [why it was included]
After saving the design document, tell the user:
Brainstorm complete. Load specs/brainstorming/<name>/design.md and run the shaping-specs skill to formalize this into an implementation spec.
The shaping-specs skill will use the design document as its starting context, so the shaping questions can be answered faster and with less ambiguity.
specs/brainstorming/<name>/design.md.agent/skills/shaping-specs/SKILL.mdstandards/README.mdnpx skills add obra/superpowers -a antigravity -y --copy