Idea-darwin idea-darwin-ja

install
source · Clone the upstream repo
git clone https://github.com/warmskull/idea-darwin
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/warmskull/idea-darwin "$T" && mkdir -p ~/.claude/skills && cp -r "$T/ja" ~/.claude/skills/warmskull-idea-darwin-idea-darwin-ja && rm -rf "$T"
manifest: ja/SKILL.md
source content

Idea Darwin エンジン

ラウンドベースのアイデア反復システム。アイデアを競い合う生物として扱い、スコアリング、選択、交配、進化を構造化されたラウンドを通じて実行し、最も強いコンセプトを浮上させます。

メタファーはダーウィンの自然選択:高スコアのアイデアは生き残り進化し、弱いアイデアはユーザーの判断を仰ぐためにフラグが立てられ、交配は新しい子孫を生み出します。これにより、ブレインストーミングでありがちな「すべてのアイデアが永遠に同じように曖昧なまま」という失敗パターンを防ぎます。

コマンド

コマンド説明
/idea-darwin init
初期化:ideas.md を解析し、ディレクトリ構造、設定、初期カードを作成(オプションパラメータは下記)
/idea-darwin round
次の反復ラウンドを実行
/idea-darwin round N
N 回連続でラウンドを実行
/idea-darwin status
アイデアプールの状態とランキングを表示
/idea-darwin dormant IDEA-XXXX
特定のアイデアを休眠させる
/idea-darwin wake IDEA-XXXX
休眠中のアイデアを覚醒させる
/idea-darwin
引数なし:現在の状態を簡潔に表示し、次のステップを提案

引数は

$ARGUMENTS
から抽出されます。引数が指定されない場合は、現在の状態と提案を表示します。

init オプションパラメータ

パラメータ説明デフォルト
--budget <N>
1ラウンドあたりの最大処理アイデア数
12
--actions <N>
各アイデアの1ラウンドあたりの最大アクション数
2
--disruption <N>
N ラウンドごとに外部刺激を導入(撹乱ラウンド)
3

例:

/idea-darwin init --budget 8 --actions 3 --disruption 5

これらのパラメータは config.yaml に書き込まれ、後から手動で編集可能です。指定されないパラメータはデフォルト値が使用されます。

ファイル構造

システムは作業ディレクトリに以下の構造を維持します(初期化時に作成):

project/
├── ideas.md          # ユーザーの生のアイデア(読み取り専用 — このファイルは絶対に変更しない)
├── config.yaml       # システム設定と状態
├── stimuli.md        # 外部刺激エントリ(ユーザーが編集、システムは読み取り専用)
├── cards/            # アイデアカード
│   ├── IDEA-0001.md
│   └── ...
├── rounds/           # ラウンドレポート
│   ├── round-000.md
│   └── ...
├── reports/          # リーダーボードとクラスターレポート
│   └── leaderboard.md
└── graph/            # 関係グラフ
    └── relations.json

アイデア採番

  • 形式:
    IDEA-XXXX
    (4桁ゼロ埋め、0001から開始)
  • グローバルにユニーク — 休眠や削除されたアイデアでも番号は再利用しない
  • config.yaml
    next_idea_id
    で次の利用可能な番号を管理
  • 各アイデアカードは
    parent_ids
    child_ids
    で系譜を記録

アイデア状態マシン

seed → exploring → refining → crossing → validated → dormant
状態意味利用可能なアクション
seedプールに入ったばかりタグ付け、カード生成、深化、簡易交差検証
exploring探索フェーズ深化、派生、批評、予備交配
refining洗練フェーズロジック強化、実現可能性分析、リスクチェック
crossing高交配フェーズ補完的なアイデアとの統合、融合品質の評価
validated検証済みMVP計画の出力、実行ロードマップの生成
dormant休眠中交配と類似性マッチングへの受動的参加のみ

状態遷移はスコアとアクション結果に基づいてシステムが推奨しますが、最終決定権は常にユーザーにあります。

スコアリングシステム

6つのスコアリング次元(各1〜10)

次元重み意味
新規性 (Novelty)0.10本当のブレイクスルーがあるか、それとも単なる繰り返しか?
実現可能性 (Feasibility)0.20技術的、リソース的、パス的に達成可能か?
価値 (Value)0.20成功した場合、どれだけのインパクトを生み出せるか?
論理性 (Logic)0.20内部的に一貫しており、明らかなギャップがないか?
交配ポテンシャル (CrossPotential)0.10他のアイデアと組み合わせたとき、新しいものを生み出す可能性は?
検証可能性 (Verifiability)0.20実験や最小検証パスを設計できるか?

三層スコアリング計算式

