Agent skill

Brainstorm

by Chorus-AIDLC in Chorus-AIDLC/Chorus

Optional divergent-then-convergent dialogue for fuzzy ideas on Hermes.

AGPL-3.0Auto-check passedAgent Workflows

Install Brainstorm

skills CLI
$ npx skills add Chorus-AIDLC/Chorus --skill brainstorm -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Chorus-AIDLC/Chorus brainstorm --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Chorus-AIDLC/Chorus.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/chorus-hermes/chorus/skills/brainstorm .claude/skills/brainstorm && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
brainstorm
GitHub stars
1.2k
Token cost
~3.6k tokens
SKILL.md length
1,708 words
Files
1
Skills in repo
64
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Optional divergent-then-convergent dialogue for fuzzy ideas on Hermes.

  • Works in 7 steps: Gather context → Divergent Q&A → Propose 2-3 directions → …
  • Tasks that involve Brainstorming
  • SKILL.md covers When invoked, How a brainstorm question…, Research boundary and Hard rules, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Brainstorm is an agent skill from Chorus-AIDLC/Chorus. Optional divergent-then-convergent dialogue for fuzzy ideas on Hermes. Invoked from the idea skill as a prelude to structured elaboration; asks one question at a time (in chat, or as single-question elaboration rounds when no human is in chat), produces one ElaborationRound of decision-point Q&A and returns control. Never writes files, never posts summary or transcript comments, never resolves elaboration.

Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows, covering Brainstorming. The repository describes itself as: The Agent Harness for AI-Human Collaboration, inspired by the AI-DLC (AI-Driven Development Lifecycle). The licence is AGPL-3.0.

When your agent uses it

  • Tasks that involve Brainstorming

Example prompts

  • “/brainstorm”

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Gather context
  2. Divergent Q&A
  3. Propose 2-3 directions
  4. Wait for explicit approval
  5. Synthesize decision-point Q&A
  6. Persist the round
  7. Return control

What it can do on your machine

Read from SKILL.md and the folder at commit 4754822. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Brainstorm loads about 3.6k tokens when it runs. Until then it costs about 105 tokens; SKILL.md has 1,708 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~105
When it runs · the whole SKILL.md, loaded when a task matches
~3.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Chorus-AIDLC/Chorus at commit 4754822, republished under its AGPL-3.0 licence (© Chorus-AIDLC). 1,708 words, ~3,633 tokens.

