sync: update from private repo (c764df2f)
CI / build-and-test (push) Has been cancelled

This commit is contained in:
oss-sync
2026-06-29 01:32:25 +00:00
parent b857c33ef6
commit a6d1879d63
75 changed files with 3874 additions and 334 deletions
+32 -49
View File
@@ -4,7 +4,7 @@ description: |
選ぶべき場合: 「どうすべきか」「どの方針が良いか」を多角的に検討する必要がある
選ぶべきでない場合: 答えが調査で明確になるタスク、具体的な成果物の作成が主目的
max_movements: 999
initial_movement: decompose
initial_movement: delegate_research
triggers:
keywords:
@@ -15,59 +15,42 @@ triggers:
- アイデア出し
movements:
- name: decompose
edit: false
- name: delegate_research
edit: true
persona: facilitator
instruction: |
課題を分析し、複数の視点から検討すべきポイントを特定してください。
課題を複数の視点に分解し、各視点を delegate で1件ずつ直列に検討させ、
最後に推奨方針へ統合する。重い検討は各サブに任せ、自分の文脈は軽く保つ。
1. タスクの指示を注意深く読み、何が求められているかを理解する
2. 検討すべき視点や切り口を 2〜5 個に分解する
手順:
1. タスクの指示を注意深く読み、検討すべき視点や切り口を 2〜5 個に分解する
- 例: 技術的実現性、コスト/リソース、ユーザーへの影響、リスク、長期的な拡張性
3. 各視点ごとに SpawnSubTask で独立した調査・検討タスクを作成する
- piece は "research-sub" を指定する
- instruction には「この視点で分析し、output/analysis.md に結論と根拠を書いてください」と具体的に記述
- 各サブタスクは異なる分析レンズを持つよう明確に指定する
4. 全サブタスクの登録が完了したら WAIT_SUBTASKS に遷移する
allowed_tools:
- Read
- Grep
- Glob
- SpawnSubTask
rules:
- condition: "全てのサブタスクを SpawnSubTask で登録し終えた"
next: WAIT_SUBTASKS
- condition: 全てのサブタスクを登録し終えた(SpawnSubTask不可の場合は自分で分析を完了した)
next: aggregate
default_next: aggregate
- name: aggregate
edit: true
persona: analyst
instruction: |
各サブタスクの検討結果を統合し、推奨方針をまとめてください。
1. subtasks/ ディレクトリを確認する(Glob: subtasks/*/output/**
2. 各サブタスクの分析結果を読み込む
3. 共通点・相違点・トレードオフを整理する
4. 総合的な推奨方針を output/recommendation.md に作成する
各視点に上から 1 始まりの連番を振る(1, 2, 3 ...)。
2. 各視点について delegate を1回ずつ呼ぶ(1件ずつ順番に・直列)。
delegate の prompt には必ず次を自己完結で書く(サブは独立した文脈で動くため、
このタスク全体の背景・目的を要約して渡す):
- 検討する視点(分析レンズ)と、課題の目的・背景
- 「この視点で分析し、結論と根拠を出す。WebSearch / WebFetch / 一次情報で
裏を取り、モデルの内部知識だけで書かない」指示
- 「結論・根拠・メリット/デメリット・リスクの構成で
output/research/perspective-{連番}.md に Write せよ」指示
- 「完了したら 3〜5 行の要約だけを返せ。本文は返さずファイルに書け」
- 「あなたは末端の担当。delegate / SpawnSubTask は呼ぶな」
各視点が異なる分析レンズを持つよう明確に指定する。
各サブの戻り値(短い要約)だけが手元に残る。本文はファイルにある。
3. Glob で output/research/*.md の件数を確認する。
4. 各サブの要約とファイルを基に推奨方針を output/recommendation.md に Write する:
- 各視点からの主要な発見
- トレードオフの整理
- 共通点・相違点・トレードオフの整理
- 推奨アプローチとその根拠
- リスクと緩和策
5. 完了したら verify に遷移する
allowed_tools:
- Read
- Glob
- Grep
- Write
- Edit
- 'mcp__*'
- 各視点の詳細へ相対リンク [perspective-{連番}](./research/perspective-{連番}.md) で繋ぐ
5. output/recommendation.md を書き終えたら verify へ遷移する
allowed_tools: [delegate, Read, Write, Edit, Glob, Grep, WebSearch, WebFetch, BrowseWeb, DownloadFile, ReadImage, AnnotateImage, ReadPdf, PdfToImages, GetYouTubeTranscript, SearchYouTube, SearchAmazon, SearchPlaces, GetDirections, ReverseGeocode, XSearch, XUserPosts, XPostDetail, SearchMicrosoftLearn, FetchMicrosoftLearn, 'mcp__*']
default_next: verify
rules:
- condition: "output/recommendation.md に推奨方針をまとめた"
next: verify
default_next: verify
- name: verify
edit: false
@@ -77,9 +60,9 @@ movements:
確認手順:
1. まず Glob で output/ 内のファイル一覧を確認する
2. output/recommendation.md がなければ「修正が必要」と判断し aggregate に差し戻す
2. output/recommendation.md がなければ「修正が必要」と判断し delegate_research に差し戻す
3. ファイルがあれば Read で内容を確認し、各視点の分析が含まれているか・推奨方針が論理的かをチェックする
4. 不足や誤りがあれば、`transition({next_step: "aggregate", summary: ...})` で差し戻す。summary は次の形式で書く:
4. 不足や誤りがあれば、`transition({next_step: "delegate_research", summary: ...})` で差し戻す。summary は次の形式で書く:
[判定] needs_fix
## 問題点
- [ファイル名:行番号または項目名] 何が問題か
@@ -88,7 +71,7 @@ movements:
## 合格基準
- 再レビューで何を確認するか
## 次にやること
- aggregate で最初に着手すべき具体的な修正
- delegate_research で最初に着手すべき具体的な修正
5. summary は抽象論で終えず、具体的な不足点・期待する修正内容を必ず含める
## チェックシート確認
@@ -105,7 +88,7 @@ movements:
## 終了方法のまとめ
- 合格: `complete({status: "success", result: "ユーザー向け最終回答"})`
- 修正必要: `transition({next_step: "aggregate", summary: "差し戻し指摘"})` (上記形式で)
- 修正必要: `transition({next_step: "delegate_research", summary: "差し戻し指摘"})` (上記形式で)
- 技術的失敗: `complete({status: "aborted", abort_reason: "..."})`
allowed_tools: [Read, Glob, Grep]
# default_next is the engine-internal fallback (context overflow / ASK
@@ -113,4 +96,4 @@ movements:
default_next: COMPLETE
rules:
- condition: output/ にファイルがない、または内容に不足がある
next: aggregate
next: delegate_research
+32 -42
View File
@@ -8,48 +8,36 @@ max_movements: 999
initial_movement: execute
movements:
- name: decompose
edit: false
- name: delegate_research
edit: true
persona: orchestrator
instruction: |
入力把握で決めた並列調査計画に従い、各テーマをサブタスクとして登録する。
入力把握で立てた分割調査計画に従い、各テーマを delegate で1件ずつ直列に
深掘りさせ、最後に統合レポートにまとめる。重い調査は各サブに任せ、
自分の文脈は軽く保つ。
手順:
1. 入力把握で立てた計画を思い出す(ファイル読み込みは不要)
2. 各テーマに対して SpawnSubTask を呼び出す(2〜5 個程度)
- title: テーマを簡潔に(例:「A社の製品ラインアップ調査」)
- instruction: 何を調べて output/result.md にどう書くかを具体的に記述
- piece: 調査系は "research-sub"、汎用作業は "general"(サブタスクからさらに分解しないこと)
3. 全サブタスクの登録が完了したら WAIT_SUBTASKS に遷移する
## instruction の書き方例
「〇〇について調査し、output/result.md に以下を含めてまとめてください:
- 概要と主要な特徴
- メリット・デメリット
- 具体的な数値・事例(可能な限り)」
allowed_tools: [SpawnSubTask]
default_next: aggregate
rules:
- condition: 全サブタスクを SpawnSubTask で登録し終えた
next: WAIT_SUBTASKS
- condition: 全てのサブタスクを登録し終えた(SpawnSubTask不可の場合は自分で分析を完了した)
next: aggregate
- name: aggregate
edit: true
persona: analyst
instruction: |
各サブタスクの結果が subtasks/ ディレクトリに格納されています。
手順:
1. Glob で subtasks/*/result.md を確認する
2. 各 result.md を Read で読み込む
3. subtasks/*/output/ も確認して追加の成果物があれば Read する
4. 全結果を統合して output/report.md に最終レポートを作成する
- 各サブタスクの主要な知見を統合(矛盾・重複は整理)
1. 入力把握で立てた調査テーマを思い出す(2〜5 個程度)。各テーマに上から
1 始まりの連番を振る(1, 2, 3 ...)。
2. 各テーマについて delegate を1回ずつ呼ぶ(1件ずつ順番に・直列)。
delegate の prompt には必ず次を自己完結で書く(サブは独立した文脈で動くため、
このタスク全体の背景・目的を要約して渡す):
- 調べる/作業するテーマと目的・背景
- 「WebSearch / WebFetch / 一次情報で裏を取る。モデルの内部知識だけで書かない」指示
- 「概要・主要な特徴・数値や事例・まとめと考察 の構成で
output/research/theme-{連番}.md に Write せよ。関連する画像・グラフは
output/images/ に保存し Markdown で埋め込め」指示
- 「完了したら 3〜5 行の要約だけを返せ。本文は返さずファイルに書け」
- 「あなたは末端の担当。delegate / SpawnSubTask は呼ぶな」
各サブの戻り値(短い要約)だけが手元に残る。本文はファイルにある。
3. Glob で output/research/*.md の件数を確認する。
4. 各サブの要約とファイルを基に統合レポートを output/report.md に Write する:
- 各テーマの主要な知見を統合(矛盾・重複は整理)
- 比較・対照が必要なら表形式で整理
- 全体のまとめと結論を付ける
- 各テーマの詳細へ相対リンク [theme-{連番}](./research/theme-{連番}.md) で繋ぐ
5. output/report.md を書き終えたら verify へ遷移する
allowed_tools: [Read, Glob, Grep, Write, Edit, 'mcp__*']
allowed_tools: [delegate, Read, Write, Edit, Glob, Grep, WebSearch, WebFetch, BrowseWeb, DownloadFile, ReadImage, AnnotateImage, ReadPdf, PdfToImages, GetYouTubeTranscript, SearchYouTube, SearchAmazon, SearchPlaces, GetDirections, ReverseGeocode, XSearch, XUserPosts, XPostDetail, SearchMicrosoftLearn, FetchMicrosoftLearn, 'mcp__*']
default_next: verify
rules:
- condition: output/report.md に統合レポートを作成した
@@ -68,14 +56,16 @@ movements:
3. 不明点があれば WebSearch/WebFetch で調べる
4. 「今日のニュース」「最新動向」など時刻依存の依頼は、必ず最初に WebSearch を実行する
## 並列分解の判断
## 分割調査の判断(delegate_research
以下の場合は decompose を積極的に検討する:
以下の場合は delegate_research を積極的に検討する:
- 複数の独立した調査対象がある(例: 3社の比較調査、複数トピックのリサーチ)
- 各調査が互いに依存せず、結果を最後に統合すればよい
- 全体を 1 回の execute で処理すると context が溢れるリスクがある
delegate_research では各テーマを delegate に1件ずつ任せ、本文はファイルに書かせて
自分の文脈を軽く保つ。直列実行)
decompose を使わない場合:
delegate_research を使わない場合:
- 単一テーマの作業(ファイル編集、1 つの調査など)
- 各ステップが前のステップの結果に依存する逐次的な作業
@@ -118,14 +108,14 @@ movements:
## 終了 / 遷移方法
- **次の verify へ**: `transition({next_step: "verify"})`
- **並列分解が効率的 → decompose へ**: `transition({next_step: "decompose"})`
- **分割調査が効率的 → delegate_research へ**: `transition({next_step: "delegate_research"})`
- **必須情報が不足し確認が必要**: `complete({status: "needs_user_input", missing_info: "...", why_no_default: "..."})`
- **技術的失敗で打ち切り**: `complete({status: "aborted", abort_reason: "..."})`
allowed_tools: [Read, Write, Bash, Glob, Grep, WebSearch, WebFetch, BrowseWeb, DownloadFile, ReadImage, AnnotateImage, ReadPdf, PdfToImages, ReadMsg, BatchReviewTextWithLLM, MergeReviewedResults, SearchPlaces, GetDirections, ReverseGeocode, GetYouTubeTranscript, SearchYouTube, SearchAmazon, TranscribeAudio, SearchMicrosoftLearn, FetchMicrosoftLearn, SearchMicrosoftLearnCache, RefreshMicrosoftLearnCache, AddCalendarEvent, ListCalendarEvents, 'mcp__*']
default_next: verify
rules:
- condition: 2つ以上の独立したテーマがあり、並列分解が効率的と判断した
next: decompose
- condition: 2つ以上の独立したテーマがあり、分割して delegate に任せるのが効率的と判断した
next: delegate_research
- condition: output/ にファイルを書き出した
next: verify
+1 -1
View File
@@ -30,7 +30,7 @@ movements:
- 各ステップで使うツール(`allowed_tools`
- 入力と出力の形式
ツールの詳細仕様は ReadToolDoc で確認できる(例: `ReadToolDoc({ name: "SpawnSubTask" })`)。
ツールの詳細仕様は ReadToolDoc で確認できる(例: `ReadToolDoc({ name: "delegate" })`)。
### YAML 構造の制約
```yaml
-110
View File
@@ -1,110 +0,0 @@
name: research-sub
description: |
サブタスク専用の調査ピース。親タスクの decompose から SpawnSubTask で起動される。
dig → analyze → verify の 3 ステップで調査を完結させる。
さらなるサブタスク分解(SpawnSubTask)は行わない。
max_movements: 999
initial_movement: dig
movements:
- name: dig
edit: true
persona: researcher
instruction: |
## 最初のステップ: 入力把握と調査計画
情報収集に着手する前に、調査対象と目的を整理する:
1. Glob でワークスペース全体のファイル一覧を確認する(input/ だけでなくルート直下も含む)
2. 指示で言及されているファイルがあれば適切なツールで内容を把握する(カタログ参照、詳細は ReadToolDoc
3. 調査対象と目的を整理し、どこから情報を集めるか、何を分析するかを明確にする
4. 「今日のニュース」「最新動向」「直近」など時刻依存の調査依頼では、必ず最初のアクションを WebSearch にする
## 計画に従って情報を収集する
WebSearch、WebFetch、ファイル読み込み等で情報を集め、必ず Write で output/ にファイルとして書き出すこと。
テキストで回答するだけでは不十分。
## 検索の原則(必須)
- モデルの内部知識だけで情報を書かないこと。主張・事実・数値は必ず WebSearch/WebFetch で裏付けを取る
- output/ に既存ファイルがある場合でもその内容を鵜呑みにせず、検索で正確性を確認する
## 一次情報へのアクセスと捏造禁止(厳守)
- YouTube 動画の内容を調査する場合は、必ず GetYouTubeTranscript で字幕を取得してから作業する
- 一次情報に直接アクセスできなかった場合:
- Web 検索の断片的な情報から内容を推測・捏造してはならない
- アクセスできなかった旨を明記し、取得できた範囲の情報のみで成果物を作成する
## 画像・ビジュアル素材の収集(必須)
調査中は画像・グラフ・図表を積極的に収集し、output/images/ に保存すること。
## 終了 / 遷移方法
- **次の analyze へ**: `transition({next_step: "analyze"})`
- **追加調査のため同じ dig を続行**: `transition({next_step: "dig"})`
- **対象が曖昧で確認が必要**: `complete({status: "needs_user_input", missing_info: "...", why_no_default: "..."})`
- **技術的失敗で打ち切り**: `complete({status: "aborted", abort_reason: "..."})`
allowed_tools: [Read, Write, Bash, Glob, Grep, WebSearch, WebFetch, BrowseWeb, DownloadFile, ReadImage, AnnotateImage, ReadPdf, PdfToImages, BatchReviewTextWithLLM, MergeReviewedResults, SearchPlaces, GetDirections, ReverseGeocode, GetYouTubeTranscript, SearchYouTube, SearchAmazon, TranscribeAudio, XSearch, XUserPosts, XPostDetail, XTimeline, XFetchCardMedia, SearchMicrosoftLearn, FetchMicrosoftLearn, SearchMicrosoftLearnCache, RefreshMicrosoftLearnCache, 'mcp__*']
default_next: analyze
rules:
- condition: output/ に情報を書き出した
next: analyze
- condition: 追加調査が必要
next: dig
- name: analyze
edit: true
persona: analyst
instruction: |
収集した情報を分析し、調査レポートを output/ に作成する。
重要なポイント、トレンド、結論をまとめる。
必ず Write ツールで output/ にレポートファイルを書き出すこと。
前のステップから指摘事項がある場合は、それに対応すること。
## 検索の原則(必須)
- レポートに記載する事実・数値・主張は、dig で収集した検索結果に基づくこと
- 情報が不足している場合は、ここでも追加の WebSearch/WebFetch を行い裏付けを取る
- 「これまでのレビュー指摘」がある場合は、各項目を漏れなく解消すること
## 画像の活用(必須)
output/images/ に画像がある場合は、必ずレポートの該当箇所に埋め込む:
`![説明](./images/ファイル名.png)`
allowed_tools: [Read, Write, Bash, Glob, Grep, WebSearch, WebFetch, BrowseWeb, DownloadFile, ReadImage, AnnotateImage, ReadPdf, PdfToImages, BatchReviewTextWithLLM, MergeReviewedResults, SearchPlaces, GetDirections, ReverseGeocode, GetYouTubeTranscript, SearchYouTube, SearchAmazon, TranscribeAudio, XSearch, XUserPosts, XPostDetail, XTimeline, XFetchCardMedia, SearchMicrosoftLearn, FetchMicrosoftLearn, SearchMicrosoftLearnCache, RefreshMicrosoftLearnCache, 'mcp__*']
default_next: verify
rules:
- condition: output/ にレポートを書き出した
next: verify
- condition: 追加調査が必要
next: dig
- name: verify
edit: false
persona: reviewer
instruction: |
output/ のレポートを確認する。
確認手順:
1. まず Glob で output/ 内のファイル一覧を確認する
2. output/ にファイルが1つもなければ「不足がある」と判断し analyze に差し戻す
3. ファイルがあれば Read で内容を確認し、網羅性・正確性・分かりやすさをチェックする
4. 不足があれば analyze に差し戻す
## 合格時
合格と判断したら、`complete({status: "success", result: ...})` を呼ぶ。
result はそのままユーザー(親タスク)に返される。
- 調査結果・発見・結論を簡潔にまとめる
- 表・リスト・見出しなど Markdown 書式を活用して読みやすくする
## 終了方法
- 合格: `complete({status: "success", result: "調査結果のまとめ"})`
- 修正必要: `transition({next_step: "analyze", summary: "差し戻し指摘"})`
- 技術的失敗: `complete({status: "aborted", abort_reason: "..."})`
allowed_tools: [Read, Glob, Grep, WebSearch, WebFetch, ReadImage, AnnotateImage, ReadPdf, ReadExcel, ReadDocx, ReadPPTX, SearchMicrosoftLearn, FetchMicrosoftLearn, SearchMicrosoftLearnCache, RefreshMicrosoftLearnCache]
default_next: COMPLETE
rules:
- condition: output/ にファイルがない、または内容に不足がある
next: analyze
+30 -35
View File
@@ -10,42 +10,35 @@ max_movements: 999
initial_movement: dig
movements:
- name: decompose
edit: false
- name: delegate_research
edit: true
persona: orchestrator
instruction: |
入力把握で決めた並列調査計画に従い、各テーマをサブタスクとして登録する。
dig で立てた並列調査計画に従い、各テーマを delegate で1件ずつ直列に深掘りさせ、
最後に統合レポートにまとめる。重い調査は各サブに任せ、自分の文脈は軽く保つ。
手順:
1. 入力把握で立てた調査テーマを思い出す(ファイル読み込みは不要)
2. 各テーマに対して SpawnSubTask を呼び出す(2〜5 個程度、piece は "research-sub"
3. 全サブタスクの登録が完了したら WAIT_SUBTASKS に遷移する
instruction には「何を調べて output/result.md にどう書くか」を具体的に記述する
(概要・主要な特徴・数値や事例・まとめと考察 など、構成を明示)。
allowed_tools: [SpawnSubTask]
default_next: aggregate
rules:
- condition: 全サブタスクを SpawnSubTask で登録し終えた
next: WAIT_SUBTASKS
- condition: 全てのサブタスクを登録し終えた(SpawnSubTask不可の場合は自分で調査を完了した)
next: aggregate
- name: aggregate
edit: true
persona: analyst
instruction: |
各サブタスクの調査結果が subtasks/ ディレクトリに格納されている。
手順:
1. Glob で subtasks/*/result.md と subtasks/*/output/ を確認する
2. 各 result.md と追加成果物を Read で読み込む
3. 全結果を統合して output/report.md に最終レポートを作成する
1. dig で立てた調査テーマを思い出す(2〜5 個程度)。各テーマに上から 1 始まりの
連番を振る(1, 2, 3 ...)。
2. 各テーマについて delegate を1回ずつ呼ぶ(1件ずつ順番に・直列)。
delegate の prompt には必ず次を自己完結で書く(サブは独立した文脈で動くため、
このタスク全体の背景・目的を要約して渡す):
- 調べるテーマと目的・背景
- 「WebSearch / WebFetch / 一次情報で裏を取る。モデルの内部知識だけで書かない」指示
- 「概要・主要な特徴・数値や事例・まとめと考察 の構成で
output/research/theme-{連番}.md に Write せよ。関連する画像・グラフは
output/images/ に保存し Markdown で埋め込め」指示
- 「完了したら 3〜5 行の要約だけを返せ。深掘り本文は返さずファイルに書け」
- 「あなたは末端の調査担当。delegate / SpawnSubTask は呼ぶな」
各サブの戻り値(短い要約)だけが手元に残る。本文はファイルにある。
3. Glob で output/research/*.md の件数を確認する。
4. 各サブの要約とファイルを基に統合レポートを output/report.md に Write する:
- 各テーマの主要な知見を統合(矛盾・重複は整理)
- 比較・対照が必要なら表形式で整理
- 全体のまとめと考察を付ける
4. output/report.md を書き終えたら verify へ遷移する
allowed_tools: [Read, Glob, Grep, Write, Edit, 'mcp__*']
- 各テーマの詳細へ相対リンク [theme-{連番}](./research/theme-{連番}.md) で繋ぐ
5. output/report.md を書き終えたら verify へ遷移する
allowed_tools: [delegate, Read, Write, Edit, Glob, Grep, WebSearch, WebFetch, BrowseWeb, DownloadFile, ReadImage, AnnotateImage, ReadPdf, PdfToImages, GetYouTubeTranscript, SearchYouTube, SearchAmazon, SearchPlaces, GetDirections, ReverseGeocode, XSearch, XUserPosts, XPostDetail, SearchMicrosoftLearn, FetchMicrosoftLearn, 'mcp__*']
default_next: verify
rules:
- condition: output/report.md に統合レポートを作成した
@@ -63,14 +56,16 @@ movements:
3. 調査対象と目的を整理し、どこから情報を集めるか、何を分析するかを明確にする
4. 「今日のニュース」「最新動向」「直近」など時刻依存の調査依頼では、必ず最初のアクションを WebSearch にする
## 並列分解の判断
## 分割調査の判断(delegate_research
decompose を積極的に検討するケース:
delegate_research を積極的に検討するケース:
- 複数の独立した調査対象がある(例: 3社の比較、複数技術の比較)
- 各調査が互いに依存せず、結果を最後に統合すればよい
- 全体を 1 回の dig → analyze で処理すると context が溢れるリスクがある
delegate_research では各テーマを delegate に1件ずつ任せ、本文はファイルに書かせて
自分の文脈を軽く保つ。直列実行)
decompose を使わないケース:
delegate_research を使わないケース:
- 単一テーマの調査
- 各ステップが前のステップの結果に依存する逐次的な調査
@@ -109,15 +104,15 @@ movements:
## 終了 / 遷移方法
- **次の analyze へ**: `transition({next_step: "analyze"})`
- **並列分解 → decompose へ**: `transition({next_step: "decompose"})`
- **分割調査 → delegate_research へ**: `transition({next_step: "delegate_research"})`
- **追加調査のため同じ dig を続行**: `transition({next_step: "dig"})`
- **対象が曖昧で確認が必要**: `complete({status: "needs_user_input", missing_info: "...", why_no_default: "..."})`
- **技術的失敗で打ち切り**: `complete({status: "aborted", abort_reason: "..."})`
allowed_tools: [Read, Write, Bash, Glob, Grep, WebSearch, WebFetch, BrowseWeb, DownloadFile, ReadImage, AnnotateImage, ReadPdf, PdfToImages, BatchReviewTextWithLLM, MergeReviewedResults, SearchPlaces, GetDirections, ReverseGeocode, GetYouTubeTranscript, SearchYouTube, SearchAmazon, TranscribeAudio, XSearch, XUserPosts, XPostDetail, XTimeline, XFetchCardMedia, SearchMicrosoftLearn, FetchMicrosoftLearn, SearchMicrosoftLearnCache, RefreshMicrosoftLearnCache, 'mcp__*']
default_next: analyze
rules:
- condition: 2つ以上の独立した調査テーマがあり、並列分解が効率的と判断した
next: decompose
- condition: 2つ以上の独立した調査テーマがあり、分割して delegate に任せるのが効率的と判断した
next: delegate_research
- condition: output/ に情報を書き出した
next: analyze
- condition: 追加調査が必要