brainstorming について
テーマに応じてエージェントを選ぶ、構造化された設計ブレインストーミングスキルです。プロジェクト状況の把握と並行した発想から、実現性評価、設計の提示までを導きます。
主な機能
- 01リポジトリの情報からプロジェクト段階を判定
- 02テーマに応じたエージェント選択
- 03アイデアの並行検討
- 04実現性とテスト容易性の評価
- 05案の順位付けとトレードオフ比較
- 067段階での作業管理
活用シーン
- 01API やダッシュボードの設計案を検討
- 02制約下で設計の選択肢を比較
- 03新機能のアイデアを出して絞り込む
- 04テスト計画を含む設計を作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ yonatangross/ orchestkit --skill brainstormingインストール後、Claude Code で/brainstormingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
test-cases.jsonassets/idea-evaluation-template.mdchecklists/brainstorm-completion.mdbrainstorm-session-checklist.mdexamples/orchestkit-feature-brainstorm.mdreferences/common-pitfalls.mddevils-advocate-prompts.mddivergent-techniques.mdevaluation-rubric.mdexample-session-auth.mdexample-session-dashboard.mdphase-workflow.mdsocratic-questions.mdscripts/create-design-doc.mddecision-matrix-template.mddesign-doc-template.md詳細
アイデアをデザインにまとめる
インテリジェントなエージェント選択と体系的な検討を通じて、漠然としたアイデアを完成度の高いデザインに仕上げます。
基本原則: トピックを分析し、関連するエージェントを動的に選択して、複数の選択肢を並行して検討し、デザインを段階的に提示します。
引数の解決
TOPIC = "$ARGUMENTS" # Full argument string, e.g., "API design for payments"
# $ARGUMENTS[0] is the first token (CC 2.1.59 indexed access)
ステップ 0:プロジェクトのコンテキストを把握する
タスクを作成したりエージェントを選択したりする前に、プロジェクトのティアを検出します。これは、以降のすべての判断における複雑さの上限となります。
自動検出(コードベースをスキャン)
# PARALLEL — quick signals (launch all in ONE message)
Grep(pattern="take-home|assignment|interview|hackathon", glob="README*", output_mode="content")
Grep(pattern="take-home|assignment|interview|hackathon", glob="*.md", output_mode="content")
Glob(pattern=".github/workflows/*")
Glob(pattern="**/Dockerfile")
Glob(pattern="**/terraform/**")
Glob(pattern="**/k8s/**")
Glob(pattern="CONTRIBUTING.md")
ティアの分類
| シグナル | ティア |
|---|---|
| README に「take-home」、「assignment」、時間制限の記載がある | 1. 面接 |
| ファイル数が 10 未満で、CI も Docker もない | 2. ハッカソン |
.github/workflows/ があり、依存関係が 10~25 個 | 3. MVP |
| モジュール境界、Redis、バックグラウンドジョブがある | 4. 成長 |
| K8s/Terraform、DDD 構成、モノレポがある | 5. エンタープライズ |
| CONTRIBUTING.md、LICENSE があり、依存関係が最小限 | 6. オープンソース |
確信度が低い場合は、ユーザーに質問します。
AskUserQuestion(questions=[{
"question": "What kind of project is this?",
"header": "Project tier",
"options": [
{"label": "Interview / take-home", "description": "8-15 files, 200-600 LOC, simple architecture", "markdown": "```\nTier 1: Interview / Take-Home\n─────────────────────────────\nFiles: 8-15 max\nLOC: 200-600\nArch: Flat structure, no abstractions\nPatterns: Direct imports, inline logic\nTests: Unit only, co-located\n```"},
{"label": "Startup / MVP", "description": "MVC monolith, managed services, ship fast", "markdown": "```\nTier 3: Startup / MVP\n─────────────────────\nArch: MVC monolith\nDB: Managed (RDS/Supabase)\nCI: GitHub Actions (1-2 workflows)\nPatterns: Service layer, repository pattern\nDeploy: Vercel / Railway / Fly.io\n```"},
{"label": "Growth / enterprise", "description": "Modular monolith or DDD, full observability", "markdown": "```\nTier 4-5: Growth / Enterprise\n─────────────────────────────\nArch: Modular monolith or DDD\nInfra: K8s, Terraform, Redis, queues\nCI: Multi-stage pipelines\nPatterns: Hexagonal, CQRS, event-driven\nObserve: Structured logging, tracing\n```"},
{"label": "Open source library", "description": "Minimal API surface, exhaustive tests", "markdown": "```\nTier 6: Open Source Library\n──────────────────────────\nAPI: Minimal public surface\nTests: 100% coverage, property-based\nDocs: README, API docs, examples\nCI: Matrix builds, release automation\nPatterns: Semver, CONTRIBUTING.md\n```"}
],
"multiSelect": false
}])
検出したティアを、以降のすべてのエージェントとフェーズにコンテキストとして渡します。 ティアによって、適切なパターンが制約されます。全体のマトリックスについては、scope-appropriate-architecture スキルを参照してください。
上書き: ユーザーはいつでも検出したティアを上書きできます。検出結果より高いティアを選んだ場合は、トレードオフを警告してください。
ステップ 0a:AskUserQuestion でユーザーの意図を確認する
ブレインストーミングの制約を明確にします。
AskUserQuestion(
questions=[
{
"question": "What type of design exploration?",
"header": "Type",
"options": [
{"label": "Open exploration (Recommended)", "description": "Generate 10+ ideas, evaluate all, synthesize top 3", "markdown": "```\nOpen Exploration (7 phases)\n──────────────────────────\n Diverge Evaluate Synthesize\n ┌─────┐ ┌─────┐ ┌─────┐\n │ 10+ │──────▶│Rate │──────▶│Top 3│\n │ideas│ │0-10 │ │picks│\n └─────┘ └─────┘ └─────┘\n 3-5 agents Devil's Trade-off\n in parallel advocate table\n```"},
{"label": "Constrained design", "description": "I have specific requirements to work within", "markdown": "```\nConstrained Design\n──────────────────\n Requirements ──▶ Feasibility ──▶ Design\n ┌──────────┐ ┌──────────┐ ┌──────┐\n │ Fixed │ │ Check │ │ Best │\n │ bounds │ │ fit │ │ fit │\n └──────────┘ └──────────┘ └──────┘\n Skip divergent phase, focus on\n feasibility within constraints\n```"},
{"label": "Comparison", "description": "Compare 2-3 specific approaches I have in mind", "markdown": "```\nComparison Mode\n───────────────\n Approach A ──┐\n Approach B ──┼──▶ Rate 0-10 ──▶ Winner\n Approach C ──┘ (6 dims)\n\n Skip ideation, jump straight\n to evaluation + trade-off table\n```"},
{"label": "Quick ideation", "description": "Generate ideas fast, skip deep evaluation", "markdown": "```\nQuick Ideation\n──────────────\n Braindump ──▶ Light filter ──▶ List\n ┌────────┐ ┌────────────┐ ┌────┐\n │ 10+ │ │ Viable? │ │ 5-7│\n │ ideas │ │ Y/N only │ │ out│\n └────────┘ └────────────┘ └────┘\n Fast pass, no deep scoring\n```"},
{"label": "Plan first", "description": "Structured exploration before generating ideas", "markdown": "```\nPlan Mode Exploration\n─────────────────────\n 1. EnterPlanMode\n 2. Analyze constraints\n 3. Research precedents\n 4. Map solution space\n 5. ExitPlanMode → options\n 6. User picks direction\n 7. Deep dive on chosen path\n\n Best for: Architecture,\n design systems, trade-offs\n```"}
],
"multiSelect": false
},
{
"question": "Any preferences or constraints?",
"header": "Constraints",
"options": [
{"label": "None", "description": "Explore all possibilities"},
{"label": "Use existing patterns", "description": "Prefer patterns already in codebase"},
{"label": "Minimize complexity", "description": "Favor simpler solutions"},
{"label": "I'll specify", "description": "Let me provide specific constraints"}
],
"multiSelect": false
}
]
)
「Plan first」が選択された場合: EnterPlanMode を呼び出し、Read/Grep/Glob のみを使って調査してから、計画をユーザーが承認できるよう ExitPlanMode を呼び出して提示し、その後に進みます。
回答に基づいてワークフローを調整します。
- 自由な探索:すべてのエージェントを使って 7 フェーズをすべて実施します
- 制約付きデザイン:発散フェーズを省略し、実現可能性に焦点を当てます
- 比較:アイデア創出を省略し、評価フェーズに進みます
- クイックアイデア創出:アイデアを生成し、詳細な評価は省略します
ステップ 0b:オーケストレーションモードを選択する(ティア 1~2 では省略)
Agent Teams(メッシュ型。エージェントがアイデアを議論し、異議を唱える)または Task ツール(スター型。全員がリードに報告する)を選択します。
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1→ Agent Teams モード- Agent Teams を利用できない → Task ツールモード(デフォルト)
- それ以外の場合:3 つ以上のエージェントを使う自由な探索 → Agent Teams を推奨(リアルタイムの議論でより良いアイデアが生まれます)。クイックアイデア創出 → Task ツール
| 項目 | Task ツール | Agent Teams |
|---|---|---|
| アイデアの生成 | 各エージェントが個別に生成 | エージェントが互いのアイデアを発展させる |
| 批判的な視点 | 全員の完了後にリードが異議を唱える | エージェント同士がリアルタイムで異議を唱える |
| コスト | 約 150K トークン | 約 400K トークン |
| 最適な用途 | クイックアイデア創出、制約付きデザイン | 自由な探索、詳細な評価 |
フォールバック: Agent Teams で問題が発生した場合は、残りのフェーズで Task ツールに切り替えてください。
重要:タスク管理は必須です(CC 2.1.16)
# Create main task IMMEDIATELY
TaskCreate(
subject="Brainstorm: {topic}",
description="Design exploration with parallel agent research",
activeForm="Brainstorming {topic}"
)
# Create subtasks for each phase
TaskCreate(subject="Analyze topic and select agents", activeForm="Analyzing topic")
TaskCreate(subject="Search memory for past decisions", activeForm="Searching knowledge graph")
TaskCreate(subject="Generate divergent ideas (10+)", activeForm="Generating ideas")
TaskCreate(subject="Feasibility fast-check", activeForm="Checking feasibility")
TaskCreate(subject="Evaluate with devil's advocate", activeForm="Evaluating ideas")
TaskCreate(subject="Synthesize top approaches", activeForm="Synthesizing approaches")
TaskCreate(subject="Present design options", activeForm="Presenting options")
7 フェーズのプロセス
| フェーズ | アクティビティ | 出力 |
|---|---|---|
| 0. トピック分析 | キーワードを分類し、3~5 個のエージェントを選択 | エージェントリスト |
| 1. メモリ+コンテキスト | グラフを検索し、コードベースを確認 | 過去のパターン |
| 2. 発散的な探索 | 絞り込まずに 10 個以上のアイデアを生成 | アイデアプール |
| 3. 実現可能性のクイックチェック | 各アイデアを 30 秒で実現可能か確認。テスト可能性も含む | 絞り込み済みアイデア |
| 4. 評価と採点 | 6 つの観点(テスト可能性を含む)で 0~10 点を付け、批判的な視点で検討 | ランク付けされたアイデア |
| 5. 統合 | 上位 2~3 個に絞り込み、トレードオフ表を作成し、各アプローチのテスト戦略を示す | 選択肢 |
| 6. デザインの提示 | 200~300 語のセクションで提示し、テスト計画を含める | 検証済みデザイン |
詳細な手順については、フェーズのワークフローを読み込んでください。
Read("${CLAUDE_PLUGIN_ROOT}/skills/brainstorming/references/phase-workflow.md")
使用しない場合
次の場合はブレインストーミングを省略してください。
- 要件が非常に明確かつ具体的である
- 明らかなアプローチが 1 つしかない
- ユーザーがすでに解決策を設計している
- 時間が限られたバグ修正や緊急の問題である
クイックリファレンス:エージェントの選定
| トピックの例 | 起動するエージェント |
|---|---|
| 「ユーザー向け API をブレインストーミングする」 | workflow-architect、backend-system-architect、security-auditor、test-generator |
| 「ダッシュボード UI をブレインストーミングする」 | workflow-architect、frontend-ui-developer、test-generator |
| 「RAG パイプラインをブレインストーミングする」 | workflow-architect、llm-integrator、data-pipeline-engineer、test-generator |
| 「キャッシュ戦略をブレインストーミングする」 | workflow-architect、backend-system-architect、frontend-performance-engineer、test-generator |
必ず含めること: システム設計の観点を担う workflow-architect、テスト容易性を評価する test-generator。
Agent Teams による代替案:ブレインストーミングチーム
Agent Teams モードでは、エージェントがリアルタイムでアイデアを議論するブレインストーミングチームを編成します。トピック分析(フェーズ 0)に基づいて、チームメンバーを動的に選定します。
TeamCreate(team_name="brainstorm-{topic-slug}", description="Brainstorm {topic}")
# Always include the system design lead
Agent(subagent_type="workflow-architect", name="system-designer",
team_name="brainstorm-{topic-slug}",
prompt="""You are the system design lead for brainstorming: {topic}
DIVERGENT MODE: Generate 3-4 architectural approaches.
When other teammates share ideas, build on them or propose alternatives.
Challenge ideas that seem over-engineered — advocate for simplicity.
After divergent phase, help synthesize the top approaches.""")
# Domain-specific teammates (select 2-3 based on topic keywords)
Agent(subagent_type="backend-system-architect", name="backend-thinker",
team_name="brainstorm-{topic-slug}",
prompt="""Brainstorm backend approaches for: {topic}
DIVERGENT MODE: Generate 3-4 backend-specific ideas.
When system-designer shares architectural ideas, propose concrete API designs.
Challenge ideas from other teammates with implementation reality checks.
Play devil's advocate on complexity vs simplicity trade-offs.""")
Agent(subagent_type="frontend-ui-developer", name="frontend-thinker",
team_name="brainstorm-{topic-slug}",
prompt="""Brainstorm frontend approaches for: {topic}
DIVERGENT MODE: Generate 3-4 UI/UX ideas.
When backend-thinker proposes APIs, suggest frontend patterns that match.
Challenge backend proposals that create poor user experiences.
Advocate for progressive disclosure and accessibility.""")
# Always include: testability assessor
Agent(subagent_type="test-generator", name="testability-assessor",
team_name="brainstorm-{topic-slug}",
prompt="""Assess testability for each brainstormed approach: {topic}
For every idea shared by teammates, evaluate:
- Can core logic be unit tested without external services?
- What's the mock/stub surface area?
- Can it be integration-tested with docker-compose/testcontainers?
Score testability 0-10 per the evaluation rubric.
Challenge designs that score below 5 on testability.
Propose test strategies for the top approaches in synthesis phase.""")
# Optional: Add security-auditor, llm-integrator based on topic
主な利点: エージェントは個別にアイデアを生成するのではなく、リアルタイムで互いのアイデアを発展させ、あえて反対意見を述べます。
統合後のチーム解散:
# After Phase 5 synthesis and design presentation
SendMessage(type="shutdown_request", recipient="system-designer", content="Brainstorm complete")
SendMessage(type="shutdown_request", recipient="backend-thinker", content="Brainstorm complete")
SendMessage(type="shutdown_request", recipient="frontend-thinker", content="Brainstorm complete")
SendMessage(type="shutdown_request", recipient="testability-assessor", content="Brainstorm complete")
# ... shutdown any additional domain teammates
TeamDelete()
フォールバック: チームの編成に失敗した場合は、
Read("${CLAUDE_PLUGIN_ROOT}/skills/brainstorming/references/phase-workflow.md")を読み込み、標準のフェーズ 2 の Task 起動を使用します。
手動でのクリーンアップ:
TeamDelete()ですべてのエージェントが終了しない場合は、Ctrl+Fを 2 回押して、残りのバックグラウンドエージェントを強制終了します。
主な原則
| 原則 | 適用方法 |
|---|---|
| エージェントの動的選定 | トピックのキーワードに基づいてエージェントを選定する |
| 並列調査 | 1 つのメッセージで 3~5 個のエージェントを起動する |
| メモリ優先 | 調査の前に、過去の決定をグラフで確認する |
| 発散優先 | 絞り込みの前に 10 個以上のアイデアを生成する |
| タスクの追跡 | 進捗を見える化するために TaskCreate/TaskUpdate を使用する |
| YAGNI の徹底 | 不要な複雑さを取り除く |
関連スキル
ork:architecture-decision-record- ブレインストーミングで行った重要な決定を記録するork:implement- ブレインストーミング完了後に実装計画を実行するork:explore- 既存のパターンを把握するためにコードベースを詳しく調べるork:assess- 品質を 0~10 で評価し、項目ごとに内訳を示す
参考資料
Read("${CLAUDE_PLUGIN_ROOT}/skills/brainstorming/references/<file>") を使って、必要に応じて読み込みます。
| ファイル | 内容 |
|---|---|
phase-workflow.md | 7 フェーズの詳細な手順 |
divergent-techniques.md | SCAMPER、マインドマッピングなど |
evaluation-rubric.md | 0~10 の評価基準 |
devils-advocate-prompts.md | 異議を唱えるためのテンプレート |
socratic-questions.md | 要件の発見 |
common-pitfalls.md | 避けるべき間違い |
example-session-dashboard.md | 完全な例 |
バージョン: 4.3.0(2026 年 2 月)- 評価にテスト容易性スコアを追加し、統合結果にテスト戦略を追加