Download SKILL.mdSave it as .claude/skills/brainstorm/SKILL.md (or your agent's skills folder).
name
brainstorm
description
Optional divergent-then-convergent dialogue for fuzzy ideas on Hermes. Invoked from the idea skill as a prelude to structured elaboration; asks one question at a time (in chat, or as single-question elaboration rounds when no human is in chat), produces one ElaborationRound of decision-point Q&A and returns control. Never writes files, never posts summary or transcript comments, never resolves elaboration.
license
AGPL-3.0
metadata.author
chorus
metadata.version
0.22.0
metadata.category
project-management
metadata.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 (resolve vs. follow-up) belongs to the calling idea skill.


When invoked

Only as a sub-step of the idea skill, only after the user has explicitly opted in (a yes to the brainstorm offer, given in chat or as a reply to the idea skill's @mention comment). 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)" — load it with skill_view("chorus:idea") to see the surrounding flow.


How a brainstorm question reaches the human

Every question in this skill is asked one at a time, through one of two channels. Pick the channel from the session you are in:

  • Interactive mode — the human is in chat (a Hermes CLI/TUI session where the human is typing to you): ask the question directly in the chat. Number it, list the options with letters (a, b, c…), mark your recommended option, and wait for the reply. Do not create an elaboration round per chat question — the synthesized round in Step 6 is the audit trail for interactive brainstorms.

  • Gateway mode — Chorus woke you, or no human is in chat (a hermes gateway turn triggered by a Chorus notification, in the session keyed idea:<ideaUuid>): each question becomes one single-question elaboration round:

    1. chorus_pm_start_elaboration({ ideaUuid, depth: "minimal", questions: [ <exactly one question> ] }). Prefix brainstorm question ids with bs (bs1, bs2, …) so the rounds are recognizable when you resume.
    2. Post one pointer comment on the Idea with chorus_add_comment that @mentions the owner (@[Name](user:<ownerUuid>), owner from the ## Checkin the Chorus Hermes plugin injected, or chorus_checkin), e.g. "@[Owner](user:<uuid>) Brainstorm question <n> is waiting in the elaboration panel: <one-line question>." The comment only points at the round; it never carries a summary or transcript.
    3. END THE TURN. Do not poll. The gateway wakes you (same idea:<ideaUuid> session) when the round is answered or the owner replies.
    4. On wake, re-read chorus_get_elaboration({ ideaUuid }) to recover the answers so far (context may have been compressed), then continue with the next single question.

    Each gateway round counts toward the Idea's 10-round cap, and the caller still needs room for a follow-up structured round. Keep gateway brainstorms tight: few divergent questions, then the convergence question.

The Chorus UI adds a free-text "Other" to every round question automatically — do not add one yourself. In chat, the human may always answer in free text.


Research boundary

Reuse the calling Idea's findings and follow the shared research rules (skill_view("chorus:research")); switching into brainstorm does not grant a second investigation. If the goal needed focusing first, after the user selects a direction and before synthesis, apply the caller's optional research decision once with that focus. Return any findings alongside the synthesized round for the Idea caller to persist. Research does not choose the user's direction, remove the opt-in/selection gate, write files/comments, or resolve elaboration.

Hard rules

  1. One question at a time. Each chat message asks exactly one question; in gateway mode each chorus_pm_start_elaboration call contains exactly one question entry. Wait for the answer before asking the next.
  2. Multi-choice preferred. Frame each question as 2-4 options where possible. Open-ended is acceptable when options would be premature, but lean toward concrete choices. (A round question always needs 2-5 options; if you truly need an open question in gateway mode, give your best-guess options and let the human use "Other".)
  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 question (one chat question, or one single-question round). Mark exactly one as recommended: in chat append (Recommended) to that option; in a round, append (Recommended) to that option's label and say why in its description.
  4. Explicit user approval required to exit divergence. Do NOT proceed to synthesis until the user has selected one of the proposed directions.
  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 summary or transcript comments. Do NOT use chorus_add_comment for anything except the gateway-mode pointer comment described above (one short @mention per pending single-question round). Summaries, confirmations and discussion belong to the idea skill or the user, not to the brainstorm step.
  7. No design-doc handoff. Do NOT invoke any skill whose purpose is to produce a design document or implementation plan. 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.
  9. Never answer on the human's behalf. Divergent and convergence questions are answered by the human (in chat or in the Chorus UI). The only answers you submit yourself are the Step 6 synthesized round, which records decisions the human already made.

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 through the channel chosen above. 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 questions (three chat turns, or three single-question rounds), not one combined question.

Interactive example:

Question 1 — What is the main goal behind this idea?
  a) Cut onboarding time for new users (Recommended — the idea text leans this way)
  b) Reduce support load on the team
  c) Unblock a specific customer request
Reply with a letter, or describe something else.

Gateway example (one round, then the pointer comment, then end the turn):

chorus_pm_start_elaboration({
  ideaUuid,
  depth: "minimal",
  questions: [
    {
      id: "bs1",
      text: "What is the main goal behind this idea?",
      category: "business_context",
      options: [
        { id: "a", label: "Cut onboarding time (Recommended)", description: "The idea text leans this way" },
        { id: "b", label: "Reduce support load" },
        { id: "c", label: "Unblock a specific customer request" }
      ]
    }
  ]
})
Show full SKILL.md (695 more words)Show less
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 convergence question.

Interactive:

Question <n> — <the convergence question>
  a) Option A (Recommended) — <what + tradeoff>
  b) Option B — <what + tradeoff>
  c) Option C — <what + tradeoff>
Why I recommend A: <one sentence about the dominant tradeoff>.

Gateway (one single-question round, then the pointer comment, then end the turn):

chorus_pm_start_elaboration({
  ideaUuid,
  depth: "minimal",
  questions: [
    {
      id: "bs<n>",
      text: "<the convergence question>",
      category: "<derived category>",
      options: [
        { id: "a", label: "Option A (Recommended)", description: "<what + tradeoff>. Recommended because <dominant tradeoff>." },
        { id: "b", label: "Option B", description: "<what + tradeoff>" },
        { id: "c", label: "Option C", description: "<what + tradeoff>" }
      ]
    }
  ]
})

