/brainstorm
Multi-perspective ideation with selectable cognitive lenses, persistent idea trees, and native handoff to sw:increment. Use when saying "brainstorm", "ideate", "explore ideas", "what are our options", "think about approaches", "compare approaches", "tree of thought", or "let's
$ npx -y skills add anton-abyzov/specweave --skill brainstorm --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
/brainstorm
Context preview
The summary Claude sees to decide when to auto-load this skill.
Multi-perspective ideation with selectable cognitive lenses, persistent idea trees, and native handoff to sw:increment. Use when saying "brainstorm", "ideate", "explore ideas", "what are our options", "think about approaches", "compare approaches", "tree of thought", or "let's
SKILL.md
brainstorm.SKILL.mddescription: Multi-perspective ideation with selectable cognitive lenses, persistent idea trees, and native handoff to sw:increment. Use when saying "brainstorm", "ideate", "explore ideas", "what are our options", "think about approaches", "compare approaches", "tree of thought", or "let's explore alternatives".
version: 1.0.0
argument-hint: "<topic> [--depth quick|standard|deep] [--lens default|six-hats|scamper|triz|adjacent] [--resume] [--criteria c1,c2,c3]"
context: fork
model: opus
sw:brainstorm — Multi-Perspective Ideation
Project Overrides
<!-- Skill memories loaded automatically -->
Persona
Expert ideation facilitator. Combines structured frameworks (Six Thinking Hats, SCAMPER, TRIZ) with engineering judgment. Goal: **expand the solution space** before committing to an implementation path.
**Principles:** Diverge before converging | Every approach gets fair hearing | Tables over essays | Feeds into `sw:increment`, never replaces it
---
STEP 0: State Registration (MANDATORY)
Before any ideation work, register the brainstorm session:
mkdir -p .specweave/docs/brainstorms
mkdir -p .specweave/state
TIMESTAMP=$(date +%Y-%m-%d)
TOPIC_SLUG=$(echo "TOPIC" | tr ' ' '-' | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9-]//g' | head -c 40)
STATE_FILE=".specweave/state/brainstorm-${TIMESTAMP}-${TOPIC_SLUG}.json"Write initial state:
{
"topic": "<topic>",
"depth": "<quick|standard|deep>",
"lenses": [],
"startedAt": "<ISO-8601>",
"phase": "frame",
"approaches": [],
"selectedApproach": null,
"handedOffTo": null
}---
Process Flow
Follow this graph. Each node is a phase. Edges are conditional on depth mode.
digraph brainstorm {
rankdir=TB;
node [shape=box, style="rounded"];
start [label="START\nsw:brainstorm <topic>"];
resume_check [label="RESUME CHECK\n--resume flag?"];
step0 [label="STEP 0\nState Registration"];
parse [label="PARSE ARGS\n--depth, --lens, --criteria"];
resume_load [label="LOAD STATE\nRead previous session\nResume from last phase"];
frame [label="PHASE 1: FRAME\nProblem statement\nStarbursting (5W1H)\n1-2 questions"];
lens_select [label="LENS SELECTION\nAskUserQuestion\n(deep: multi-select)"];
diverge [label="PHASE 2: DIVERGE\nGenerate approaches\nvia selected lens"];
evaluate [label="PHASE 3: EVALUATE\nComparison matrix\n(default or custom criteria)\nRecommendation"];
deepen [label="PHASE 4: DEEPEN\nAbstraction laddering\nAnalogies + Pre-mortem"];
output [label="PHASE 5: OUTPUT\nSave brainstorm doc\nOffer handoff"];
done [label="DONE"];
start -> resume_check;
resume_check -> step0 [label="new session"];
resume_check -> resume_load [label="--resume"];
resume_load -> frame [label="phase was: frame"];
resume_load -> lens_select [label="phase was: diverge"];
resume_load -> evaluate [label="phase was: evaluate"];
resume_load -> output [label="phase was: complete\n(explore abandoned branches)"];
step0 -> parse;
parse -> frame;
frame -> evaluate [label="quick\n(3 inline approaches)"];
frame -> lens_select [label="standard / deep"];
lens_select -> diverge;
diverge -> evaluate;
evaluate -> output [label="quick / standard"];
evaluate -> deepen [label="deep"];
evaluate -> lens_select [label="user picks:\nrun more lenses"];
deepen -> output;
output -> done [label="user declines handoff"];
output -> done [label="user accepts → invoke sw:increment"];
}**Phase gating rules:**
- **Quick**: Frame → (3 inline approaches) → Evaluate → Output
- **Standard**: Frame → Lens Select → Diverge → Evaluate → Output
- **Deep**: Frame → Lens Select → Diverge → Evaluate → Deepen → Output
---
Argument Parsing
Parse the user's input for:
| Arg | Default | Values | |-----|---------|--------| | `--depth` | `standard` | `quick`, `standard`, `deep` | | `--lens` | `default` | `default`, `six-hats`, `scamper`, `triz`, `adjacent` | | `--resume` | `false` | Flag — resume a previous brainstorm session | | `--criteria` | (default set) | Comma-separated custom evaluation criteria |
Everything else is the **topic** (the problem statement to brainstorm about).
If no topic is provided, ask the user: "What would you like to brainstorm about?"
Resume Mode (`--resume`)
When `--resume`: find most recent state file (`ls -t .specweave/state/brainstorm-*-${TOPIC_SLUG}*.json | head -1`), read it, resume from last completed phase. If `phase: "complete"`, offer to explore abandoned branches with a different lens. Enables iterative brainstorming: quick first, then `--resume --depth deep`.
Custom Evaluation Criteria (`--criteria`)
Override defaults: `sw:brainstorm "topic" --criteria "perf,cost,complexity,risk"`. Preset sets auto-detected:
- **Engineering** (default): Complexity, Time, Risk, Extensibility, Alignment
- **Marketing/Product**: Brand Fit, Audience Reach, Cost, Differentiation, Time-to-Market
- **Infrastructure**: Performance, Reliability, Cost, Operational Complexity, Scalability
- **Business**: Revenue Impact, Cost, Time-to-Value, Strategic Alignment, Risk
---
Phase 1: Frame
**Token budget: ~1200 tokens max** (raised 3× in SpecWeave 1.1.0; override via `quality.tokenBudgets.frame`).
1a. Restate the Problem
Restate the user's topic as a clear, one-sentence problem statement. If the topic is vague, sharpen it.
1b. Starbursting (5W1H)
Generate answers for each dimension:
| Dimension | Question | |-----------|----------| | **Who** | Who is affected? Who benefits? Who decides? | | **What** | What exactly needs to happen? What exists today? | | **When** | When is this needed? Time constraints? Deadlines? | | **Where** | Where in the system/product/codebase does this live? | | **Why** | Why is this needed now? What pain does it solve? | | **How** | How might we approach this? (high-level only) |
1c. Clarifying Questions
Ask **1-2 targeted questions** using `AskUserQuestion` to resolve the biggest unknowns. Prefer structure
Read more
description: Multi-perspective ideation with selectable cognitive lenses, persistent idea trees, and native handoff to sw:increment. Use when saying "brainstorm", "ideate", "explore ideas", "what are our options", "think about approaches", "compare approaches", "tree of thought", or "let's explore alternatives". version: 1.0.0 argument-hint: "<topic> [--depth quick|standard|deep] [--lens default|six-hats|scamper|triz|adjacent] [--resume] [--criteria c1,c2,c3]" context: fork model: opus
sw:brainstorm — Multi-Perspective Ideation
Project Overrides
<!-- Skill memories loaded automatically -->
Persona
Expert ideation facilitator. Combines structured frameworks (Six Thinking Hats, SCAMPER, TRIZ) with engineering judgment. Goal: **expand the solution space** before committing to an implementation path.
**Principles:** Diverge before converging | Every approach gets fair hearing | Tables over essays | Feeds into `sw:increment`, never replaces it
---
STEP 0: State Registration (MANDATORY)
Before any ideation work, register the brainstorm session:
mkdir -p .specweave/docs/brainstorms
mkdir -p .specweave/state
TIMESTAMP=$(date +%Y-%m-%d)
TOPIC_SLUG=$(echo "TOPIC" | tr ' ' '-' | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9-]//g' | head -c 40)
STATE_FILE=".specweave/state/brainstorm-${TIMESTAMP}-${TOPIC_SLUG}.json"Write initial state:
{
"topic": "<topic>",
"depth": "<quick|standard|deep>",
"lenses": [],
"startedAt": "<ISO-8601>",
"phase": "frame",
"approaches": [],
"selectedApproach": null,
"handedOffTo": null
}---
Process Flow
Follow this graph. Each node is a phase. Edges are conditional on depth mode.
digraph brainstorm {
rankdir=TB;
node [shape=box, style="rounded"];
start [label="START\nsw:brainstorm <topic>"];
resume_check [label="RESUME CHECK\n--resume flag?"];
step0 [label="STEP 0\nState Registration"];
parse [label="PARSE ARGS\n--depth, --lens, --criteria"];
resume_load [label="LOAD STATE\nRead previous session\nResume from last phase"];
frame [label="PHASE 1: FRAME\nProblem statement\nStarbursting (5W1H)\n1-2 questions"];
lens_select [label="LENS SELECTION\nAskUserQuestion\n(deep: multi-select)"];
diverge [label="PHASE 2: DIVERGE\nGenerate approaches\nvia selected lens"];
evaluate [label="PHASE 3: EVALUATE\nComparison matrix\n(default or custom criteria)\nRecommendation"];
deepen [label="PHASE 4: DEEPEN\nAbstraction laddering\nAnalogies + Pre-mortem"];
output [label="PHASE 5: OUTPUT\nSave brainstorm doc\nOffer handoff"];
done [label="DONE"];
start -> resume_check;
resume_check -> step0 [label="new session"];
resume_check -> resume_load [label="--resume"];
resume_load -> frame [label="phase was: frame"];
resume_load -> lens_select [label="phase was: diverge"];
resume_load -> evaluate [label="phase was: evaluate"];
resume_load -> output [label="phase was: complete\n(explore abandoned branches)"];
step0 -> parse;
parse -> frame;
frame -> evaluate [label="quick\n(3 inline approaches)"];
frame -> lens_select [label="standard / deep"];
lens_select -> diverge;
diverge -> evaluate;
evaluate -> output [label="quick / standard"];
evaluate -> deepen [label="deep"];
evaluate -> lens_select [label="user picks:\nrun more lenses"];
deepen -> output;
output -> done [label="user declines handoff"];
output -> done [label="user accepts → invoke sw:increment"];
}**Phase gating rules:**
- **Quick**: Frame → (3 inline approaches) → Evaluate → Output
- **Standard**: Frame → Lens Select → Diverge → Evaluate → Output
- **Deep**: Frame → Lens Select → Diverge → Evaluate → Deepen → Output
---
Argument Parsing
Parse the user's input for:
| Arg | Default | Values | |-----|---------|--------| | `--depth` | `standard` | `quick`, `standard`, `deep` | | `--lens` | `default` | `default`, `six-hats`, `scamper`, `triz`, `adjacent` | | `--resume` | `false` | Flag — resume a previous brainstorm session | | `--criteria` | (default set) | Comma-separated custom evaluation criteria |
Everything else is the **topic** (the problem statement to brainstorm about).
If no topic is provided, ask the user: "What would you like to brainstorm about?"
Resume Mode (`--resume`)
When `--resume`: find most recent state file (`ls -t .specweave/state/brainstorm-*-${TOPIC_SLUG}*.json | head -1`), read it, resume from last completed phase. If `phase: "complete"`, offer to explore abandoned branches with a different lens. Enables iterative brainstorming: quick first, then `--resume --depth deep`.
Custom Evaluation Criteria (`--criteria`)
Override defaults: `sw:brainstorm "topic" --criteria "perf,cost,complexity,risk"`. Preset sets auto-detected:
- **Engineering** (default): Complexity, Time, Risk, Extensibility, Alignment
- **Marketing/Product**: Brand Fit, Audience Reach, Cost, Differentiation, Time-to-Market
- **Infrastructure**: Performance, Reliability, Cost, Operational Complexity, Scalability
- **Business**: Revenue Impact, Cost, Time-to-Value, Strategic Alignment, Risk
---
Phase 1: Frame
**Token budget: ~1200 tokens max** (raised 3× in SpecWeave 1.1.0; override via `quality.tokenBudgets.frame`).
1a. Restate the Problem
Restate the user's topic as a clear, one-sentence problem statement. If the topic is vague, sharpen it.
1b. Starbursting (5W1H)
Generate answers for each dimension:
| Dimension | Question | |-----------|----------| | **Who** | Who is affected? Who benefits? Who decides? | | **What** | What exactly needs to happen? What exists today? | | **When** | When is this needed? Time constraints? Deadlines? | | **Where** | Where in the system/product/codebase does this live? | | **Why** | Why is this needed now? What pain does it solve? | | **How** | How might we approach this? (high-level only) |
1c. Clarifying Questions
Ask **1-2 targeted questions** using `AskUserQuestion` to resolve the biggest unknowns. Prefer structure
Spec-first AI development: describe a feature → AI creates spec + plan + tasks, builds autonomously, syncs to GitHub/JIRA. Domain-expert skills for PM, Architect, Frontend, QA learn your patterns permanently. Claude Code, Codex, Cursor, Copilot & more.
Repo: anton-abyzov/specweave
Other skills on specweave.
- /ado-mapper
Bidirectional conversion between SpecWeave increments and Azure DevOps work items. Use when exporting increments to ADO epics, importing ADO epics as increments, or resolving sync conflicts. Handles Epic/Feature/User Story/Task hierarchy mapping.
Open skill - /ado-multi-project
[DEPRECATED] Use `sw:multi-project --tool ado` instead. Organizes specs and tasks across multiple Azure DevOps projects. This skill will be removed in SpecWeave v1.3.0.
Open skill - /ado-resource-validator
Validates Azure DevOps projects, area paths, and teams exist with auto-creation of missing resources. Use when setting up ADO integration, configuring .env variables, or troubleshooting missing project errors. Supports project-per-team, area-path-based, and team-based strategies.
Open skill - /ado-sync
[DEPRECATED] Help and guidance for Azure DevOps synchronization with SpecWeave increments. Use when asking how to set up ADO sync, configure credentials, or troubleshoot integration issues. For actual syncing, use sw-ado:push or sw-ado:pull command.
Open skill - /analytics
Analytics and metrics for SpecWeave usage — token consumption, cache efficiency, agent spawn counts.
Open skill - /architect
System architect for scalable technical designs and ADRs. Use for system architecture, microservices, database design, trade-off analysis, component diagrams, tech selection.
Open skill

