
Session Memory Management
OfficialFreePreserve agent context across coding sessions seamlessly.
Free · Opens the source repo
What Session Memory Management does
The Session Memory Management skill enables coding agents to maintain a durable and human-readable record of their working sessions. This is particularly useful when users need to preserve or recover context across disconnects, restarts, or lengthy tasks. By creating a structured session directory, agents can log important information such as overall goals, current subtasks, and major actions taken during the session. This facilitates continuity and minimizes context loss when work is resumed, allowing for a smoother handoff between agents or sessions.
When utilizing this skill, agents create a dedicated directory for each session, which includes several essential files like session_state.md, timeline.md, and handoff.md. These files serve to document the session's progress, decisions made, and any changes to the codebase. The skill encourages periodic checkpointing, ensuring that vital information is captured at strategic points during the workflow. This is especially beneficial for long-running tasks or when making significant edits, as it allows the user to revert to a previous state if needed.
The skill is designed for developers and designers who frequently engage in complex coding tasks that may require multiple sessions or involve collaboration with other agents. It is particularly advantageous for those working on experimental projects or in environments where interruptions are commonplace. By maintaining a clear and concise record, users can enhance their productivity and reduce the cognitive load associated with remembering past actions or decisions.
However, this skill should not be used for simple queries or short tasks where context preservation is unnecessary. It is aimed at scenarios where maintaining a comprehensive session history is critical to the workflow, making it a valuable addition for users engaged in extensive coding activities.
When to use it
Use this skill during long-running coding tasks, when making significant changes, or when you need to preserve context across sessions.
When not to use it
Avoid using this skill for simple tasks or one-off commands where session memory is not required.
What you can build with it
Long-Running Coding Projects
Utilize this skill to maintain context and state during extensive development efforts that may span multiple sessions.
Collaborative Development
Use the skill to create clear handoff notes for other agents, ensuring they can pick up where you left off with minimal context loss.
Experimental Coding Tasks
Employ this skill when working on experimental features or changes that require detailed tracking of decisions and outcomes.
How to install Session Memory Management
View source1. Install with the skills CLI
npx skills add nvidia/skills/nemo-rl-session-memory --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by nvidiaSession 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
./session/directories.
Session Directory
Create one directory per working session:
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:
session_state.md- overall goal, current subtask, loaded skills, status, plan, assumptions, blockers, and next actions.timeline.md- append-only log of major actions, commands, results, and decisions.files.md- files inspected, files changed, and why they matter.handoff.md- concise resume instructions for the next agent.
Add other files only when useful, such as experiments.tsv, review_notes.md, or copied command logs.
Start Or Resume
At the start of a session:
- Check for existing session directories:
ls -dt session/* 2>/dev/null | head
- If the user is resuming work, read the latest relevant
session_state.md,timeline.md, andhandoff.md. - If no relevant session exists, create a new timestamped directory.
- Write an initial
session_state.mdwith the user's overall goal, current subtask, loaded skills, repo path, branch, and known constraints.
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
- 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.>
Recovery Workflow
When resuming after a disconnect:
- Find the likely latest session directory.
- Read
handoff.mdfirst, thensession_state.md, then recenttimeline.md. - Run lightweight verification such as
git status --short,git branch --show-current, and targeted file reads. - 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.
Frequently asked questions about Session Memory Management
Similar skills
Spring Boot Testing
Master testing techniques for Spring Boot 4 applications.
GitHub Issues
Manage GitHub issues efficiently with MCP tools.
Geofeed Tuner
Optimize your IP geolocation feeds in CSV format.
Batch Files
Master Windows batch scripting for automation and task management.
Adobe Illustrator Scripting
Automate your Illustrator workflows with ExtendScript.
Plugin Structure
Create and organize Claude Code plugins effectively.