スコアリングは三層構造になっており、各層が異なる戦略的視点を捉えます — Survival は単独の品質を測定し、Development は成長ポテンシャルを測定し、Priority は両方を新鮮度と多様性ボーナスで統合してプールの停滞を防ぎます。

Survival = 0.10×Novelty + 0.20×Feasibility + 0.20×Value
         + 0.20×Logic + 0.10×CrossPotential + 0.20×Verifiability

Development = 0.30×Novelty + 0.30×CrossPotential
            + 0.20×VariationPotential + 0.20×Freshness

Priority = 0.50×Survival + 0.30×Development
         + 0.10×NewIdeaBoost + 0.10×DiversityBonus
  • VariationPotential(0〜10):このアイデアがまだ分岐できる異なる方向の数。子が派生するにつれて減少する。
  • Freshness(0〜10):このアイデアは最近変更されたか?数ラウンド処理されないと減衰する。
  • NewIdeaBoost:新しくプールに入ったアイデアは最初の2ラウンドで+2、その後0。
  • DiversityBonus:プール内で少数派のカテゴリに属するアイデアは+1〜2。

スコアリング時は、

references/prompts.md
のプロンプトテンプレートを参照してください。

初期化フロー

ユーザーが

/idea-darwin init
を実行した場合:

  1. ideas.md の検索

    • カレントディレクトリに ideas.md が存在するか確認
    • 見つからない場合は
      AskUserQuestion
      でパスを尋ねる
  2. ディレクトリと設定の作成

    • cards/, rounds/, reports/, graph/ を作成
    • config.yaml を生成(ユーザー指定のオプションパラメータをマージ、未指定はデフォルト使用):
source:
  ideas_file: "./ideas.md"
counter:
  next_idea_id: 1
  current_round: 0
schedule:
  max_ideas_per_round: 12      # --budget
  max_actions_per_idea: 2       # --actions
