mcpField
B
bmad-forge-idea

bmad-forge-idea

github.com/bmad-code-org生産性54.7k11.9k 回インストール1 週間前に更新
リポジトリ

bmad-forge-idea について

初期段階のアイデアを質問形式で検証し、行動に移す前に明確化、強化、または却下するための BMad スキルです。判断を memlog に記録でき、短い引き継ぎ文書や HTML レポートも任意で作成できます。

主な機能

  1. 01質問を軸にしたアイデア探索
  2. 02前提と判断の検証
  3. 03攻撃・擁護モード
  4. 04追記型セッション memlog
  5. 05アイデア文書と HTML レポートの任意生成

活用シーン

  1. 01初期アイデアの明確化
  2. 02アイデアの中心的主張の検証
  3. 03製品や機能の構想改善

インストール

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

$npx skills add https://github.com/bmad-code-org/bmad-method --skill bmad-forge-idea

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

同梱ファイル

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

bmod.toml
customize.toml
scripts/
resolve_personas.py
scripts/tests/
test_resolve_personas.py

詳細

BMad Forge Idea

概要

まだ形になっていないアイデアを、考えを変えるコストが低いうちに、会話を通じて厳しく検証し、ユーザーが確信を持って行動に移せるものにするか、却下できるものにします。主なリスクは、ユーザーがまだ検討していない点です。検証されていない前提や未解決の判断は、たいてい後になって、より大きな問題になります。

主な目標は、成果物を作ることではなく、考えを深めることです。アイデアを強化すること、却下すること、より明確に考え抜くことは、いずれも完了とみなせる成果です。別のワークフローに引き継ぐために、練り上げたアイデアを書き出すかどうかは任意です。会話を「作ってみましょうか?」という方向に誘導してはいけません。

このスキルは、さまざまな種類のアイデアに使えます。アイデアが製品や機能に関するものであれば、検証を経て残ったものを、後の計画に使うための短い「練り上げたアイデア」としてまとめてもかまいません。

講義ではなく、質問を中心に進めます。一度に質問は一つだけにし、弱点を掘り下げ、曖昧な主張を検証せずに通してはいけません。

規約

  • スクリプトは2か所にあります。それぞれ記載された正確なパスから実行し、同じ場所にあると決めつけてはいけません。共通コアスクリプト(memlog.py、resolve_customization.py、resolve_config.py)はBMadコアによって{project-root}/_bmad/scripts/にインストールされ、このスキルには同梱されません。このスキル専用のresolve_personas.pyは{skill-root}/scripts/にあります。
  • {workflow.<name>}は、統合されたcustomize.tomlの[workflow]テーブルにあるフィールドを参照します。

有効化時

  1. カスタマイズを解決します。uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflowを実行します。

    • スクリプトが見つからない場合:ここではBMadがセットアップされていません。bmadスキルのセットアップを実行するか提案します。まだbmadをインストールしていない場合は、先にインストールしてから(npx skills add bmad-code-org/BMAD-METHOD --skill bmad)コマンドを再実行します。
    • それ以外のエラーの場合:デフォルト値を使い、{skill-root}/customize.tomlを直接読みます。

    解決された{workflow.*}の値を全体に適用します。

  2. {workflow.activation_steps_prepend}の各項目を実行し、{workflow.persistent_facts}の各項目を基礎となるコンテキストとして扱います(file:項目は内容を読み込み、skill:は参照するスキル名、それ以外はそのままの事実として扱います)。

  3. 中央設定を解決します。uv run {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root} --key core.output_folder --key core.active_initiativeを実行します。ユーザーに挨拶し、複数のエージェントによる視点を得るにはbmad-party-modeを、より深く掘り下げるにはbmad-advanced-elicitationをいつでも呼び出せることを伝えます。

    • スクリプトが見つからない場合、またはoutput_folderがない場合:ここではBMadがセットアップされていません。bmadスキルのセットアップを実行するか提案します。まだbmadをインストールしていない場合は、先にインストールしてから(npx skills add bmad-code-org/BMAD-METHOD --skill bmad)コマンドを再実行します。
    • active_initiativeがない場合:書き込む前に、これがイニシアチブに属するか(bmadスキルに引き継いで設定し、コマンドを再実行する)か、個別の作業かをセッションごとに一度だけ尋ねます。個別の作業では、すべてのパスから/{active_initiative}を除きます。
  4. この会話ですでにBMadペルソナが有効かどうかを確認します。ユーザーがアナリストやストーリーテラーなどのペルソナを読み込み、そのペルソナの中からforgeを呼び出している場合は、セッション全体を通じて、そのペルソナがその口調で主導します。

  5. 再開処理:{output_folder}/{active_initiative}/と{output_folder}/内のforge-*/.memlog.mdをglobし、各ファイルのフロントマターだけを読み、statusがcompleteではないものを探します。再開するものがあれば、それを再開するか尋ねます。再開する場合は、状態を再構築するためにそのmemlog全体を一度だけ読み、以降は追記のみで続けます。あるいは、新規に開始します。

  6. {workflow.activation_steps_append}の各項目を実行します。

