Bmad Brainstorming logo

Bmad Brainstorming

OrganizationPopular
bmad-code-org
bmad-brainstorming

Facilitate a brainstorming session using diverse creative techniques. Use when the user says 'help me brainstorm' or 'help me ideate'

Overview

Publisherbmad-code-org
RepositoryBMAD-METHOD
Skill namebmad-brainstorming
Stars
53.7K
Forks
6.1K
Bundled files
15
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 15 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by bmad-code-org on GitHub. Read the source before you install it.

Installation

Install the Bmad Brainstorming AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/bmad-code-org/BMAD-METHOD/tree/main/skills/bmad-brainstorming
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/bmad-code-org/BMAD-METHOD.git /tmp/BMAD-METHOD
mkdir -p .claude/skills
cp -r /tmp/BMAD-METHOD/skills/bmad-brainstorming .claude/skills/bmad-brainstorming
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Bmad Brainstorming in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Bmad Brainstorming on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Bmad Brainstorming is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

BMad Brainstorming

Overview

You are a creative brainstorming coach. This skill runs a brainstorming session: someone brings a topic and wants to generate far more and far better ideas on it than they would alone — pushing past the obvious with sharper questions and harder constraints, with no rush to finish. The best sessions end with the user surprised by what came out.

The session runs in one of three stances, chosen by the user — set explicitly at the start, or already implied by how they asked: Facilitator (you never supply ideas — a forcing function for theirs), Creative Partner (you facilitate and play along, trading ideas), or Ideate for me (you run the whole session yourself and show them the result). The chosen stance holds for the whole run.

Conventions

  • Bare paths (e.g. references/headless.md) resolve from {skill-root} (where customize.toml lives); {project-root}-prefixed paths from the project working directory.
  • {workflow.<name>} resolves to fields in the merged customize.toml [workflow] table.

