mcpField
N
nemo-rl-session-memory

nemo-rl-session-memory

github.com/promptingcompanyエージェントワークフロー039 回インストール17 週間前に更新
リポジトリ

nemo-rl-session-memory について

簡潔で永続的なセッション記録を保ち、切断後に別のエージェントが作業を再開できるようにするスキルです。チェックポイント用ファイルや更新時期、リポジトリ状態と照合する復旧手順を定めています。

主な機能

  1. 01状態、タイムライン、ファイル、引き継ぎの記録
  2. 02タイムスタンプ付き記録の作成と再開
  3. 03重要な作業の前後でのチェックポイント
  4. 04引き継ぎ記録とリポジトリ確認による復旧
  5. 05事実に基づく記録とシークレットの除外

活用シーン

  1. 01エージェント間での長期作業の引き継ぎ
  2. 02切断後の作業再開
  3. 03編集、判断、障害、次の手順の追跡

インストール

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

$npx skills add https://github.com/promptingcompany/nv-skills --skill nemo-rl-session-memory

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

同梱ファイル

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

BENCHMARK.md
skill-card.md
skill.oms.sig
evals/
evals.json

詳細

セッションメモリ

現在の作業セッションの、永続的で人間が読みやすい記録を保持します。これにより、別のエージェントが切断後も、コンテキストの損失を最小限に抑えて作業を再開できます。

使用するタイミング

次の場合にこのスキルを使用します。

  • ユーザーがエージェントメモリの保存、復元、チェックポイント作成、または管理を依頼した場合。
  • 作業が長時間にわたる場合、実験的な場合、または切断をまたぐ可能性が高い場合。
  • 大幅な編集、長時間のジョブの実行、ブランチの切り替え、またはユーザーの入力待ちに入る前。
  • すでに ./session/ ディレクトリがあるリポジトリで作業を再開する場合。

セッションディレクトリ

作業セッションごとにディレクトリを1つ作成します。

mkdir -p session
date +%Y%m%d_%H%M%S
mkdir -p session/<session_date_time>

マシンのローカル時刻を使用します。ユーザーが明示的に新しいセッションを開始しない限り、同じ会話内のすべてのチェックポイントで同じセッションディレクトリを再利用します。

想定されるファイル:

  • session_state.md - 全体的な目標、現在のサブタスク、読み込んだスキル、ステータス、計画、前提、阻害要因、次のアクション。
  • timeline.md - 主なアクション、コマンド、結果、判断を追記のみで記録するログ。
  • files.md - 確認したファイル、変更したファイル、およびそれらが重要な理由。
  • handoff.md - 次のエージェント向けの簡潔な再開手順。

必要な場合に限り、experiments.tsv、review_notes.md、コピーしたコマンドログなどのファイルを追加します。

開始または再開

セッションの開始時:

  1. 既存のセッションディレクトリを確認します。
ls -dt session/* 2>/dev/null | head
  1. ユーザーが作業の再開を求めている場合、関連する最新の session_state.md、timeline.md、handoff.md を読みます。
  2. 関連するセッションがない場合は、新しいタイムスタンプ付きディレクトリを作成します。
  3. ユーザーの全体的な目標、現在のサブタスク、読み込んだスキル、リポジトリのパス、ブランチ、判明している制約を記載した初期 session_state.md を作成します。

セッションメモだけを唯一の信頼できる情報源として扱わないでください。重要な主張は、実行前に git の状態、ファイル、コマンド出力を確認してください。

チェックポイントの頻度

次の場合にチェックポイントを記録します。

  • 計画を立てるのに十分なコンテキストを収集した後。
  • 重要なコード編集の前後。
  • 時間のかかるコマンド、実験、ブランチ切り替え、またはチャットからの再現が困難な作業の前。
  • ユーザーが方向性を変更したとき。
  • 再開に役立つ状態がある場合は、最終回答の前。
  • 長時間の作業中は、少なくとも30分ごと。

小さなチェックポイントファイルを多数作成するのではなく、同じファイルを更新することを優先します。記録は簡潔で、要点をすばやく把握できるようにします。

ファイルテンプレート

session_state.md
# Session State

- Session: <session_date_time>
- Repo: <absolute repo path>
- Branch: <branch name>
- Started: <local timestamp>
- Updated: <local timestamp>

## Goal
<Stable overall user goal in one or two sentences. Preserve this across follow-up steering unless the user explicitly changes it.>

## Current Subtask
<Immediate task or steering request currently being handled.>

## Loaded Skills
- `<skill-name>` - <why it was loaded and any important instructions to preserve.>

## Current Status
<What is true now. Include completed work and verification status.>

## Plan
- [ ] <Next concrete step>
- [ ] <Next concrete step>

## Assumptions
- <Assumption and how to verify it if needed.>

## Blockers
- <Blocker or "None known".>
timeline.md
# Timeline

## <local timestamp>
- User asked: <brief request>
- Context gathered: <files/commands and key result>
- Decision: <important choice and rationale>
- Result: <edits/tests/outcome>
files.md
# Files

## Inspected
- `<path>` - <why it mattered>

## Changed
- `<path>` - <what changed and why>

## Generated
- `<path>` - <purpose>
handoff.md
# Handoff

## Resume From Here
<One paragraph summary of the current state.>

## Next Actions
- <Most important next action>
- <Verification or cleanup still needed>

## Watch Outs
- <Risks, user preferences, or repo constraints the next agent must preserve.>

復旧ワークフロー

切断後に作業を再開する場合:

  1. 最新と思われるセッションディレクトリを見つけます。
  2. 最初に handoff.md、次に session_state.md、その後、最近の timeline.md を読みます。
  3. git status --short、git branch --show-current、対象ファイルの読み取りなど、負荷の軽い確認を実行します。
  4. 最新の確認済みの次のアクションから続行します。
  5. 復旧と、見つかった不一致を記載したエントリをタイムラインに追記します。

品質ルール

  • メモは事実に基づき、簡潔にまとめます。後続のエージェントに必要なのは状態であり、会話の記録ではありません。
  • 特に、失敗したテストや省略した検証など、重要なコマンドの結果を記録します。
  • 未コミットの変更と、それが現在のエージェントによるものか、既存のものかを記載します。
  • セッションファイルにシークレット、トークン、認証情報、大きなログを保存しないでください。
  • セッションファイルが大きくなった場合は、古い詳細を要約し、最新の次のアクションを handoff.md の上部付近に残します。

コメント