The recommendation must be visibly marked to the user. State why you recommend it — 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. If the user picks "Other" (or replies in 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. In gateway mode, read the answered bs* rounds with chorus_get_elaboration as your source.

6. Persist the round

Call chorus_pm_start_elaboration with the synthesized questions:

chorus_pm_start_elaboration({
  ideaUuid,
  depth: "standard",
  questions: [
    { id: "q1", text: "...", category: "...", options: [...] },
    ...
  ]
})

Then submit the answers in one call (these record the human's own decisions; they are not answers on the human's behalf):

chorus_answer_elaboration({
  ideaUuid,
  roundUuid,
  answers: [
    { questionId: "q1", selectedOptionId: "...", customText: "<rationale>" },
    ...
  ]
})
7. Return control

Stop here. Do NOT call chorus_pm_validate_elaboration. The idea skill's caller now decides:

  • If the synthesized round answers cover everything → caller obtains human confirmation, then resolves with chorus_pm_validate_elaboration.
  • If gaps remain → caller opens a structured Round 2 by calling chorus_pm_start_elaboration again.

The depth of any follow-up round is the caller's call, not yours.


Synthesis spec

Each material decision becomes exactly one ElaborationQuestion with these fields:

FieldSource
textThe decision question, phrased neutrally. Example: "Which depth-model placement?"
categoryfunctional, non_functional, business_context, technical_context, user_scenario, or scope — derived from the topic.
optionsAll directions that were considered, length 2-5. Collapse near-duplicates into one option.
selectedOptionIdThe id of the option the user approved.
customTextA 1-3 sentence rationale capturing the constraint or tradeoff that drove the choice. Not a transcript dump.

Rules:

  • A customText longer than ~3 sentences is a sign you are summarizing transcript instead of capturing rationale. Cut.
  • An options array of length 2 with binary "yes / no" framing is a sign you pre-narrowed alternatives. Re-examine — there are usually at least three meaningfully different paths, even if two of them get rejected quickly.
  • Skip "decisions" that were never genuinely contested. If the user agreed instantly to the only proposal, that is information for the idea content, not a decision-point Q&A.

Anti-patterns

Do not do any of the following. Each has a specific failure mode that this skill must prevent:

  • Single-summary customText blob. Compressing the entire conversation into one ElaborationQuestion with a long markdown summary in customText. The schema is multi-question for a reason — preserve the decision granularity.
  • Transcript-as-comment. Posting the raw conversation log as a comment on the idea (or anywhere). The synthesized round IS the artifact. Raw transcripts pollute the audit trail with noise. The gateway pointer comment is one line that points at a pending round — nothing more.
  • File writes. Writing any markdown, design doc, plan, or scratch file to disk. There is no design doc in this flow. The brainstorm output is the synthesized round, not an external document.
  • validate_elaboration calls. Closing the elaboration phase from this skill. The lifecycle decision belongs to the idea skill. Calling it here strips the caller of its scheduler role.
  • Design-doc handoff. Invoking any skill that produces an implementation plan or design document. The Chorus pipeline already has Proposal → Document Drafts → Task Drafts for that — the brainstorm output feeds them through ElaborationRound, not through external doc skills.
  • Length-2 binary "yes / no" framings. Reducing every decision to "do this thing — yes / no". Almost always the genuine alternatives are 3+ approaches with meaningfully different tradeoffs. Length-2 framings often mean the divergent phase ended too early.
  • Asking multiple questions at once. The cadence is one question per turn during divergence (one chat question, or one single-question round), then one final convergence question with 2-3 options. Combining unrelated questions in one message or one round is a sign you are rushing.
  • Polling in gateway mode. Looping on chorus_get_elaboration waiting for the human. Post the pointer comment and end the turn; the gateway wakes you.

© Chorus-AIDLC, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in packages/chorus-hermes/chorus/skills/brainstorm of Chorus-AIDLC/Chorus.

Open the folder on GitHubat commit 4754822

Compare with similar skills

Brainstorm next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Brainstorm compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Brainstorm this skillChorus-AIDLC/Chorus1.2k—~3.6kAutomated safety check: PassAGPL-3.0
Brainstormingxpinjection/test-driven-spring-boot11254 repos~2.6kAutomated safety check: PassMIT
Typesafe AIOpenAgentsInc/openagents4559 repos~2.5kAutomated safety check: PassMIT
Yao Meta Skillyaojingang/yao-meta-skill2.7k—~768Automated safety check: PassMIT
Trellis StartROYIANS/foliq-print-template-designer1356 repos~646Automated safety check: PassMIT
Brainstorming Before BuildingjnMetaCode/superpowers-zh8.3k—~1.8kAutomated safety check: PassMIT

Similar skills

  • Brainstorming

    xpinjection/test-driven-spring-boot

    You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior.

    112 GitHub starsUsed in 54 repos~2.6k tokens
    Agent WorkflowsAuto-check passed
  • Typesafe AI

    OpenAgentsInc/openagents

    Build AI-powered software with TypeSafe: small units of AI intelligence you can use like programming primitives.

    455 GitHub starsUsed in 9 repos~2.5k tokens
    Agent WorkflowsAuto-check passed
  • Yao Meta Skill

    yaojingang/yao-meta-skill

    Create, improve, or evaluate an existing skill from workflows, prompts, SOPs, scripts.

    2.7k GitHub stars~768 tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check passed
  • Trellis Start

    ROYIANS/foliq-print-template-designer

    Initializes an AI development session by reading workflow guides, developer identity, git status, active tasks, and project guidelines from .trellis/.

    135 GitHub starsUsed in 6 repos~646 tokens
    Agent WorkflowsAuto-check passed
  • Brainstorming Before Building

    jnMetaCode/superpowers-zh

    Turns a rough idea into an approved design before any code is written, sorting the request into spike, bounded or architectural and enforcing an approval gate.

    8.3k GitHub stars~1.8k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Om Brainstorm

    go-musicfox/go-musicfox

    Divergent conversation before any artifact exists — open questions one at a time, alternatives including building nothing, converging on a routing decision and a handoff brief for the next skill.

    2.6k GitHub starsUsed in 1 repo~1.6k tokens
    Agent WorkflowsAuto-check passed

More from Chorus-AIDLC/Chorus

All 64 skills in this repo
  • E2E Verification

    Chorus-AIDLC/Chorus

    A skill your agent uses 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…

    1.2k GitHub stars~1.5k tokensUpdated today
    Auto-check: notes
  • Blog

    Chorus-AIDLC/Chorus

    Write release blog posts for Chorus — problem-first narrative, bilingual (zh/en), following the project's editorial style.

    1.2k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Brainstorm

    Chorus-AIDLC/Chorus

    Optional divergent-then-convergent dialogue for fuzzy ideas.

    1.2k GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Brainstorm Chorus

    Chorus-AIDLC/Chorus

    Optional divergent-then-convergent dialogue for fuzzy ideas.

    1.2k GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Chorus Brainstorm

    Chorus-AIDLC/Chorus

    Optional divergent-then-convergent dialogue for fuzzy ideas.

    1.2k GitHub stars~2.3k tokensUpdated today
    Auto-check passed
  • Chorus CLI

    Chorus-AIDLC/Chorus

    How to install, configure, and use the chorus CLI — install it, manage agents with chorus agents (add/remove/list), the connection environment variables, and MCP operations via chorus mcp.

    1.2k GitHub stars~1.2k tokensUpdated today
    Auto-check: notes

Categories

Questions about Brainstorm

What does Brainstorm do?

Optional divergent-then-convergent dialogue for fuzzy ideas on Hermes. Brainstorm is an agent skill from Chorus-AIDLC/Chorus. Optional divergent-then-convergent dialogue for fuzzy ideas on Hermes.

When should I use Brainstorm?

Brainstorm fits situations like: tasks that involve Brainstorming.

How do I install Brainstorm in Claude Code?

Run `npx skills add Chorus-AIDLC/Chorus --skill brainstorm -a claude-code`. Or copy the skill folder (packages/chorus-hermes/chorus/skills/brainstorm in Chorus-AIDLC/Chorus) into .claude/skills/brainstorm in your project. Claude Code loads it when a task matches its description.

How do I install Brainstorm in Codex?

Run `npx skills add Chorus-AIDLC/Chorus --skill brainstorm -a codex`. Or copy the skill folder (packages/chorus-hermes/chorus/skills/brainstorm in Chorus-AIDLC/Chorus) into .agents/skills/brainstorm in your project. Codex loads it when a task matches its description.

Can I use Brainstorm in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Chorus-AIDLC/Chorus --skill brainstorm -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/brainstorm, .gemini/skills/brainstorm, .github/skills/brainstorm and .opencode/skills/brainstorm in your project.

What does Brainstorm need to run?

SKILL.md names no scripts, command-line tools or credentials: Brainstorm is instructions for the agent only.

Does Brainstorm access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Brainstorm safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Brainstorm use?

Brainstorm is published under the AGPL-3.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Brainstorm use?

About 3.6k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Brainstorm?

Skills that share tags, products or a category with Brainstorm: Brainstorming (xpinjection/test-driven-spring-boot, 112 stars), Typesafe AI (OpenAgentsInc/openagents, 455 stars), Yao Meta Skill (yaojingang/yao-meta-skill, 2.7k stars) and Trellis Start (ROYIANS/foliq-print-template-designer, 135 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Brainstorm?

Chorus-AIDLC (a GitHub organization) maintains it in Chorus-AIDLC/Chorus, which has 1,191 GitHub stars. The repository holds 64 skills in this directory. The repository was last updated on October 9, 2026.

Source: Chorus-AIDLC/Chorus on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.