# Brainstorming (brainstorming)

> Asks one question at a time to learn what the user actually wants and why, then writes a design doc they approve before anything is built.

- Category: [Requirements](https://www.myskills.tools/en/categories/requirements/)
- Source: Community · Jesse Vincent
- Repository: https://github.com/obra/superpowers/tree/main/skills/brainstorming (commit 2ce8aa1)
- SKILL.md: https://github.com/obra/superpowers/blob/main/skills/brainstorming/SKILL.md
- Install command: `npx skills add obra/superpowers --skill brainstorming`
- License: MIT
- Compatible with: Claude Code, Codex, Cursor, Gemini CLI, OpenCode
- Permissions: read-repo ✓, write-files ✓, shell ✓, network ✓
- Status: Scan passed
- A rule scan cannot catch every risk. Read this skill's SKILL.md and check its permissions before installing.

## Core rule

Nothing gets built until the user approves the design doc.

## Execution Phases

1. **Look before asking** — Read the project and any material the user pointed to first, and never ask what it already answers.
2. **One question, then play back** — End each message with one open question; once a part is clear, describe it back in about 200-300 words and ask what is wrong or missing.
3. **Lay out the approaches** — In a message of its own, present two or three ways to build it with their trade-offs, recommend one with a reason, and let the user pick.
4. **Write the design doc** — Write a short or full design depending on size; for a project, run a builder check with a fresh subagent, and in a repo save it under docs/superpowers/specs/ and commit it.
5. **Approve and hand off** — Once the design doc is approved, invoke superpowers:writing-plans and no other skill.

## Permissions (summarised from SKILL.md)

| Capability | Needed | Details |
|---|---|---|
| File writes | Limited | Before approval it writes only the design doc and any throwaway spike the user agreed to; no product code, scaffolding or dependency installs. |
| Command execution | Limited | Commits the design doc with git and, if the user accepts, runs the bundled scripts to start the local visual companion server. |
| Network outbound | Limited | Web lookups only when the user agrees to that recon; the visual companion runs on localhost. |

## SKILL.md frontmatter (YAML)

```yaml
---
name: brainstorming
description: "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)."
---
```

Home: https://www.myskills.tools/en/ · URL: https://www.myskills.tools/en/skills/brainstorming/