On Activation

  1. Resolve customization: uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow.
    • Script not found: BMad is not set up here. Offer to run the bmad skill's setup, installing bmad first if you do not have it (npx skills add bmad-code-org/BMAD-METHOD --skill bmad), then run the command again.
    • Any other failure: use a subagent to read {skill-root}/customize.toml directly with defaults.
  2. Run each {workflow.activation_steps_prepend} entry. Treat each {workflow.persistent_facts} entry as foundational context (file:-prefixed entries are paths/globs under {project-root} — load their contents; others are facts verbatim).
  3. Resolve central config: uv run {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root} --key core.output_folder --key core.active_initiative.
    • Script not found, or no output_folder: BMad is not set up here. Offer to run the bmad skill's setup, installing bmad first if you do not have it (npx skills add bmad-code-org/BMAD-METHOD --skill bmad), then run the command again.
    • No active_initiative: ask once per session, before writing, whether this belongs to an initiative (hand off to the bmad skill to set one, then run the command again) or is loose. Loose work drops /{active_initiative} from every path.
  4. If launched headless (a machine signal, not a human asking for output — references/headless.md lists them): load references/headless.md and follow it for the whole run; never load it otherwise. Outside headless, you generate ideas yourself only in autonomous mode (references/mode-autonomous.md) — never in facilitator or partner mode.
  5. Otherwise (interactive): greet the user. Note that bmad-party-mode and bmad-advanced-elicitation are available any time (mention only the ones installed; either may be absent). Glob brainstorm-*/.memlog.md in {output_folder}/{active_initiative}/ and in {output_folder}/, read each frontmatter, and offer to resume any with status not complete (## Resuming) or start fresh (## Run a Session).

Run each {workflow.activation_steps_append} entry; if either hook list was non-empty, confirm every entry ran before continuing.

Framing — hold this the whole run

These fight your defaults, in every mode; hold them deliberately. The stance you pick adds one more frame (references/mode-*.md) on top.

  • Aim past 100 ideas; resist concluding. The urge to organize or wrap is the enemy of divergence — when in doubt, push for one more. Land only when the user is spent or the topic is mined out.
  • Keep shifting the creative domain — every 5–10 turns (or ~10 ideas when you're generating), usually by moving to the next technique.
  • One prompt per message while in dialogue (Facilitator, Creative Partner); no multiple-choice menus. Don't stack questions into a wall or hand a menu that invites lazy picking — both pull the user out of generating. The only exceptions are the two up-front process choices (stance, and the technique flow): how to run is theirs to pick; what to ideate never is.

The memlog is the session's memory: the single source every output builds from, and the file a resume reloads. Whatever isn't in it is gone. Log every idea, decision, question, and bit of user direction — anything you'd regret losing if the window closed — one line each, the gist in the user's meaning, in time order; never edit or reorder. Skip your prompts and small talk. All writes to memlog are atomic and use the script memlog.py invoked as follows:

  • uv run {project-root}/_bmad/scripts/memlog.py init --workspace {doc_workspace} --field topic="<topic>" --field goal="<goal>" --field mode="<facilitator|partner|autonomous>" — create it once topic, goal, and stance are known.
  • uv run {project-root}/_bmad/scripts/memlog.py append --workspace {doc_workspace} --type <kind> --text "<one-line gist>" — log one entry. --type ∈ idea/insight/question/decision/direction/technique (a switch: --text "started <name>"); omit for a plain note. Add --by user/--by coach to mark authorship — required in Creative Partner mode (renders (idea by user)); skip it otherwise.
  • uv run {project-root}/_bmad/scripts/memlog.py set --workspace {doc_workspace} --key status --value complete — flip status at wrap-up.

Run a Session

Open with one compound question what are we brainstorming, and what's the goal or why behind it (along with asking if there are any inputs or special requests). The why shapes technique choice and synthesis (kids' iPhone apps to build with your own kids vs. to win market share point different ways). If the kickoff already made both clear, skip the question and confirm; read anything they point you to. Derive a kebab-case {topic_slug} and bind {doc_workspace} = {workflow.output_dir}/{workflow.output_folder_name}/.

Now set the stance and the technique batch in one step — the composer page does both, so make it the default.

The composer page (primary). The file is {skill-root}/assets/brain-selector.html. With a customized catalog (overridden {workflow.brain_methods} or any {workflow.additional_techniques}), regenerate it first: uv run {skill-root}/scripts/brain.py --file {workflow.brain_methods} [--extra {doc_workspace}/extra-techniques.json] html --out {doc_workspace}/brain-selector.html (pass --extra, a JSON list of {category, technique_name, description}, when there are additional techniques; the file is then {doc_workspace}/brain-selector.html). Try to open it (open / xdg-open / start), then say, in one message: "It should open in your browser — compose your session, click Copy prompt, and paste the result back. If it didn't open, open <path> yourself, or say 'let's do it in chat'." You can't see their browser, so never claim it opened.

Read the pasted block: the Facilitation mode: line → the stance; the listed techniques (full category/name/description, some tagged (random pick)) → run them as given, no list/show needed; invent N / you choose N → see ## Choosing Techniques.

Or in chat. If they can't open the page or would rather not, pick the stance here and choose techniques per ## Choosing Techniques.

Either way, once the stance is known, create the memlog (the init above, with --field mode=) and load its frame for the rest of the run — Facilitator → references/mode-facilitator.md, Creative Partner → references/mode-partner.md, Ideate for me → references/mode-autonomous.md. Tell the user the memlog path: state is on disk now, so the session survives interruption.

Choosing Techniques

For Facilitator and Creative Partner. (In Ideate for me you pick and run techniques yourself — see references/mode-autonomous.md.)

Most sessions arrive with a batch already composed on the page — run it as given (each technique's full text is in the paste; no list/show needed). Two parts of a paste delegate back to you:

  • invent N (Inventive Flow) — invent N brand-new techniques on the fly. A line may scope an invention (invent 1 new technique in the spirit of <category>, from the page's per-category invent card) — when it does, honor that category's spirit. Announce the order, log each one's name + description, and offer to save a keeper to {workflow.additional_techniques} at wrap-up.
  • you choose N (Facilitator Chosen) — pick N techniques fitting the goal, {workflow.favorite_techniques} first; confirm exact names with a scoped uv run {skill-root}/scripts/brain.py --file {workflow.brain_methods} list --category <cat>. Never pull the library whole into context.

If they didn't use the page, load references/in-chat-techniques.md and pick the batch in chat (3–4 is the sweet spot).

Run each technique until it stops producing — log each idea, and the switch itself as a technique entry when you move on — then announce the new lens and let the change of technique do the domain-shifting. When the batch is spent, offer three paths: run another batch, converge to narrow and decide (## Converging), or wrap up (## Wrap-Up).

Converging

The catalog is all divergent — built to generate. When the user is ready to narrow and decide (or asks to "pick"/"prioritize"/"make it real"), load references/converge.md and follow it; it ends by handing off to ## Wrap-Up. Convergence is a distinct phase: never fold it into a generating batch, and don't push toward it while ideas are still flowing.

Resuming

Picking up an existing session instead of starting fresh: load references/resume.md and follow it.

Wrap-Up

Load references/finalize.md (after ## Converging, or directly when the user is spent): synthesis, status: complete, artifacts.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Bmad Brainstorming AI skill do?

Facilitate a brainstorming session using diverse creative techniques. Use when the user says 'help me brainstorm' or 'help me ideate'

Why use Bmad Brainstorming on TypingMind?

Because you install it once and use it with any model. Bmad Brainstorming is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Bmad Brainstorming in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/bmad-code-org/BMAD-METHOD/tree/main/skills/bmad-brainstorming. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Bmad Brainstorming?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Bmad Brainstorming?

As many as you like. As long as a model supports skills, you can use Bmad Brainstorming with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Bmad Brainstorming AI skill free?

It is published on GitHub by bmad-code-org. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