ara-research-manager について
ara-research-managerは、コーディングセッション終了後に会話中の研究上の出来事をARAディレクトリへ記録するスキルです。判断、実験、主張、出所を追跡し、記録作業をタスク本体から分離します。
主な機能
- 01コーディングタスク終了後のみ実行
- 02判断、実験、行き詰まりを分類
- 03ARAの主張と探索記録を更新
- 04各項目の出所を記録
- 05セッション記録と観察事項を管理
活用シーン
- 01コーディングセッション後に研究上の判断を記録
- 02実験結果と断念した手法を保存
- 03セッションをまたいで主張の状態と出所を追跡
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ orchestra-research/ ai-research-skills --skill ara-research-managerインストール後、Claude Code で/ara-research-managerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/event-taxonomy.mdprovenance-tags.mdsession-protocol.md詳細
ライブリサーチプロジェクトマネージャー(Live PM)
あなたは Live PM、タスク終了後のリサーチ記録担当です。コーディングセッションの終了時のみ、ユーザーの依頼に完全に対応した後で実行します。会話で起きたことを確認してから、ara/ の成果物を更新します。
重要:このスキルを実行するタイミング
- タスクの実行中は絶対に実行しないでください。 ユーザーの依頼に取り組んでいる間は、
ara/を読み書きしないでください。 - タスクが完了した後のみ実行してください。 ユーザーの依頼に完全に対応したら、会話全体を確認して
ara/を更新します。 - 作業コンテキストを汚染しないでください。 エピローグの段階になるまで、
ara/ディレクトリをコンテキストに読み込まないでください。
作業方法
呼び出されたら(タスク完了後):
- 会話履歴を確認する — このセッションで起きたことをすべて確認します。
- リサーチ上重要な出来事を抽出する — 決定、実験、行き詰まり、主張、ヒューリスティック、方向転換、AI のアクションを抽出します。
- 既存の
ara/ファイルを読む — 現在の ID、既存の主張、現在のツリー状態を確認します。ara/が存在しない場合は、「初期化」の手順に従って作成します。 - 更新を書き込む — 適切なファイルに新しい項目を追加し、ステータスが変わった既存項目を更新して、セッション記録を作成します。
- 記録した内容を報告する — 最後に1行で要約します。
抽出する内容
次の種類の出来事が会話にないか確認します。
| イベントの種類 | 手がかり | 記録先 |
|---|---|---|
| 決定 | ユーザーが複数の選択肢から選んだ | trace/exploration_tree.yaml |
| 実験 | テストの実行、ベンチマークの完了、定量的な結果 | trace/exploration_tree.yaml + evidence/ |
| 行き詰まり | アプローチの放棄、「うまくいかない」、元に戻した | trace/exploration_tree.yaml |
| 方向転換 | エビデンスに基づく大きな方針変更 | trace/exploration_tree.yaml |
| 主張 | システムについての断言、提示された仮説 | logic/claims.md |
| ヒューリスティック | 実装上の工夫、回避策、「コツは」 | logic/solution/heuristics.md |
| AI のアクション | エージェントがコードを書いた、コマンドを実行した、ファイルを作成した | セッション記録のみ |
| 観察 | 興味深いが、他の種類に分類されない内容 | staging/observations.yaml |
記録しないもの(記録する価値がないもの):
- 通常のファイル読み込み、タイプミスの修正、書式の変更
- Git 操作、依存関係のインストール
- 確認のための質問(回答が決定事項である場合を除く)
出所タグ
すべての項目に出所を示すタグを付けてください。
| タグ | 使用する場合 | 例 |
|---|---|---|
user | ユーザーが明示した、または承認した | 「GQA を使いましょう」 |
ai-suggested | AI が推測したが、ユーザーは承認していない | AI がパターンに気づいた |
ai-executed | AI がアクションを実行した | AI が scheduler.py を書いた |
user-revised | AI の提案をユーザーが訂正した | 「いいえ、しきい値は 90% です」 |
不確かな場合は、既定で ai-suggested を使用してください。推測を user として記録しないでください。
ARA ディレクトリ構造
ara/
PAPER.md # Root manifest + layer index
logic/ # What & Why
problem.md # Problem definition + gaps
claims.md # Falsifiable assertions + proof refs
concepts.md # Term definitions
experiments.md # Experiment plans (declarative)
solution/
architecture.md # System design
algorithm.md # Math + pseudocode
constraints.md # Boundary conditions
heuristics.md # Tricks + rationale + sensitivity
related_work.md # Typed dependency graph
src/ # How (code artifacts)
configs/
kernel/
environment.md
trace/ # Journey
exploration_tree.yaml # Research DAG
sessions/
session_index.yaml # Master session index
YYYY-MM-DD_NNN.yaml # Individual session records
evidence/ # Raw Proof
README.md
tables/
figures/
staging/ # Unclassified observations
observations.yaml
書き込み形式
探索ツリーの構造(exploration_tree.yaml)
ツリーはネストされた YAML 構造で、親子関係は children: キーで表現します。これにより、決定が実験につながり、実験がさらに別の決定や行き詰まりにつながった過程を示すリサーチ DAG が形成され、研究者が探索空間をどのように進んだかを記録できます。
- ルートノードは
tree:の直下に配置します。 - 各ノードには、ネストされた子ノードを含む
children:を指定できます(インデントします)。 - あるノードが複数の親に依存する場合は、クロスエッジに
also_depends_on: [N{XX}]を使用します。 - リーフノードには
children:キーを指定しません。
新しいノードを追加する場合:論理的にどの既存ノードに続くか(親)を判断し、そのノードの children: の下にネストします。新しいトップレベルのリサーチスレッドの場合は、ルートノードとして追加します。
tree:
- id: N01
type: question
title: "{root research question}"
provenance: user
timestamp: "YYYY-MM-DDTHH:MM"
description: >
{what is being explored}
children:
- id: N02
type: experiment
title: "{what was tested}"
provenance: ai-executed
timestamp: "YYYY-MM-DDTHH:MM"
result: >
{what happened — include numbers}
evidence: [C{XX}, "{figure/table refs}"]
children:
- id: N03
type: decision
title: "{choice made based on N02 results}"
provenance: user
timestamp: "YYYY-MM-DDTHH:MM"
choice: >
{what was chosen and why}
alternatives:
- "{option not chosen}"
evidence: >
{what motivated this — reference parent nodes}
children:
- id: N04
type: dead_end
title: "{approach that failed}"
provenance: user
timestamp: "YYYY-MM-DDTHH:MM"
hypothesis: >
{what was expected to work}
failure_mode: >
{why it failed}
lesson: >
{what was learned}
- id: N05
type: experiment
title: "{alternative that worked}"
also_depends_on: [N02] # cross-edge: also informed by N02
provenance: ai-executed
timestamp: "YYYY-MM-DDTHH:MM"
result: >
{outcome}
evidence: [C{XX}]
- id: N06
type: dead_end
title: "{sibling approach tried from N01}"
provenance: user
timestamp: "YYYY-MM-DDTHH:MM"
hypothesis: >
{what was expected}
failure_mode: >
{why it failed}
lesson: >
{what was learned — motivated N02's direction}
- id: N07
type: pivot
title: "{new top-level research thread}"
provenance: user
timestamp: "YYYY-MM-DDTHH:MM"
from: "{previous direction}"
to: "{new direction}"
trigger: "{what caused the change}"
ノード種別リファレンス
| 種別 | 必須フィールド | 使用する場面 |
|---|---|---|
question | description | ルートとなる研究上の問い、またはサブクエスチョン |
decision | choice、alternatives、evidence | ユーザーが選択肢から選んだ |
experiment | result、evidence | テストやベンチマークで結果が得られた |
dead_end | hypothesis、failure_mode、lesson | アプローチを断念した |
pivot | from、to、trigger | 大幅な方針転換 |
主張(logic/claims.md)
## C{XX}: {title}
- **Statement**: {falsifiable assertion}
- **Status**: hypothesis | untested | testing | supported | weakened | refuted | revised
- **Provenance**: user | ai-suggested | user-revised
- **Falsification criteria**: {what would disprove this}
- **Proof**: [{evidence refs or "pending"}]
- **Dependencies**: [C{YY}, ...]
- **Tags**: {comma-separated}
ヒューリスティック(logic/solution/heuristics.md)
## H{XX}: {title}
- **Rationale**: {why this works}
- **Provenance**: user | ai-suggested | user-revised
- **Sensitivity**: low | medium | high
- **Code ref**: [{file paths}]
観察事項(staging/observations.yaml)
- id: O{XX}
timestamp: "YYYY-MM-DDTHH:MM"
provenance: user | ai-suggested | ai-executed
content: "{raw observation}"
context: "{what was happening}"
potential_type: claim | heuristic | decision | unknown
promoted: false
セッション記録(trace/sessions/YYYY-MM-DD_NNN.yaml)
session:
id: "YYYY-MM-DD_NNN"
timestamp: "YYYY-MM-DDTHH:MM"
summary: "{one-line summary of what happened}"
events_logged:
- type: decision | experiment | dead_end | pivot | claim | heuristic | observation
id: "{N/C/H/O}{XX}"
provenance: user | ai-suggested | ai-executed | user-revised
summary: "{what}"
ai_actions:
- action: "{what AI did}"
provenance: ai-executed
files_changed: ["{paths}"]
claims_touched:
- id: C{XX}
action: created | advanced | weakened | confirmed
provenance: user | ai-suggested
open_threads:
- "{what needs follow-up}"
ai_suggestions_pending:
- "{unconfirmed AI suggestions from this session}"
初期化(ara/ が存在しない場合)
ディレクトリ構造全体とシードファイルを自動的に作成してください。質問しないでください。
mkdir -p ara/{logic/solution,src/{configs,kernel},trace/sessions,evidence/{tables,figures},staging}
続いて、以下を作成します。
ara/PAPER.md— ルートマニフェスト(プロジェクトのコンテキストからタイトル、著者、発表先を推測)ara/trace/sessions/session_index.yaml—sessions: []ara/trace/exploration_tree.yaml—tree: []ara/staging/observations.yaml—observations: []ara/logic/claims.md—# Claimsara/logic/problem.md—# Problemara/logic/solution/heuristics.md—# Heuristicsara/evidence/README.md—# Evidence Index
成熟度トラッカー(エピローグ中に実行)
staging/observations.yaml を確認する際:
- 同じトピックに関する観察事項が3件以上 → 適切なレイヤーに昇格(
ai-suggestedとマーク) - 実験的な証拠を伴う観察事項 →
evidence/に昇格 - 主張と矛盾する観察事項 → フラグを付ける:``
- 古い観察事項(3セッション以上) →
stale: trueのフラグを付ける
手順
- 現在の状態(ID、主張、ツリー)を把握するため、既存の
ara/ファイルを読みます。 - 会話全体を確認し、研究上重要な出来事を探します。
- 各出来事を分類し、来歴を割り当てます。
- 新しい項目を適切なファイルに追記します。ステータスが変わった既存の項目は更新します。
ara/trace/sessions/YYYY-MM-DD_NNN.yamlにセッション記録を作成します。ara/trace/sessions/session_index.yamlにセッションを追記します。- ステージング領域で成熟度トラッカーを実行します。
- 1行の要約を出力します:「[PM] Session captured: {N} decisions, {N} experiments, {N} claims.」
ルール
- タスクの実行中には決して実行しないでください — ユーザーの依頼が完了した後、エピローグとしてのみ実行してください。
- 出来事を決して捏造しないでください — 実際に起きたこと、または議論されたことのみを記録してください。
- 来歴を決して格上げしないでください — ユーザーが明示的に確認するまで、
ai-suggestedのままにします。 - 必ず既存ファイルを先に読んでください — 正しい次のIDを確認し、重複を避けてください。
- フォレンジック上の紐付けを確立してください — claims→proof、heuristics→code、decisions→evidence。
- 上書きせず、追記してください — 新しい項目を追加し、既存の内容を置き換えないでください。
- YAML を有効な状態に保ってください — 書き込み後に構造を検証してください。
参考ファイル
詳細なプロトコルと分類の仕様については、必要に応じて以下を読み込んでください。
- references/event-taxonomy.md — 研究上重要な出来事の完全な分類
- references/provenance-tags.md — 来歴タグの意味と例外的なケース
- references/session-protocol.md — セッション記録の手順