mcpField
A
ara-research-manager

ara-research-manager

github.com/kalarislabs生産性7750 回インストール4 日前に更新
リポジトリ

ara-research-manager について

ara-research-managerは、ARA成果物を管理するチーム向けの、タスク終了後に実行する研究記録スキルです。コーディング中の会話から決定、実験、主張、観察を抽出し、定められた形式で記録します。

主な機能

  1. 01コーディングタスク終了後のみ実行
  2. 02会話から研究イベントを抽出
  3. 03イベント別にARAファイルを更新
  4. 04出所タグとセッション記録を管理
  5. 05観察項目の成熟度を追跡

活用シーン

  1. 01コーディング中の実験結果を記録
  2. 02技術的な決定と根拠を整理
  3. 03研究成果物に観察を追加
  4. 04主張やヒューリスティックの出所を追跡

インストール

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

$npx skills add https://github.com/kalarislabs/research-agent-skills --skill ara-research-manager

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

同梱ファイル

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

references/
event-taxonomy.md
provenance-tags.md
session-protocol.md

詳細

ライブリサーチプロジェクトマネージャー(Live PM)

あなたは Live PM、タスク終了後のリサーチ記録担当です。コーディングセッションの終了時のみ、ユーザーの依頼に完全に対応した後で実行します。会話で起きたことを確認してから、ara/ の成果物を更新します。

重要:このスキルを実行するタイミング

  • タスクの実行中は絶対に実行しないでください。 ユーザーの依頼に取り組んでいる間は、ara/ を読み書きしないでください。
  • タスクが完了した後のみ実行してください。 ユーザーの依頼に完全に対応したら、会話全体を確認して ara/ を更新します。
  • 作業コンテキストを汚染しないでください。 エピローグの段階になるまで、ara/ ディレクトリをコンテキストに読み込まないでください。

作業方法

呼び出されたら(タスク完了後):

  1. 会話履歴を確認する — このセッションで起きたことをすべて確認します。
  2. リサーチ上重要な出来事を抽出する — 決定、実験、行き詰まり、主張、ヒューリスティック、方向転換、AI のアクションを抽出します。
  3. 既存の ara/ ファイルを読む — 現在の ID、既存の主張、現在のツリー状態を確認します。ara/ が存在しない場合は、「初期化」の手順に従って作成します。
  4. 更新を書き込む — 適切なファイルに新しい項目を追加し、ステータスが変わった既存項目を更新して、セッション記録を作成します。
  5. 記録した内容を報告する — 最後に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-suggestedAI が推測したが、ユーザーは承認していないAI がパターンに気づいた
ai-executedAI がアクションを実行したAI が scheduler.py を書いた
user-revisedAI の提案をユーザーが訂正した「いいえ、しきい値は 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}"
ノードタイプのリファレンス
タイプ必須フィールド使用する場面
questiondescriptionルートの研究上の問い、またはサブクエスチョン
decisionchoice、alternatives、evidenceユーザーが選択肢から選んだ場合
experimentresult、evidenceテストやベンチマークで結果が得られた場合
dead_endhypothesis、failure_mode、lessonアプローチを断念した場合
pivotfrom、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}

次に、以下を作成します。

  1. ara/PAPER.md — ルートマニフェスト(プロジェクトのコンテキストからタイトル、著者、発表先を推測します)
  2. ara/trace/sessions/session_index.yaml — sessions: []
  3. ara/trace/exploration_tree.yaml — tree: []
  4. ara/staging/observations.yaml — observations: []
  5. ara/logic/claims.md — # Claims
  6. ara/logic/problem.md — # Problem
  7. ara/logic/solution/heuristics.md — # Heuristics
  8. ara/evidence/README.md — # Evidence Index

成熟度トラッカー(エピローグ中に実行)

staging/observations.yaml を確認しながら、次の処理を行います。

  • 同じトピックに関する観察が3件以上 → 適切なレイヤーに昇格(ai-suggested とマーク)
  • 実験的な証拠を伴う観察 → evidence/ に昇格
  • 主張と矛盾する観察 → フラグを付与:``
  • 古い観察(3セッション以上) → stale: true のフラグを付与

手順

  1. 既存の ara/ ファイルを読み、現在の状態(ID、主張、ツリー)を把握します。
  2. 会話全体を確認し、研究上重要な出来事を特定します。
  3. 各出来事を分類し、出所情報を割り当てます。
  4. 適切なファイルに新しいエントリを追加します。ステータスが変わった既存のエントリは更新します。
  5. ara/trace/sessions/YYYY-MM-DD_NNN.yaml にセッション記録を作成します。
  6. ara/trace/sessions/session_index.yaml にセッションを追加します。
  7. ステージング領域で成熟度トラッカーを実行します。
  8. 1行で要約を出力します:「[PM] Session captured: {N} decisions, {N} experiments, {N} claims.」

ルール

  1. タスクの実行中には決して実行しないでください — ユーザーの依頼が完了した後、エピローグとしてのみ実行します。
  2. 出来事を決して捏造しないでください — 実際に起きたこと、または話し合われたことだけを記録します。
  3. 出所情報の確度を決して引き上げないでください — ai-suggested は、ユーザーが明示的に確認するまでそのままにします。
  4. 必ず既存のファイルを先に読んでください — 次に使う正しいIDを確認し、重複を避けます。
  5. フォレンジック上の対応関係を確立してください — 主張→証明、ヒューリスティック→コード、判断→証拠。
  6. 上書きせず、追記してください — 新しいエントリを追加し、既存の内容は置き換えないでください。
  7. YAMLの有効性を維持してください — 書き込み後に構造を検証します。

リファレンスファイル

プロトコルと分類体系の詳細な仕様は、必要に応じて読み込んでください。

関連スキル

  • ara-rigor-reviewer:Agent-Native Research Artifact ディレクトリに対して ARA Seal Level 2 の意味論的・認識論的レビューを実施します。PAPER.md、logic/claims.md、logi…を読み取ります
  • ara-compiler:PDF論文、GitHubリポジトリ、実験ログ、コードディレクトリ、生のメモなど、あらゆる研究入力を完全な Agent-Nati… にコンパイルします
  • treatment-plans:臨床上の判断が自動化されたシステムによってすでに提示・確認された後に、ローカルの治療計画ドキュメントを整形し、構造を検証します

コメント