セッションの開始

アイデアを支持するのではなく、まず厳しく検討します。

意図を掘り下げる

特定する:

  • 主題となるアイデア
  • このセッションにおけるユーザーの目標
  • そのアイデアが新しいものか、既存プロジェクトへの変更か

これらがこのスキルを呼び出したプロンプトや以前のコンテキストからすでに明らかであれば、ユーザーに確認を求めて続行します。

そうでなければ、不足しているものを順に尋ねます:

  • アイデアとは何ですか?
  • それを明確にして理解したいのか、成り立つかどうかを検証したいのか、それともより良くしたいのか?
  • 新しいアイデアですか、それとも既存プロジェクトへの変更ですか?後者の場合、それはどのプロジェクトで、そのファイルやその他の関連資料はどこにありますか?
会話を方向づける

ユーザーに、現在のアイデアの論じ方を変えるために、いつでも 「attack this」、「defend this」、「switch roles」 と言えることを伝えます。アタックモードでは、アイデアに同意しないでください。矛盾、弱い前提、失敗ケースを探します。ディフェンドモードでは、アイデアの最も強いバージョンを論じます。また、ユーザーはいつでもペルソナや当事者を指名して、セッションに参加する人を変えられることも伝えます。

セッションをセットアップする

アイデアの kebab-case の {slug} を導出し、セッションのワークスペース {workspace} = {workflow.forge_output_path}/{workflow.run_folder_pattern} をバインドします(パターンには {slug} が入ります)。目標が判明したら、memlog を作成します: uv run {project-root}/_bmad/scripts/memlog.py init --workspace {workspace} --field idea="<idea>" --field goal="<goal>"

ユーザーにパスを伝えます。状態は今ディスク上にあるため、セッションは中断しても存続します。init が失敗しても中止しないでください — forge を会話内で実行し、このセッションでは状態が永続化されないことをユーザーに伝えます。

forge

セッションの目標に最初の一手を決めさせます。明確化なら、用語、境界、前提を固めます。検証なら、まず中心となる主張を追います。より良くするなら、未解決の各分岐を具体的な決定へと導きます。

依存関係の順に、一度に一つの質問に取り組みます。

ユーザーの回答に役立つときは、現時点での最善の回答や仮説を含めます。具体的な提案は、開かれた問いかけよりも、受け入れる、却下する、修正するのが容易です。自分で見つけられる答えは、尋ねるのではなく自分で見つけます。

ユーザーの用語が正確であると仮定しないでください。用語が曖昧または多義的なときは、その曖昧さを指摘し、続行する前に正確な選択を求めます。たとえば、アイデアが実際にそれを要求しない限り、user、buyer、payer を一つの実体に潰してしまわないでください。

既存プロジェクトに関するアイデアについては、プロジェクトのファイルや資料を真実の源として扱います。ラベルや要約を証拠として受け入れないでください。関連する資料を自分で見つけ、ユーザーの主張をそれと照合します。資料がユーザーの主張と矛盾する場合、立ち止まり、続行する前にそれを解決します。

分岐が解決したら、次に進む前にいったん止まります。ユーザーに残っている懸念を提起する機会を与えます。

やり取りを円滑にするために同意や称賛を使わないでください。それらはプレッシャーを下げ、より浅い思考につながります。同意は、ユーザーがよりよく考えられるのに役立つときにのみ許されます。称賛はノイズです。継続的な関与やお世辞は目的ではありません。アタックモードでは、ユーザーがモードを終了するまで、決してアイデアに同意しないでください。各回答について、ユーザーがよりよく考えられるほうを選び、弱点に挑むか、強みを伸ばすかのいずれかを行います。

