Skip to content
Back to skills

Brainstorm

ASecurity

Multi-persona divergent→convergent brainstorm (platform skill). Agent loads this skill and runs the co-located runner (diverge → challenge → converge); humans only state intent (头脑风暴 / 帮我发散一下 / brainstorm / 想点子). Sibling of adversarial-review; reuses its provider layer. Use when the user wants ideas / options / approaches for an open-ended problem — NOT for reviewing existing code (that is adversarial-review).

  • 5 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 29, 2026
ai-agentsbashgitbackend

Works with

  • claude code
  • cli

Security analysis

A100/100

Pro scans all 8 files and shows the line behind each finding

Scanned September 29, 2026

npx -y skills add yunsii/wezdeck --skill brainstorm --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Brainstorm?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Brainstorm
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/yunsii-brainstorm/badge)](https://www.skillsdirectory.com/skills/yunsii-brainstorm)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: brainstorm
description: >
  Multi-persona divergent→convergent brainstorm (platform skill). Agent loads
  this skill and runs the co-located runner (diverge → challenge → converge);
  humans only state intent (头脑风暴 / 帮我发散一下 / brainstorm / 想点子).
  Sibling of adversarial-review; reuses its provider layer. Use when the user
  wants ideas / options / approaches for an open-ended problem — NOT for
  reviewing existing code (that is adversarial-review).
---

# Brainstorm (platform skill — single source)

**Who runs:** the coding agent, **not** the human.
**Never** tell the user to copy-paste `run.sh` as the primary path.
**Never** replace this with a solo idea dump and call it a brainstorm — the
point is *multiple independent personas + cross-model*, then a judge.

This directory is the **only** skill + runner unit. Other paths are symlinks
(installed by `scripts/dev/link-platform-skills.sh`). Do not maintain a second
SKILL.md body.

## Who runs what

| Actor | Duty |
| --- | --- |
| **Human** | Intent only:「头脑风暴」「帮我想想点子」「发散一下这个问题」 |
| **Any agent** | Load this skill → phrase the problem → run → relay result |
| **Host headless backends** | `claude` / `codex` / `grok` as personas / challenger / judge |

## When to load / run

- User wants ideas, options, approaches, or angles on an open-ended question
- User explicitly says 头脑风暴 / brainstorm / 发散 / 想点子

**Skip / redirect:**

- Concrete diff / existing **code** → **adversarial-review** (this skill is
  generative, not a defect finder)
- Someone's **design doc / RFC / ADR / 方案** when the intent is only to
  **evaluate that proposal** → default **设计评审** (main-agent structured
  challenge; host `validation.md` → Design proposal review). Do **not** default
  to a full diverge pass that ignores the proposal
- Same design doc when the user still wants **alternatives** → this skill is
  appropriate: phrase problem + extract hard constraints from the doc; prefer
  challenge-heavy use; full diverge only if the problem space is still open

## Three stages (divergent → convergent)

| Stage | Role | Stance |
| --- | --- | --- |
| 1 diverge | N persona lenses × cross-provider | expand — maximize novelty, no self-censoring |
| 2 challenge | devil's advocate | stress-test feasibility/risk, do not delete ideas |
| 3 converge | judge / facilitator | blind-rank + synthesize a recommendation |

Built-in personas (lenses): Moonshot Innovator · Pragmatic Builder ·
End-User Advocate · Contrarian/First-Principles. Configurable in
`lib/personas.conf` — add a lens = one line, no code edits.

**Reasoning effort per stage** (passed to the provider CLI): diverge=`low`
(favour breadth/speed over deep reasoning), challenge=`medium`, converge=`high`
(scoring + synthesis is where depth pays off).

## Why stateless (no session resume)

Each stage is a **fresh provider call**; the prior stage's JSON is passed as
INPUT, **not** via `claude --resume` / `codex exec resume`. Deliberate:

- **Diverge personas must not see each other** — independence is what defeats
  groupthink / anchoring; resume would share one context.
- **Resume binds a single provider**; brainstorm wants cross-model diversity
  (personas + challenger + judge on *different* backends when available).
- Stateless calls stay reproducible and each stage's JSON is schema-checked.

(Same rationale as adversarial-review — see memory `adversarial-review-no-resume`.)

## Agent procedure

1. **Phrase** the problem in one line; gather any hard constraints.
2. **Run** (defaults: 4 personas rotated over all available providers,
   challenger = 2nd available, judge = 3rd available):
   ```bash
   "$TOOL_HOME/run.sh" "<the problem>" --constraints "<optional>"
   ```
   Pin backends only if the user named them:
   ```bash
   "$TOOL_HOME/run.sh" "<problem>" \
     --diverge claude,codex --challenger codex --judge grok
   ```
   **长跑解耦(host 支持后台时)**:多角色 × 慢后端可能数分钟。若 host 支持后台执行
   (Claude Code 的 Bash `run_in_background`),后台跑 run.sh 且 `--json > <file>`,
   完成后读该文件再汇报,别同步阻塞会话;host 不支持(如 Codex-TUI)则同步跑并
   先给「耗时约 N 分钟」预告。
3. **Relay** the top ideas + synthesis + key tradeoffs, with the disclosure
   block below. Honest note if a stage was skipped (single-model / unavailable).

`$TOOL_HOME` = this directory (where `run.sh` lives); resolve via
`$ADV_REVIEW_HOME`-style discovery or `$HOME/github/wezterm-config/skills/brainstorm`.

## Options (see `run.sh --help`)

`--problem-file F` · `--constraints TEXT` / `--constraints-file F` ·
`--personas N` (1–4) · `--diverge CSV` · `--challenger P` · `--judge P` ·
`--top N` · `--json` · `--dry-run`

## Mandatory disclosure (paste into 结果)

```text
## 头脑风暴披露
- diverge personas: <N> over <providers>
- challenger: <provider>
- judge: <provider>
- consensus: 单盲评委推荐,非多模型共识(cross-model UNREVIEWED)
- notes / skipped: … | 无   (single-model? stage skipped?)
- top 想法(带 score/verdict) + synthesis + key tradeoffs
```

## Helper commands (agent-only)

```bash
"$TOOL_HOME/run.sh" selfcheck claude codex grok
"$TOOL_HOME/run.sh" "<problem>" --dry-run
"$TOOL_HOME/test.sh"           # offline smoke — PROVIDER_MOCK=1, no LLM calls
"$TOOL_HOME/test.sh" --live    # same checks, but against real providers
```

Install / refresh user-level discovery (idempotent):

```bash
./scripts/dev/link-platform-skills.sh
```

## Don't

- Don't ask the human to run `run.sh` as the main path
- Don't collapse to a solo idea list and call it a multi-persona brainstorm
- Don't use it to review existing code — that's adversarial-review
- Don't default to full multi-persona diverge just to critique one closed proposal
  (that is 设计评审, not brainstorm) unless the user wants alternatives
- Don't claim cross-model diversity when only one provider was available (the
  runner marks single-model in `notes`)

## Related

- Runner (this dir): `run.sh`, `lib/ideas-schema.json`, `prompts/`
- Sibling skill (provider layer source): `../adversarial-review/`
- Design-doc routing (no dedicated skill): host `validation.md` → Design proposal review
- Link installer: `scripts/dev/link-platform-skills.sh`
- Memory: `adversarial-review-no-resume` (why stateless, not resume)

Files in this skill

  • SKILL.md6.4 KB
  • lib/ideas-schema.json1.7 KB
  • lib/personas.conf814 B
  • prompts/challenge.md1.2 KB
  • prompts/converge.md1.4 KB
  • prompts/diverge.md1.4 KB
  • run.sh19.9 KB
  • test.sh3.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.