/brainstorm
Optional divergent-then-convergent dialogue for fuzzy ideas. Invoked from the idea skill as a prelude to structured elaboration; produces one ElaborationRound of decision-point Q&A and returns control. Never writes files, never posts comments, never validates elaboration.
$ npx -y skills add Chorus-AIDLC/Chorus --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.
Optional divergent-then-convergent dialogue for fuzzy ideas. Invoked from the idea skill as a prelude to structured elaboration; produces one ElaborationRound of decision-point Q&A and returns control. Never writes files, never posts comments, never validates elaboration.
SKILL.md
brainstorm.SKILL.mdname: brainstorm
description: Optional divergent-then-convergent dialogue for fuzzy ideas. Invoked from the idea skill as a prelude to structured elaboration; produces one ElaborationRound of decision-point Q&A and returns control. Never writes files, never posts comments, never validates elaboration.
license: AGPL-3.0
metadata:
author: chorus
version: "0.16.0"
category: project-management
mcp_server: chorus
Brainstorm Skill
A divergent-then-convergent dialogue cadence for ideas whose direction is still being formed. Compresses the conversation into one `ElaborationRound` of decision-point Q&A — same shape as a structured elaboration round, but the questions, options and answers are synthesized at the end of the conversation rather than asked up front.
This skill is a **producer** of one elaboration round; the **scheduler** decision (validate vs. follow-up) belongs to the calling idea skill.
> **Tool namespace:** Chorus tools are exposed by the connected MCP server under a `chorus__` prefix on OpenClaw (e.g. `chorus__chorus_get_idea`). Bare names are used below for readability — prepend `chorus__` when invoking. See `/chorus` for the full rule.
> **OpenClaw interaction model:** OpenClaw has no `AskUserQuestion` primitive. Every "ask the user" step below is a **plain-text prompt** — write the question (and options) in your message and wait for the user's free-text reply before continuing. The one-question-at-a-time cadence still holds: send one question, read the answer, then send the next.
---
When invoked
Only as a sub-step of the idea skill, only after the user has explicitly opted in (via the idea skill's plain-text Brainstorm prompt). Never run standalone, never run without user opt-in. The expected entry point is the idea skill's "Step 4.5: Brainstorm Mode (Optional Prelude)" — see the idea skill for the surrounding flow.
---
Hard rules
1. **One question at a time.** Each prompt MUST contain exactly one question. Wait for the user's reply before asking the next. 2. **Multi-choice preferred.** Frame each question as 2-4 options where possible (offer them as a lettered list in your plain-text prompt). Open-ended is acceptable when options would be premature, but lean toward concrete choices. 3. **Propose 2-3 directions before stopping divergence.** Once the requirement direction is clear enough to enumerate, present 2-3 distinct approaches in a single prompt. Mark exactly one as the recommended option and say why (the dominant tradeoff). 4. **Explicit user approval required to exit divergence.** Do NOT proceed to synthesis until the user has selected one of the proposed directions in their reply. 5. **No files written.** Do NOT write any markdown, design doc, scratch file, or any other file to disk. The conversation produces an `ElaborationRound` and nothing else on disk. 6. **No comments posted.** Do NOT call `chorus_add_comment` from this skill. Comments belong to the idea skill or the user, not to the brainstorm step. 7. **No design-doc handoff.** Do NOT invoke `writing-plans`, `writing-skills`, or any skill whose purpose is to produce a design document. The brainstorm output is the synthesized round — there is no separate doc. 8. **No `validate_elaboration` call.** Do NOT call `chorus_pm_validate_elaboration` from this skill. Whether to resolve the elaboration or open a follow-up round (`chorus_pm_start_elaboration` again) is the calling idea skill's decision, not this skill's.
---
Step-by-step
1. Gather context
Before asking the first divergent question, read the idea and surrounding project state. Mirror the idea skill's gather-context list:
chorus_get_idea({ ideaUuid })
chorus_get_documents({ projectUuid })
chorus_get_document({ documentUuid }) # for any document worth reading in full
chorus_get_proposals({ projectUuid, status: "approved" }) # to understand patterns
chorus_list_tasks({ projectUuid }) # to avoid duplicating existing work
chorus_get_comments({ targetType: "idea", targetUuid: ideaUuid })Skim each result for: stated background, stated requirements, stated constraints, and what is conspicuously NOT stated. The gaps are the questions worth asking.
2. Divergent Q&A
Ask one question at a time as a plain-text prompt. Aim to surface:
- The **goal** the idea is trying to serve (often more abstract than the idea statement).
- The **constraints** that exclude entire branches of solution space (deadlines, compatibility, scope).
- The **success criteria** — how will the user know this is done.
Keep each question single-purpose. If you need to ask three things, that is three prompts, not one combined message.
3. Propose 2-3 directions
When the goal, constraints, and success criteria are clear enough that you can name distinct approaches, present them in a single plain-text prompt:
Based on what you've told me, here are three directions. Which do you want? (reply A / B / C, or describe your own)
A) <Option A — RECOMMENDED> — <what + tradeoff>
B) <Option B> — <what + tradeoff>
C) <Option C> — <what + tradeoff>
I recommend A because <one sentence about the dominant tradeoff>.
State **why** you recommend one option — usually a sentence about the dominant tradeoff.
4. Wait for explicit approval
Do not proceed to synthesis if the user has not selected one of the options in their reply. If the user picks "Other" with free text, treat that as a new constraint — go back to step 2 or step 3 with the refined direction.
5. Synthesize decision-point Q&A
For each material decision the user made during the conversation, build one `ElaborationQuestion`. A "material decision" is a moment where the user chose between alternatives or set scope explicitly. Map each decision per the synthesis spec below.
6. Persist the round
Call `chorus_pm_start_elaboration` with the synthesized questions:
chorus_pm_start_elaboration({
ideaUuid,
depth: "standard",
questions: [
{ id: "q1", textRead more
name: brainstorm description: Optional divergent-then-convergent dialogue for fuzzy ideas. Invoked from the idea skill as a prelude to structured elaboration; produces one ElaborationRound of decision-point Q&A and returns control. Never writes files, never posts comments, never validates elaboration. license: AGPL-3.0 metadata: author: chorus version: "0.16.0" category: project-management mcp_server: chorus
Brainstorm Skill
A divergent-then-convergent dialogue cadence for ideas whose direction is still being formed. Compresses the conversation into one `ElaborationRound` of decision-point Q&A — same shape as a structured elaboration round, but the questions, options and answers are synthesized at the end of the conversation rather than asked up front.
This skill is a **producer** of one elaboration round; the **scheduler** decision (validate vs. follow-up) belongs to the calling idea skill.
> **Tool namespace:** Chorus tools are exposed by the connected MCP server under a `chorus__` prefix on OpenClaw (e.g. `chorus__chorus_get_idea`). Bare names are used below for readability — prepend `chorus__` when invoking. See `/chorus` for the full rule.
> **OpenClaw interaction model:** OpenClaw has no `AskUserQuestion` primitive. Every "ask the user" step below is a **plain-text prompt** — write the question (and options) in your message and wait for the user's free-text reply before continuing. The one-question-at-a-time cadence still holds: send one question, read the answer, then send the next.
---
When invoked
Only as a sub-step of the idea skill, only after the user has explicitly opted in (via the idea skill's plain-text Brainstorm prompt). Never run standalone, never run without user opt-in. The expected entry point is the idea skill's "Step 4.5: Brainstorm Mode (Optional Prelude)" — see the idea skill for the surrounding flow.
---
Hard rules
1. **One question at a time.** Each prompt MUST contain exactly one question. Wait for the user's reply before asking the next. 2. **Multi-choice preferred.** Frame each question as 2-4 options where possible (offer them as a lettered list in your plain-text prompt). Open-ended is acceptable when options would be premature, but lean toward concrete choices. 3. **Propose 2-3 directions before stopping divergence.** Once the requirement direction is clear enough to enumerate, present 2-3 distinct approaches in a single prompt. Mark exactly one as the recommended option and say why (the dominant tradeoff). 4. **Explicit user approval required to exit divergence.** Do NOT proceed to synthesis until the user has selected one of the proposed directions in their reply. 5. **No files written.** Do NOT write any markdown, design doc, scratch file, or any other file to disk. The conversation produces an `ElaborationRound` and nothing else on disk. 6. **No comments posted.** Do NOT call `chorus_add_comment` from this skill. Comments belong to the idea skill or the user, not to the brainstorm step. 7. **No design-doc handoff.** Do NOT invoke `writing-plans`, `writing-skills`, or any skill whose purpose is to produce a design document. The brainstorm output is the synthesized round — there is no separate doc. 8. **No `validate_elaboration` call.** Do NOT call `chorus_pm_validate_elaboration` from this skill. Whether to resolve the elaboration or open a follow-up round (`chorus_pm_start_elaboration` again) is the calling idea skill's decision, not this skill's.
---
Step-by-step
1. Gather context
Before asking the first divergent question, read the idea and surrounding project state. Mirror the idea skill's gather-context list:
chorus_get_idea({ ideaUuid })
chorus_get_documents({ projectUuid })
chorus_get_document({ documentUuid }) # for any document worth reading in full
chorus_get_proposals({ projectUuid, status: "approved" }) # to understand patterns
chorus_list_tasks({ projectUuid }) # to avoid duplicating existing work
chorus_get_comments({ targetType: "idea", targetUuid: ideaUuid })Skim each result for: stated background, stated requirements, stated constraints, and what is conspicuously NOT stated. The gaps are the questions worth asking.
2. Divergent Q&A
Ask one question at a time as a plain-text prompt. Aim to surface:
- The **goal** the idea is trying to serve (often more abstract than the idea statement).
- The **constraints** that exclude entire branches of solution space (deadlines, compatibility, scope).
- The **success criteria** — how will the user know this is done.
Keep each question single-purpose. If you need to ask three things, that is three prompts, not one combined message.
3. Propose 2-3 directions
When the goal, constraints, and success criteria are clear enough that you can name distinct approaches, present them in a single plain-text prompt:
Based on what you've told me, here are three directions. Which do you want? (reply A / B / C, or describe your own) A) <Option A — RECOMMENDED> — <what + tradeoff> B) <Option B> — <what + tradeoff> C) <Option C> — <what + tradeoff> I recommend A because <one sentence about the dominant tradeoff>.
State **why** you recommend one option — usually a sentence about the dominant tradeoff.
4. Wait for explicit approval
Do not proceed to synthesis if the user has not selected one of the options in their reply. If the user picks "Other" with free text, treat that as a new constraint — go back to step 2 or step 3 with the refined direction.
5. Synthesize decision-point Q&A
For each material decision the user made during the conversation, build one `ElaborationQuestion`. A "material decision" is a moment where the user chose between alternatives or set scope explicitly. Map each decision per the synthesis spec below.
6. Persist the round
Call `chorus_pm_start_elaboration` with the synthesized questions:
chorus_pm_start_elaboration({
ideaUuid,
depth: "standard",
questions: [
{ id: "q1", textThe Agent Harness for AI-Human Collaboration, inspired by the AI-DLC (AI-Driven Development Lifecycle)
Repo: Chorus-AIDLC/Chorus
Other skills on chorus.
- /blog
Write release blog posts for Chorus — problem-first narrative, bilingual (zh/en), following the project's editorial style.
Open skill - /e2e-verification
Use when manually verifying a Chorus frontend change in a real browser — finding local login credentials, driving the running dev server with the Playwright MCP, logging in, navigating to a page, and capturing snapshots/screenshots for e2e acceptance.
Open skill - /openspec-apply-change
Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.
Open skill - /openspec-archive-change
Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.
Open skill - /openspec-explore
Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the user wants to think through something before or during a change.
Open skill - /openspec-propose
Propose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to build and get a complete proposal with design, specs, and tasks ready for implementation.
Open skill

