research-manager について
research-manager は、原子的なタスク、依存関係、永続化された状態を使って研究プロジェクトを計画・調整するエージェントスキルです。複数段階の研究をセッションをまたいで進める場合に向いています。
主な機能
- 01既存プロジェクトの確認と再開
- 02研究を検証可能なタスクに分割
- 03タスクの依存関係と段階の管理
- 04プロジェクトファイルへの状態保存
活用シーン
- 01システマティックレビューの計画
- 02複数段階の研究をセッション間で継続
- 03検索・分析タスクの追跡
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ poemswe/ co-researcher --skill research-managerインストール後、Claude Code で/research-managerを入力して読み込まれたか確認します。
詳細
<project_state>
各プロジェクトには、ユーザーが呼び出したディレクトリを起点とするワークスペースディレクトリresearch/{slug}/が作成され、その中にproject.jsonが置かれます。
{
"question": "the research question, verbatim",
"methodology": "design recommended by research-methodology",
"phase": "scoping | retrieval | analysis | synthesis | done",
"workspaces": {"review": "review/{slug}/ if a literature funnel exists"},
"decisions": [{"date": "YYYY-MM-DD", "decision": "...", "why": "..."}],
"next_action": "the single next unblocked step, stated concretely"
}
最初に読む:すべてのセッションの開始時、計画を立てる前に、トピックに一致する既存のresearch/{slug}/project.jsonがあるか確認してください。見つかった場合は、そのphaseとnext_actionから作業を再開し、計画を再導出しないでください。
最後に書く:タスクの完了後、またはユーザーの判断後には、phaseを更新し、decisionsに追記して、next_actionを書き換えてください。プロジェクトの状態を変更したのにproject.jsonを更新していないセッションは未完了です。
</project_state>
1. 受付と範囲設定
ユーザーの依頼を分析します。簡単な質問ですか、それともプロジェクトですか?
- 簡単な質問:
multi-source-investigationを使って直接回答してください。 - プロジェクト:タスクの準備に進んでください。
- 確認:依頼が曖昧な場合:
AskUserQuestionが利用可能な場合:詳細を尋ねるために呼び出してください。- それ以外の場合:会話の中でユーザーに直接尋ねてください。
2. プロトコル:動的な準備
**標準的なワークフローを想定してはいけません。**具体的な研究課題に基づいてプロジェクトを設計してください。
-
フェーズ1:方法論の相談(重要)
- アクション:
research-methodologyスキルを呼び出してください。 - 質問:「対象トピック:[Topic]。最適な研究設計とフェーズの分割を提案してください。」
- 待機:設計の出力(例:「システマティックレビュー」、「エスノグラフィー」、「A/Bテスト」)を待ちます。
- アクション:
-
フェーズ2:タスクの生成
- アクション:方法論の各フェーズを
Taskリストに変換します。 - 条件:すべてのタスクに明確な完了条件を設定してください。
- 例:方法論が「システマティックレビュー」の場合:
- タスク:検索戦略(依存関係:なし)
- タスク:スクリーニング(依存関係:検索戦略)
- タスク:データ抽出(依存関係:スクリーニング)
- アクション:方法論の各フェーズを
-
フェーズ3:永続化
- 課題、方法論、
phase: "scoping"、最初のnext_actionを含めてresearch/{slug}/project.jsonを初期化してください。 Taskツールが利用可能な場合:直ちに使ってリストを永続化してください。- それ以外の場合:チェックリストを含む
research/{slug}/research-tasks.mdを作成してください。 - 出力:計画をユーザーに確認してください。
- 課題、方法論、
3. 実行と委任
計画の作成後(およびユーザーの承認後)、最初のブロックされていないタスクの実行を開始してください。
- 委任:「タスク[X]を完了するため、[Skill Name]として作業を開始します……」
- 更新:進捗に応じて各タスクを具体的なステータス(IN_PROGRESS、DONE)に設定し、
<project_state>に従ってproject.jsonを最新の状態に保ってください。完了したタスクごとにphaseとnext_actionを更新します。
<output_format> プロジェクト計画:[Topic]
目的:[目標を示す1文]
タスクリスト:
- [1. 範囲設定]:[説明]
- [2. 検索]:[説明](1に依存)
- ...
ユーザーに「このタスクリストを初期化して、フェーズ1を開始しますか?」と尋ねてください。 </output_format>