nemo-rl-session-memory
Original:🇺🇸 English
Translated
Manage durable working-session memory for coding agents. Use when a user asks to preserve or recover agent context across disconnects, VS Code restarts, long-running work, handoffs, or any session where important state should be written periodically under the repo's session directory. Do NOT use for: simple questions, short tasks, one-off commands, linting, or code review.
14installs
Sourcenvidia/skills
Added on
NPX Install
npx skill4agent add nvidia/skills nemo-rl-session-memoryTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Session Memory
Keep a durable, human-readable record of the current working session so another agent can resume after a disconnect with minimal context loss.
When To Use
Use this skill when:
- The user asks to preserve, recover, checkpoint, or manage agent memory.
- Work is long-running, experimental, or likely to span disconnects.
- You are about to make nontrivial edits, run long jobs, switch branches, or pause for user input.
- You resume in a repo that already has directories.
./session/
Session Directory
Create one directory per working session:
bash
mkdir -p session
date +%Y%m%d_%H%M%S
mkdir -p session/<session_date_time>Use local time from the machine. Reuse the same session directory for all checkpoints in the same conversation unless the user explicitly starts a new session.
Expected files:
- - overall goal, current subtask, loaded skills, status, plan, assumptions, blockers, and next actions.
session_state.md - - append-only log of major actions, commands, results, and decisions.
timeline.md - - files inspected, files changed, and why they matter.
files.md - - concise resume instructions for the next agent.
handoff.md
Add other files only when useful, such as , , or copied command logs.
experiments.tsvreview_notes.mdStart Or Resume
At the start of a session:
- Check for existing session directories:
bash
ls -dt session/* 2>/dev/null | head- If the user is resuming work, read the latest relevant ,
session_state.md, andtimeline.md.handoff.md - If no relevant session exists, create a new timestamped directory.
- Write an initial with the user's overall goal, current subtask, loaded skills, repo path, branch, and known constraints.
session_state.md
Do not treat session notes as the only source of truth. Verify important claims against git state, files, and command output before acting.
Checkpoint Rhythm
Write a checkpoint:
- After gathering enough context to form a plan.
- Before and after meaningful code edits.
- Before long-running commands, experiments, branch switches, or anything hard to reconstruct from chat.
- When the user changes direction.
- Before final response if the session has meaningful state worth resuming.
- At least every 30 minutes during active long-running work.
Prefer updating the same files rather than creating many small checkpoint files. Keep the record compact and scannable.
File Templates
session_state.md
session_state.mdmarkdown
# 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.mdmarkdown
# 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.mdmarkdown
# Files
## Inspected
- `<path>` - <why it mattered>
## Changed
- `<path>` - <what changed and why>
## Generated
- `<path>` - <purpose>handoff.md
handoff.mdmarkdown
# 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.>Recovery Workflow
When resuming after a disconnect:
- Find the likely latest session directory.
- Read first, then
handoff.md, then recentsession_state.md.timeline.md - Run lightweight verification such as ,
git status --short, and targeted file reads.git branch --show-current - Continue from the latest verified next action.
- Append a timeline entry noting the recovery and any mismatches found.
Quality Rules
- Keep notes factual and terse. Future agents need state, not a transcript.
- Record command outcomes that matter, especially failed tests or skipped verification.
- Mention uncommitted changes and whether they were made by the current agent or pre-existing.
- Do not store secrets, tokens, private credentials, or large logs in session files.
- If a session file becomes large, summarize old details and keep the latest next actions near the top of .
handoff.md