disruption:
  trigger_every_n_rounds: 3     # --disruption
  wildcard_budget_ratio: 0.10
  • プロジェクトルートに
    stimuli.md
    (外部刺激ファイル)を生成し、初期テンプレートと編集手順を含める
  1. ideas.md の解析

    • 各独立したアイデアを識別(通常 ## 見出しで区切り)
    • ideas.md は変更しない — 常に読み取り専用
  2. 各アイデアのカード生成

    • ID を割り当て(IDEA-0001 から開始)
    • タグ付け(トピック / 問題タイプ / ステージ / スタイル / リソースタグ)
    • assets/card-template.md
      のフォーマットに従って完全なカードを生成
    • 初期スコアリング(6次元 + 3層複合スコア)
    • cards/IDEA-XXXX.md に書き込み
  3. round-000.md レポートの生成

    • 全初期カードの要約、スコア、推奨次アクションを一覧化
    • rounds/round-000.md に書き込み
  4. 結果をユーザーに提示

    • 全カードの一覧表(ID、タイトル、スコア、推奨アクション)を表示
    • stimuli.md
      とその使い方をユーザーに説明:

      stimuli.md
      がプロジェクトルートに作成されました。N ラウンドごとに、システムは有効なエントリから最大5つをランダム選択し、外部刺激として思考の固定化を打破します。 いつでもこのファイルを編集してエントリの追加/変更/無効化ができます。各エントリのフォーマット:

      ## [エントリタイトル]
      - status: enabled / disabled
      - [内容の説明]
      
    • 正式なラウンドサイクルに入る前にユーザーの確認を待つ

ラウンド実行フロー

ユーザーが

/idea-darwin round
を実行した場合、以下の9ステップを厳密な順序で実行:

ステップ1:新規アイデアのインポート

  • 毎ラウンド開始時にデフォルトのアイデアドキュメントを確認:config.yaml の
    source.ideas_file
    が指すファイルを読み込む
  • デフォルトの ideas.md と既存カードを比較し、新規追加を特定
  • 新規アイデア:タグ付け → カード生成 → 初期スコアリング
  • 新規アイデアは
    stage: seed
    としてマークされ、NewIdeaBoost を受ける
  • これは毎ラウンドの必須前処理ステップ — ソースファイルへの追加を無視して既存カードのみをループすることは許されない

ステップ2:関係グラフの更新

  • 全カードのタグとコンテンツに基づき、アイデア間の類似度を計算
  • 交配候補を特定(高類似度 = 近接交配候補、低類似度だが補完的 = 遠隔交配候補)
  • graph/relations.json を更新

ステップ3:グローバルスコアの更新

  • すべてのアクティブなアイデア(休眠中は除く)の6次元スコアを再計算
  • Survival / Development / Priority を更新
  • フラグ付け:高ポテンシャル(Priority > 7)、停滞(3ラウンド以上変化なし)、低ポテンシャル(Priority < 3)

ステップ4:バジェット配分

max_ideas_per_round
に従ってスロットを配分:

  • 25% を新規プール入りアイデアに
  • 30% を高優先度アイデアの深化に
  • 20% を高ポテンシャルアイデアからの派生に
  • 15% を交配実験に
  • 10% を撹乱/ランダム探索に

Priority Score の降順でアイデアを選択。各アイデアは最大

max_actions_per_idea
アクション。

ステップ5:アクション決定

選択された各アイデアに対し、状態マシン(上記テーブル参照)に基づいてアクションを割り当て。 状態マシンで不十分な場合、スコア駆動ルールを使用:

  • 高新規性 + 低検証可能性
    → 深化
  • 高新規性 + 高交配ポテンシャル
    → 交配
  • 高価値 + 低実現可能性
    → 批評 + 洗練
  • 高実現可能性 + 低論理性
    → 深化
  • 高重複
    → 統合

ステップ6:アクション実行

選択された各アイデアを順番に処理。詳細な実行仕様は

references/actions.md
、プロンプトテンプレートは
references/prompts.md
を参照。

アイデアごとの実行フロー:

  1. カード全文を読み込む
  2. アクションタイプに対応するプロンプトテンプレートに従い — 深く思考する
  3. 構造化された出力を生成:
    • 更新されたカード内容
    • 新しい派生アイデア(自動ID割り当て、双方のparent_ids/child_idsを更新)
    • スコア変動
    • 発見されたリスク
    • 推奨次アクション
  4. 更新されたカードファイルを書き込む

新しく派生したアイデアもカード全体の生成と初期スコアリングが必要。

ステップ7:検証と重複排除

  • 新しく生成されたすべてのアイデアに二層検証を実行:
    • 第1層(致命的欠陥チェック):論理的矛盾?実需なし?完全に実現不可能?ほぼ重複?
    • 第2層(価値判断):継続する価値はあるか?次は何をすべきか?最大のリスクは?
  • 検証失敗 →
    validated: false
    をマーク、優先度を下げ、ユーザーに報告
  • ユーザーが 休眠か削除かを決定 — システムは推奨するのみ
  • プール全体の類似性チェックを実行し、ほぼ重複するものを統合

ステップ8:ラウンドレポートの生成

rounds/round-XXX.md
に書き込み。内容:

  • 今ラウンドで処理されたアイデアと実行されたアクション
  • 新しく生成されたアイデアの要約
  • スコア変動トップ5(上昇/下降)
  • 検証に失敗したアイデア(ユーザーの判断が必要)
  • 次ラウンドの推奨優先事項
  • 撹乱ラウンドの場合:使用された外部刺激、適用されたイノベーションフレームワーク

ステップ8.5:ラウンドブリーフィングの出力

すべてのファイル更新が完了した後、会話内にラウンドブリーフィングを直接出力(ファイルには書き込まない)し、ユーザーがファイルを開かずに全体像を把握できるようにする。フォーマット:

## ラウンド N ブリーフィング

### 実行されたアクション
| ID | タイトル | アクション | 主な出力 |
|---|---|---|---|
| IDEA-XXXX | ... | 深化/派生/交配/批評/... | 一行の要約 |

### カード変動
| ID | タイトル | スコア変動 | 状態変化 | 備考 |
|---|---|---|---|---|
| IDEA-XXXX | ... | Priority X.XX→X.XX | seed→exploring | 変動理由 |

### 新規アイデア(詳細)

今ラウンドで新しく生成された各アイデア:

#### IDEA-XXXX: [タイトル]
- **ソース**: [交配/派生/刺激] IDEA-XXXX + IDEA-XXXX から
- **コアクエスチョン**: [1段落]
- **キーインサイト**: [このアイデアで最も価値のあるもの]
- **初期スコア**: Priority X.XX (Survival X.XX / Development X.XX)
- **現在のテンション**: [最大の未解決問題]
- **推奨次ステップ**: [深化/派生/交配/批評 + 具体的な方向]

### 現在のランキング
| 順位 | ID | タイトル | Priority | ステージ |
|---|---|---|---|---|

### 次ラウンドプレビュー
- [推奨優先アクション]
- [撹乱ラウンドが近づいているかどうか]

### 判断が必要な事項
> 今ラウンドでユーザーが判断すべき重要事項を列挙。各項目にはアイデアの**フルタイトル**(IDだけでなく)を含め、コンテキストと推奨選択肢を添える。
> 例:
> 1. **IDEA-0002「コーディング学習エージェントチュートリアルサイト」が IDEA-0004「段階的アンボックス教育法」と重複** — 統合するか差別化するか?推奨:[...]
> 2. **IDEA-0006「自動診断スレッド」が検証に失敗** — 休眠、方向転換、または経過観察?
> 3. **IDEA-0003「熱管理オントロジー」が格下げ** — オントロジーから構造化Excelへの第一歩としての格下げを受け入れるか?
>
> 今ラウンドでユーザーの判断が不要な場合は「今ラウンドで判断が必要な事項はありません。」と記載。

このブリーフィングはユーザーとシステム間の主要なインターフェース — 完全で読みやすくすること。「判断が必要な事項」セクションは最も重要なインタラクションポイント:システムは推奨と共に判断事項を明確に列挙し、ユーザーがレポートから問題を発見するのに任せない。

ステップ9:状態の保存

  • 変更されたすべてのカードファイルを更新
  • config.yaml の
    current_round
    をインクリメント
  • next_idea_id
    を更新
  • reports/leaderboard.md を更新(トップ10ランキング)

外部刺激と撹乱ラウンド

trigger_every_n_rounds
ラウンドごと(デフォルト3)に、「撹乱ラウンド」で外部刺激が導入されます。目的は、新鮮な視点を強制することで、アイデアプールが局所最適に収束するのを防ぐことです。

外部刺激ファイル(stimuli.md)

stimuli.md
はプロジェクトルートにあります。初期化時に作成され、ユーザーが管理します。フォーマット:

## 業界トレンド:身体性AIの量産加速
- status: enabled
- 身体性AIが2026年にラボから量産ラインへ移行、ロボットの運用コストが60%削減

## テックシフト:統合マルチモーダルモデルアーキテクチャ
- status: enabled
- ビジョン、言語、コードが単一モデルに統合、APIパラダイムが変化

## 逆張りの視点:SaaSは終わった
- status: disabled
- オープンソース + セルフホスト型デプロイが従来のSaaSサブスクリプションを置き換え
  • 各エントリ:
    ##
    見出し +
    status
    フィールド + 内容の説明
  • enabled
    = ランダム選択に参加、
    disabled
    = スキップ
  • ユーザーはいつでもエントリの追加、編集、切り替えが可能
  • システムはこのファイルを読み取り専用 — 書き込みしない

撹乱ラウンドのメカニクス

  1. 優先順位のシャッフル:低優先度だが新規性の高いアイデアに浮上の機会を与える
  2. 遠隔交配:タグが重複しないアイデア間の交配を強制
  3. 外部刺激:stimuli.md から有効なエントリを最大5つランダム選択
  4. 前提の逆転:トップスコアのアイデアに「核心的な前提が間違っていたらどうなる?」と問いかける
  5. イノベーションフレームワーク:SCAMPER / 第一原理 / 類推的転移 / 制約逆転 / 極端なユーザー視点を適用

各ラウンドでは、非最適パスの探索用に

wildcard_budget_ratio
(デフォルト10%)のスロットも確保。

休眠と覚醒

/idea-darwin dormant IDEA-XXXX

  1. カードを読み込み、ステージを
    dormant
    に設定
  2. 理由とラウンド番号をカードの「休眠ログ」に記録
  3. そのアイデアは深化/派生の選択対象にならないが、交配と類似性マッチングには引き続き参加

/idea-darwin wake IDEA-XXXX

  1. カードを読み込み、休眠前の状態に復元(履歴から推定、通常は
    exploring
  2. 「休眠ログ」を更新

システムは決してアイデアを自動休眠させません。その判断ができるのはユーザーだけです。

/idea-darwin status

config.yaml と全カードを読み込み、以下を出力:

  • 現在のラウンド番号
  • プール内の総アイデア数(状態別内訳)
  • トップ10ランキング(Priority Score 降順)
  • 直近のラウンドで処理された内容
  • 推奨次ステップ

主要な制約

  1. ideas.md は読み取り専用:ユーザーの ideas.md を絶対に変更しない
  2. ID は再利用しない:いかなる状況でも番号を再利用しない
  3. 分岐制限:各アイデアは1ラウンドあたり最大2〜3の子を派生
  4. ラウンドごとの重複排除:ラウンド終了前に類似性チェックが必須
  5. ユーザーコントロール:システムはアイデアの自動休眠や削除をしない — 推奨するのみ
  6. 構造化された出力:すべてのアクションは構造化された結果を生成しなければならない
  7. 一貫したカードフォーマット:すべてのカードは
    assets/card-template.md
    に厳密に従う
  8. 追跡可能なレポート:すべてのラウンドレポートは完全な操作ログを含む

参考ファイル

  • references/actions.md
    :各標準アクションの詳細仕様とユースケース
  • references/prompts.md
    :各アクションのプロンプトテンプレート
  • assets/card-template.md
    :カードファイルテンプレート