mcpField
B
brainstorming

brainstorming

github.com/yonatangrossエージェントワークフロー300104 回インストール今日更新
リポジトリ

brainstorming について

テーマに応じてエージェントを選ぶ、構造化された設計ブレインストーミングスキルです。プロジェクト状況の把握と並行した発想から、実現性評価、設計の提示までを導きます。

主な機能

  1. 01リポジトリの情報からプロジェクト段階を判定
  2. 02テーマに応じたエージェント選択
  3. 03アイデアの並行検討
  4. 04実現性とテスト容易性の評価
  5. 05案の順位付けとトレードオフ比較
  6. 067段階での作業管理

活用シーン

  1. 01API やダッシュボードの設計案を検討
  2. 02制約下で設計の選択肢を比較
  3. 03新機能のアイデアを出して絞り込む
  4. 04テスト計画を含む設計を作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/yonatangross/orchestkit --skill brainstorming

インストール後、Claude Code で/brainstormingを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

test-cases.json
assets/
idea-evaluation-template.md
checklists/
brainstorm-completion.md
brainstorm-session-checklist.md
examples/
orchestkit-feature-brainstorm.md
references/
common-pitfalls.md
devils-advocate-prompts.md
divergent-techniques.md
evaluation-rubric.md
example-session-auth.md
example-session-dashboard.md
phase-workflow.md
socratic-questions.md
scripts/
create-design-doc.md
decision-matrix-template.md
design-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 ツール(スター型。全員がリードに報告する)を選択します。

  1. CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 → Agent Teams モード
  2. Agent Teams を利用できない → Task ツールモード(デフォルト)
  3. それ以外の場合: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.md7 フェーズの詳細な手順
divergent-techniques.mdSCAMPER、マインドマッピングなど
evaluation-rubric.md0~10 の評価基準
devils-advocate-prompts.md異議を唱えるためのテンプレート
socratic-questions.md要件の発見
common-pitfalls.md避けるべき間違い
example-session-dashboard.md完全な例

バージョン: 4.3.0(2026 年 2 月)- 評価にテスト容易性スコアを追加し、統合結果にテスト戦略を追加

コメント