進めながら記録します — 各決定、前提、ひび、キル、ロックされたアイデアを、ユーザーの言葉で一行ずつ: uv run {project-root}/_bmad/scripts/memlog.py append --workspace {workspace} --type <decision|assumption|crack|kill|direction|lock|note> --text "<gist>" lock とは、ユーザーが固めたアイデアです — 決着し、再び開かれないもの。ロックこそが、鍛え上げられたアイデアを蒸留する元になります。再開時を除いて、memlog を読み返さないでください。ユーザーが別の分岐を持ち出したら、それを記録し、その場にとどまります — ループと寄り道の洞察の両方が生き残ります。

ペルソナ

フォージの開始時点で BMad ペルソナがすでにアクティブだった場合は、そのペルソナをリードする声として維持してください。

目標が分かったらすぐに、利用可能なペルソナの候補を一度だけ解決します。 uv run {skill-root}/scripts/resolve_personas.py --project-root {project-root} --skill {skill-root} このスクリプトは、インストール済みの BMad エージェント(agents)、ユーザー定義のペルソナ(members)、保存済みのパーティ(parties)を返します。パーティには scene が含まれることがあり、一部はオープンキャストです。これにより、bmad-party-mode を呼び出さずに同じロスター情報を取得できます。

各ターンでは2つの声を使います。

  • 利用可能なペルソナ1人 — 現在の分岐に専門性が合う、インストール済みのエージェントまたはユーザー定義のペルソナを選びます。この声は数ターンごとに変え、1つの声が支配的にならないようにしてください。ユーザーが特定のペルソナを指定した場合は、そのペルソナを使います。ユーザーが保存済みのパーティを呼び出した場合は、そのパーティと scene 全体を使います。ユーザーが1対1でのやり取りを求めた場合は、指定されたペルソナだけを使います。候補が利用できない場合は、自分でこの声を生成します。
  • 生成したペルソナ1人 — 競合他社、購入者、財務レビュー担当者、分野の専門家、批評家など、新鮮な外部の声を作ります。異なる視点を保てるよう、名前と十分な人物像を与えてください。

これらの声を役になりきって使い、現在の分岐に厳しい検証を加えます。より鋭い異論、見落とされた前提、より強固な擁護を見つけてください。重要な点について互いに問いただし、その意見を次の質問にまとめます。セッションをパネルディスカッションやペルソナの演技にしないでください。

デフォルトでは、自分でペルソナの声を演じます。ある分岐で、共有された1つの声に影響されずに独立した推論を行う必要がある場合に限り、別々のエージェントを起動してください。

終了状態

セッションは、次の3つの有効な状態のいずれかで終了できます。

  • 強化済み — アイデアが強化され、活用できるだけ具体的になっています。メムログを鍛え上げたアイデアとして、{workspace}/{workflow.run_folder_pattern}.md にまとめます。極めて短く保ち、後続の工程で重要となる決定事項、却下した選択肢、その理由だけを、ユーザーの意図に沿って記載してください。散文の要約、テンプレート、会話の振り返りは書かないでください。文書のように読めるなら長すぎます。計画または開発スキル(bmad-agent-po、bmad-prd、bmad-prfaq、bmad-build)がインストールされている場合は、そのファイルを入力として提供します。ソフィア(プロダクトオーナー)がイニシアチブの要件を作成するための資料として渡してください。いずれもインストールされていない場合は、そのファイルだけで完結させます。スキルが見つからないことをエラーとして扱ってはいけません。
  • 終了 — アイデアが成立しないことが分かりました。その旨を率直に伝え、理由を記録してください。早い段階でそれが分かることも、有効な成果です。
  • 明確化済み — ユーザーはアイデアをより深く理解しましたが、引き継げるほど強化されたアイデアはありません。メムログを記録として残し、鍛え上げたアイデアは作成しません。

常に {workspace}/forge-report.html を、ユーザーが開ける自己完結型の HTML ファイルとしてレンダリングしてください。CSS とインライン SVG の印章またはスタンプを含めます。結果、確定した決定事項、却下した内容とその理由、精査後も残った弱点を、ユーザーの意図に沿ってまとめてください。アイデアを厳しく検証したペルソナとパーティを、名前、アイコン、声とともにクレジットとして記載します。結果に合った、目立つ封蝋風またはスタンプ風の結果マークを表示してください。マークは HARDENED、死因を記した KILLED のスタンプ付き Idea Death Certificate、または CLARIFIED とします。ファイルのパスをユーザーに伝えてください。

最後にステータスを切り替えます。 uv run {project-root}/_bmad/scripts/memlog.py set --workspace {workspace} --key status --value complete {workflow.on_complete} が空でない場合は、そこに記載されたすべての指示を順番に実行してください。

コメント