session
Skill0 starsChanged 6 months agoMITView on GitHub
Lightweight session save and resume for Claude Code. This skill should be used when the user says "save session", "resume session", "session save", "session resume", "save my progress", "load session", "restore session", "continue where I left off", or wants to capture or restore working context across conversations. Designed for quick context restoration — under 4k tokens on resume — for unstructured follow-up work outside structured dev-workflow phases.
17 other projects use a version of this.
Adopted by
Most recently taken up by
- jskswamy/skillstheir own version, first seen Nov 8, 2026
- kimkon1011/orgiast-claude-rulestheir own version, first seen Nov 8, 2026
- mblauberg/provenanttheir own version, first seen Nov 8, 2026
- getCurrentThread/claude-session-kittheir own version, first seen Oct 29, 2026
- RainZZZYYY/claude-learn-skillstheir own version, first seen Oct 20, 2026
- charly-vibes/incitacionestheir own version, first seen Oct 14, 2026
Used with
Projects with it also use debug, release and 1 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
AnthropicSkilldebug
Structured debugging session — reproduce, isolate, diagnose, and fix. Trigger with an error message or stack trace, "this works in staging but not prod", "something broke after the deploy", or when behavior diverges from expected and the cause isn't obvious.
Also in 3 projects that use this
MicrosoftSkillrelease
Use ONLY when the user explicitly asks to cut/publish a Huabu desktop release or tag a version. Performs an outward action — bumps the version in apps/desktop/package.json, commits + annotated-tags vX.Y.Z, and pushes the branch + tag. That tag push auto-builds the macOS/Windows installers and publishes a GitHub Release. Provides `status`, `bump`, `tag-push`, and a one-command `run` (bump → tag-push).
Also in 4 projects that use this
GoogleSkilltdd
Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.
Also in 3 projects that use this
Other versions17 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 17
- anthropics/claude-for-legal★ 9.5ksame name
- Tiendil/feeds.fun★ 397same name
- kagenti/kagenti★ 303same name
- Kanevry/session-orchestrator★ 53same name
- Tiendil/donna★ 29same name
- szarkans/dont-forget★ 6same name
- jayantak/vaultmem★ 3same name
- jskswamy/skills★ 3same name
- es6kr/skills★ 2same name
- Autocss-com/ai★ 1same name
7 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository10 other files it gives its agents.
- brief-chatSkill
- clean-architecture-reviewSkill
- code-quality-auditorSkill
- disciplined-interviewSkill
- incremental-buildSkill
- plainSkill
- practice-modeSkill
- project-wrap-upSkill
- repeat-it-as-im-5Skill
- summarize-articleSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
22 rules. 0 are common, 12 are distinctive, and 10 are very specific to this project.
0
Common
Most of the 14 edited versions we read keep these.
12
Distinctive
This author's own choices. Worth a look.
10
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 42
Run pwd via Bash. Store the result, replacing the literal home directory with ~ (e.g.
- Distinctive: line 44
Check for existing session files:
- Very specific: line 50
Do not auto-match by working_dir — the user may be in a different clone or worktree of the same repo.
- Very specific: line 52
User picks an existing session: read it — this is the starting point for the update.
- Distinctive: line 94
All file paths must be relative to the repo root — no absolute paths.
- Distinctive: line 97
If unsure whether something is still relevant, ask.
- Distinctive: line 98
Keep total content under ~4k tokens.
- Very specific: line 106
Check for collision: if ~/.claude/session-logs/<slug>.md exists, append -2, -3, etc.
- Very specific: line 113
Update last_updated to the current UTC timestamp.
- Very specific: line 118
Write (or overwrite) ~/.claude/session-logs/<slug>.md using the format below.
- Very specific: line 130
If none found: _"No saved sessions found in ~/.claude/session-logs/."_ Stop.
- Distinctive: line 139
Ask which session to resume.
- Distinctive: line 146
Read the session file at the given path.
- Very specific: line 148
Run pwd via Bash and compare to working_dir from frontmatter.
- Very specific: line 149
If they differ, note it but do not block: _"This session was saved in <stored_dir> but you're currently in <current_dir>.
- Distinctive: line 155
Ask: _"Ready to continue from here, or want to adjust anything first?"_
- Distinctive: line 156
STOP: Wait for the user's explicit confirmation before beginning any work.
- Distinctive: line 195
If content grows, summarize harder.
- Distinctive: line 198
Relative paths only: All file paths relative to repo root — ensures cross-clone compatibility.
- Very specific: line 211
Always use ~ instead of the expanded home directory path.
- Distinctive: line 212
Never include absolute paths containing usernames in the session body.
- Distinctive: line 213
Never include secrets, API keys, or credentials.
“Common” is measured: kept by at least 6 in 10 of the 14 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Lightweight Session Save/Resume
Save the current working state as a compact, self-contained markdown document. Resume later by loading it into a new conversation. The session file represents current state only — each save overwrites the previous version, pruning resolved items to stay small.
Storage location: ~/.claude/session-logs/<slug>.md
Argument Dispatch
Parse the first word of $ARGUMENTS:
| Argument | Mode |
save | Save — interactive session capture |
resume (no path) | List — show available sessions |
resume <path> | Load — restore a specific session |
| empty or unrecognized | Show: "Usage: /session save to capture session state, /session resume to list or load a saved session." |
Save Mode
Step 1 — Determine Context
- Run
pwdvia Bash. Store the result, replacing the literal home directory with~(e.g.~/my-code/appnot/Users/jane/my-code/app). - Check for existing session files:
ls -1t ~/.claude/session-logs/*.md 2>/dev/null - Sessions exist: list them (slug, working_dir, last_updated) and ask:
"Found these existing sessions. Update one of them, or start a new session?"
Do not auto-match by
working_dir— the user may be in a different clone or worktree of the same repo. Let them pick. - User picks an existing session: read it — this is the starting point
for the update. Update its
working_dirto the current directory. - No sessions exist, or user chooses "new": proceed as a new session.
Step 2 — Propose Content
Based on everything known from the current conversation, draft content for three sections and present the proposal to the user:
- General Context — Background about the repo: what it is, how its parts interact, architecture relevant to the work. This section changes rarely; carry it forward across saves.
- Project-Specific Context — What the current work is about: key concepts, patterns, and approaches being used. Evolves session to session.
- Where We Left Off (optional) — In-progress work, next steps, blockers, pending decisions. Most volatile section; makes resume actionable. Omit if the user is saving mid-exploration with no clear next step.
When updating an existing session:
- Review each section against what happened in this conversation.
- Prune resolved bugs, completed tasks, and obsolete context.
- Add newly discovered context.
- Rewrite "Where We Left Off" to reflect the current state.
Present the proposal:
Here's what I'd capture for this session:
General Context: [proposed content]
Project-Specific Context: [proposed content]
Where We Left Off: [proposed content]
What would you add, remove, or change?
Step 3 — Refine Interactively
Iterate with the user until they confirm:
- Accept additions, removals, and rewrites.
- All file paths must be relative to the repo root — no absolute paths.
- The document must be self-contained: store extracted content, never reference external documents (PRDs, checkpoints) as load-time dependencies.
- If unsure whether something is still relevant, ask.
- Keep total content under ~4k tokens. If a section grows large, summarize.
Step 4 — Write Session File
New sessions:
- Generate a slug: lowercase, hyphens, 3–5 words from the topic, with date
appended as
-YYYY-MM-DD. Example:native-menus-bugfixes-2026-04-05. - Check for collision: if
~/.claude/session-logs/<slug>.mdexists, append-2,-3, etc. - Set both
createdandlast_updatedto the current UTC timestamp.
Existing sessions:
- Preserve the original
createdtimestamp. - Update
last_updatedto the current UTC timestamp.
All sessions:
mkdir -p ~/.claude/session-logs- Write (or overwrite)
~/.claude/session-logs/<slug>.mdusing the format below. - Confirm: "Session saved to
~/.claude/session-logs/<slug>.md."
List Mode
- Find session files:
ls -1t ~/.claude/session-logs/*.md 2>/dev/null - If none found: "No saved sessions found in
~/.claude/session-logs/." Stop. - For each file, read the YAML frontmatter to extract
slug,working_dir, andlast_updated. - Present as a list:
Available sessions: - native-menus-bugfixes-2026-04-05 — ~/my-code/electron-app (updated 2026-04-05) - auth-refactor-2026-03-28 — ~/my-code/backend (updated 2026-03-30) - Ask which session to resume. If the user picks one, proceed to Load Mode with that file path.
Load Mode
- Read the session file at the given path. If it does not exist, report the error and stop.
- Run
pwdvia Bash and compare toworking_dirfrom frontmatter. - If they differ, note it but do not block:
"This session was saved in
<stored_dir>but you're currently in<current_dir>. File paths in the session are relative to the original project root." - Present the full session content — title and each section. Highlight Where We Left Off as the actionable starting point.
- Ask: "Ready to continue from here, or want to adjust anything first?"
- STOP. Wait for the user's explicit confirmation before beginning any work. The user may want to correct outdated information, adjust the plan, or provide additional context.
Session File Format
---
slug: <slug>
working_dir: <path with ~ for home>
created: <YYYY-MM-DDTHH:MM:SSZ>
last_updated: <YYYY-MM-DDTHH:MM:SSZ>
---
# <Session Title>
## General Context
<Repo background, architecture, how parts interact.
Write once, carry forward across saves.>
## Project-Specific Context
<Current work: key concepts, patterns, approaches.
Evolves session to session.>
## Where We Left Off
<Optional. In-progress work, next steps, blockers, pending decisions.
Most volatile — rewritten each save.>Guidelines
- Under 4k tokens. The whole point is a small context footprint on resume. If content grows, summarize harder.
- Self-contained. Include extracted content directly. Never store pointers to external documents as dependencies.
- Relative paths only. All file paths relative to repo root — ensures cross-clone compatibility.
- Current state, not history. Each save overwrites. Prune completed tasks, resolved bugs, and dead context.
- Source-agnostic. Capture whatever is known at save time — from PRDs, from conversation, from code exploration. The source doesn't matter.
- One session per project. The user typically has one active session per
project. When saving, present existing sessions and let the user choose
which to update — do not auto-match by
working_dir, since the user may work from different clones or worktrees.
Privacy
- Always use
~instead of the expanded home directory path. - Never include absolute paths containing usernames in the session body.
- Never include secrets, API keys, or credentials.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

