bmad-ingest について
文字起こし、会話、ボイスメモ、長文書から、出典を追跡できるノートを作るBMadスキルです。原文を保管し、各項目の出典箇所を示したうえで、別途レビューして漏れや誤帰属を確認します。
主な機能
- 01原文と添付ファイルの保管
- 02テンプレートと拡張の選択
- 03ノート項目の出典箇所を明記
- 04決定・条件・訂正の記録
- 05原文との照合レビュー
活用シーン
- 01会議の文字起こしからノートを作成
- 02メールやチャットの整理
- 03ボイスメモからアクションを抽出
- 04長文書から出典付きノートを作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ bmad-code-org/ bmad-method --skill bmad-ingestインストール後、Claude Code で/bmad-ingestを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
bmod.tomlcustomize.tomlevals/triggers.json詳細
取り込み
生の入力(文字起こし、チャットやメールのスレッド、ボイスメモ、長文書)を、人やエージェントが生の入力の代わりに読むメモに変換します。読み手は元の入力を確認せずにメモに基づいて行動するため、すべての項目は元の入力の該当箇所をたどれる必要があり、元の入力にない内容を加えてはいけません。元の入力は受け取った状態のまま保存されるため、誰でも確認できます。
呼び出し元が指示した場合、またはその場に人がいない場合は、ヘッドレスで実行します。質問はしません。
起動時
- 設定:
uv run {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root} --key core.output_folder。スクリプトが見つからない場合:ここでは BMad がセットアップされていません。bmadスキルのセットアップを提案してください。必要に応じて、先にbmadをインストールします(npx skills add bmad-code-org/BMAD-METHOD --skill bmad)。その後、もう一度実行します。 - カスタマイズ:
uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow。それ以外のエラーが発生した場合は、{skill-root}/customize.tomlを読み、デフォルト値を使用します。{workflow.activation_steps_prepend}の各項目を実行し、{workflow.persistent_facts}の各項目を今回の実行中の事実として保持します(file:の項目は、読み込む{project-root}配下のパスまたは glob です)。続いて、{workflow.activation_steps_append}の各項目を実行します。
元の入力を保持する
{workflow.raw_folder} に元データを保管し、メモからバージョン管理上で有効な相対パスを使って元データにリンクできるようにします。保存するデータには YYYY-MM-DD-<slug> という名前を付けます。日付は入力が発生した日(期間がある場合は最終日)を使います。これは、元データまたはファイル名に示されている日付を使います。どちらにも日付がない場合は、今日の日付を入力の日付だと読み手が誤解するため、日付を付けません。同じ名前の別の元データがすでにある場合は、-2、-3 のように番号を付け加えます。
- プロジェクト外にある元データ:
{workflow.raw_folder}にコピーします。添付ファイル(画像、スライド、メールに添付されたファイル)がある場合は、元データと添付ファイルを含むフォルダーとして保存します。 - すでにプロジェクト内にある元データ:そのままの場所に置いておきます。
- URL:記録します。内容を取得して読んだ場合は、ページが変更または消失する可能性があるため、読んだ内容も
{workflow.raw_folder}に保存します。
テンプレートを選ぶ
呼び出し元またはユーザーがパスか URL で指定したテンプレートを使用します。指定がない場合は、テンプレートを一覧表示します:uv run {project-root}/_bmad/scripts/list_templates.py {workflow.template_libraries} <libraries the caller passed> --folder ingest-templates --root <folder>。プロジェクトのスキルフォルダーに対して --root を 1 つ指定し、次にホストが読み込むユーザーレベルのスキルフォルダーごとに 1 つ指定します。スクリプトが見つからない場合:BMad のインストールが古く、このスクリプトは含まれていません。bmad スキルに更新を依頼してください。共有スクリプトが更新されたら、テンプレートを再度一覧表示します。各 tool_sources の記述に従って、そのライブラリのテンプレートにもアクセスします。unreachable ソース、{project-root}/_bmad/custom/ingest-templates または ~/.bmad/ingest-templates 以外の missing パス、orphaned 拡張機能があれば名前を挙げ、それらを使わずに先へ進みます。GitHub のファイルは gh を使って読みます。
ID で指定されたテンプレートがあればそれを使用します。そうでなければ、説明だけを基準に選び、理由を 1 行で述べ、近い候補も挙げます。適切なものがない場合、会話には meeting、それ以外には document を使用します。選択したテンプレートと、その extensions をそれぞれ読み込みます。競合がある場合は、一覧で先にあるものを優先します。
テンプレート内のコメントは作業の指針として使用し、メモには含めません。Review で確認するのは done when の内容です。元の入力に該当する内容がないセクションでは、その旨を 1 行で示します。ただし、コメントで任意とされている場合は除きます。
ノートを書く
ノートのフォルダーは、次のうち最初に該当するものです。
- 呼び出し元またはユーザーが指定したフォルダー。
- 作業中の内容から明らかなフォルダー。たとえば、隣に
sources/フォルダーがある文書を作成している場合などです。 - テンプレートの
output。 {workflow.notes_folder}。パス、または従うべき指示です。
呼び出し元またはユーザーから1つにまとめたノートを求められない限り、元データごとにノートを1つ作成します。名前は <raw name>.md とします。すでにこの元データ自身が作成したもの以外に同じ名前のノートがある場合は、-2、-3 のように番号を追加します。フロントマターには title、後から読む人が開くかどうかを判断するための1行の説明である description、template、ingested(今日の日付)、および source(ノートからの相対パス、または元データのURL)を記載します。
- 各項目には、元データ内の該当箇所を示します。タイムスタンプ、セクション、メッセージの日付と話者、または短い引用などを指定します。
- 担当者、日付、数値、条件(「Xが完了したら」「〜の場合に限り」)は、元データに記載されているとおりにのみ記し、それぞれ該当する項目に記載します。
- 相対的な日付(「月曜日」「来週」)の横に、元データ自体の日付が分かる場合は暦上の日付を追加します。日付と曜日は記憶に頼らず、
dateまたはcalで確認します。 - 人物の名前は元データに記載されているとおりにします。
- 発言が後から撤回または訂正された場合は、最終的な状態を記し、変更があったことも示します。
- 約束や顧客自身の言葉など、表現が重要な箇所は正確に引用します。
- 重要な添付ファイルはコピーせず、元データのフォルダーからリンクします。
- 聞き取れない箇所、話者が不明な箇所、食い違う説明など、元データ自体で未解決の事項は、最後に
## Unclear in the sourceセクションを設けて記載します。該当する事項がない場合は、このセクションを設けません。関係者が未解決のままにした質問は、テンプレートで指定された場所に記載します。
元データ全体を保持できないほど長い場合は、複数の部分に分けて読み、読み進めながらメモを続けます。書き始める前に、午前中の決定が午後に覆された場合など、部分ごとに変わった内容を元データに照らして整理します。
書き終えたら、source とノート内のすべての相対リンクが、ノートのフォルダーから解決できることを確認します。
レビュー
書き手は読み違いに気づきにくいため、ノートを書いていない人が確認します。ホストにサブエージェントがある場合はサブエージェントを使い、ない場合は自分でもう一度元データを確認します。レビュー担当者にノート、元データ、テンプレートを渡し、次の各項目について元データ内の該当箇所とともに返すよう依頼します。
- 元データにあるのにノートから抜けている、または誤って記載されている決定、約束、条件。
- 提案や申し出(「そうするつもりです」「できます」)が決定事項または割り当て済みとして記載されている項目、あるいは撤回された項目が以前の状態で記載されている箇所。
- 誤った人物の発言として記載された引用または項目。
- 該当する項目を裏付けていない出典。
- テンプレートの
done whenが求めているのに、ノートで満たされていない事項。
レビュー担当者が誤った指摘をすることもあるため、対応する前に各指摘を元データと照らして確認します。ノートを修正し、なお不確かな点は ## Unclear in the source に記載します。
完了
ノートのパスと元データのパスをユーザーに伝え、その後 {workflow.on_complete} を実行します。ヘッドレス実行の場合は、note、raw、template、および unclear(## Unclear in the source 内の項目数)を含むJSONオブジェクトを1つ出力して終了します。
テンプレートを追加または置き換えるには、{project-root}/_bmad/custom/ingest-templates/、またはすべてのプロジェクトで使う場合は ~/.bmad/ingest-templates/ に、フロントマターに template、category、description を含むファイルを配置します。提供済みのテンプレートを置き換えるには同じIDを使い、既存のテンプレートに追加するには extends: <id> を指定します。元データやノートの保存先を変更する場合、またはテンプレートライブラリを追加する場合は、workflow.raw_folder、workflow.notes_folder、または workflow.template_libraries を指定して bmad-customize スキルを呼び出します。インストールされていない場合は、npx skills add bmad-code-org/BMAD-METHOD --skill bmad-customize を提案します。