session-handoff
Skill1 starsChanged 39 days agoMITView on GitHub
Saves session state — tasks, decisions, uncommitted changes — to .claude/memory/SESSION.md and reloads it on resume. Triggers: 'save session', '/save-session', 'running out of tokens', 'continue this in a new session'.
139 other projects use a version of this.
Adopted by
Most recently taken up by
- aktsmm/Agent-Skillstheir own version, first seen Nov 8, 2026
- wanshuiyin/HERO-Anti-OverDefensetheir own version, first seen Nov 8, 2026
- alapha888/session-handoff-kittheir own version, first seen Nov 8, 2026
- zedarvates/frugal-skillstheir own version, first seen Nov 8, 2026
- Sirius-Ji/dsh-disciplinary-skills-for-greenhandstheir own version, first seen Nov 8, 2026
- maideps/ai-harness-frameworktheir own version, first seen Nov 8, 2026
Used with
Projects with it also use ascii-diagram, research-fleet and 10 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.
SethGammonSkillascii-diagram
Generate perfectly aligned ASCII diagrams — architecture, flow, sequence, box-and-arrow. Uses a programmatic character-grid approach so alignment is guaranteed by math, not token prediction. Includes post-render verification.
Also in 4 projects that use this
SethGammonSkillresearch-fleet
Parallel research using Fleet wave mechanics. Spawns multiple scout agents, each investigating a different angle of the same question. Findings are compressed between waves. Produces a unified research brief from multiple independent perspectives.
Also in 3 projects that use this
vicoa-aiSkilllive-preview
Start a local app in the current user project, expose it through a tunnel, and return preview details in structured Markdown. Use when the user asks for a preview URL, public URL, shareable localhost, mobile/web preview, or tunnel setup.
Also in 4 projects that use this
botlearn-aiSkilldoc-gen
Also in 4 projects that use this
flyingobsidianSkillterminology
Read a codebase, find terminology, create/update definitions into a markdown document.
Also in 3 projects that use this
Dizzy-TenSkillbug-diagnosis
Diagnose bugs and product issues without modifying code. Use when the user explicitly invokes $bug-diagnosis or asks for diagnosis, root-cause analysis, issue classification, or fix strategy for code bugs, failing tests, configuration/dependency problems, deployment issues, performance regressions, data anomalies, or frontend/user-experience problems described through screenshots, annotations, logs, errors, or natural-language reports. Prioritize analysis and recommendations only; do not edit files.
Also in 3 projects that use this
- +1 more from SethGammon
Other versions139 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 139
- rohitg00/pro-workflow★ 2.9ksame name
- SethGammon/Citadel★ 927same name
- wanshuiyin/HERO-Anti-OverDefense★ 805same name
- OneWave-AI/claude-skills★ 378same name
- ai-analyst-lab/ai-analyst★ 304same name
- entireio/skills★ 239same name
- Innei/SKILL★ 92same name
- yuzushi-dev/session-handoff★ 67same name
- Hive-Academy/ptah-extension★ 34same name
- Hive-Academy/PtahCode★ 34same name
129 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 repository23 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- harness-auditSkill
- skill-benchSkill
- ask-biginSkill
- bigin-harness-setupSkill
- contract-syncSkill
- debug-workflowSkill
- discovery-workflowSkill
- epic-workflowSkill
- flutter-figma-handoffSkill
- go-scaffoldSkill
- knowledge-distillSkill
- model-routerSkill
- napkinSkill
- next-scaffoldSkill
- nodejs-scaffoldSkill
- nuxt-marketing-scaffoldSkill
- nuxt-scaffoldSkill
- nuxt-ui-figma-handoffSkill
- project-scaffoldSkill
- sprint-distillSkill
- task-workflowSkill
- write-testsSkill
The file
We split this skill into the rules it gives an agent
8 rules. 0 are common, 8 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 117 edited versions we read keep these.
8
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 45
When user triggers save:
- Distinctive: line 48
Run git status to check uncommitted changes
- Distinctive: line 49
Run git diff --stat for summary
- Distinctive: line 50
Call TaskList to get all tasks with status
- Distinctive: line 119
If missing or status: complete, skip load
- Distinctive: line 141
When user triggers complete:
- Distinctive: line 144
Check git status — should be clean (no uncommitted changes)
- Distinctive: line 145
Check TaskList — should have no in_progress tasks
“Common” is measured: kept by at least 6 in 10 of the 117 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
session-handoff — Session State Persistence
This skill is mechanical: save state to .claude/memory/SESSION.md or load it back. Do not deliberate — no thinking needed on any step here.
Saves and loads session state between Claude Code sessions, useful when approaching usage limits and needing to continue work later.
When This Triggers
Save session:
- User says: "save session", "/save-session", "nearing limit", "running out of tokens"
- Or explicitly: "pause here", "save my work", "handoff"
Load session:
- Automatically at session start if SESSION.md exists with status: in-progress
- User says: "load session", "resume session", "continue where we left off"
Complete session:
- User says: "complete session", "session done"
- Or after all tasks are completed and working tree is clean
Session File Location
.claude/memory/SESSION.mdSave Session Action
When user triggers save:
- Gather current state:
- Run
git statusto check uncommitted changes - Run
git diff --statfor summary - Call TaskList to get all tasks with status
- Note current branch, recent commits
- Run
Write
.claude/memory/SESSION.md:--- session-id: <uuid> created: <ISO-timestamp> last-updated: <ISO-timestamp> status: in-progress --- # Session Handoff **Session saved:** <date-time> **Branch:** <branch-name> **Recent commits:** <latest commit hash: message> ## What We Were Working On <High-level summary of current task> ## Current State ### Tasks <Capture from TaskList with checkboxes and status> - [ ] Task 1 (in_progress) - [x] Task 2 (completed) - [ ] Task 3 (pending) ### Decisions Made <List key decisions with rationale> - **Decision 1:** <what and why> - **Decision 2:** <what and why> ### Uncommitted Changes ``` <git diff --stat output> ``` ### Next Steps 1. <First next step> 2. <Second next step> ## Context Notes <Any additional context for resumption>- Return summary:
Session saved to .claude/memory/SESSION.md Tasks: X total, Y in progress Uncommitted changes: <files modified> Resume: Next session will prompt to restore this session
Load Session Action
Triggered: At session start (if SESSION.md exists with status: in-progress)
- Check for SESSION.md:
- Read
.claude/memory/SESSION.md - If missing or status: complete, skip load
- Read
- Ask with one
AskUserQuestioncall — question: "Found a previous session from<date>:<one-line summary from SESSION.md>. What now?" — three options:- Resume session — restore tasks and context
- Start fresh — archive the session and begin new
- View full details — show the complete SESSION.md, then ask again
- If user resumes:
- Display "What We Were Working On" section
- Display "Current State" (tasks, decisions, uncommitted changes)
- Display "Next Steps"
- Offer to restore task list via TaskCreate for each pending task
- If user starts fresh:
- Archive
.claude/memory/SESSION.mdto.claude/memory/SESSION.archive.<timestamp>.md - Remove active
.claude/memory/SESSION.md - Confirm: "Previous session archived. Starting fresh."
- Archive
Complete Session Action
When user triggers complete:
- Verify completion:
- Check git status — should be clean (no uncommitted changes)
- Check TaskList — should have no in_progress tasks
Archive session:
mv .claude/memory/SESSION.md .claude/memory/SESSION.archive.<timestamp>.md- Confirm:
Session completed and archived Archived to: .claude/memory/SESSION.archive.<timestamp>.md Ready for new session
If not complete:
- Warn user: "Session has uncommitted changes or in-progress tasks. Complete those first, or say 'save session' to pause."
SESSION.md Structure
The session file uses YAML frontmatter for metadata and markdown for content:
---
session-id: uuid
created: ISO-8601 timestamp
last-updated: ISO-8601 timestamp
status: in-progress | complete
---Content sections:
- What We Were Working On — high-level summary
- Current State — tasks, decisions, uncommitted changes
- Next Steps — what to do when resuming
- Context Notes — any additional context
Mid-workflow saves
When session-handoff is triggered partway through another multi-step skill (bigin-harness-setup, task-workflow, sprint-distill), no per-skill schema is needed — record the in-progress step in plain language under "Current State" (e.g. "bigin-harness-setup: Phase 4 of 8, CLAUDE.md and .claude/rules/ written, enforcement gates not yet generated"). On resume, the target skill re-derives its actual progress from what's already on disk (which files exist, PLAN.md's task table, etc.) rather than trusting a saved phase number — SESSION.md's job is pointing the user/agent back at where they left off, not being the source of truth for it.
Trigger Phrases
These are phrases, not slash commands — the plugin ships no commands/, so /load-session typed as a command is unknown. Typing /session-handoff invokes this skill directly.
| Action | Phrases | Does |
| Save | "save session", "/save-session", "nearing limit", "handoff" | Write current state to SESSION.md |
| Load | "load session", "resume session", "continue where we left off" | Read and display SESSION.md |
| Complete | "complete session", "session done" | Archive SESSION.md, mark complete |
| Auto-load | Session start if SESSION.md exists with status: in-progress | Ask: resume or fresh? |
Best Practices
- Save before hitting limit — Don't wait until tokens are exhausted
- Include decisions in Context Notes — Rationale is as important as outcome
- Keep Next Steps actionable — Specific tasks, not vague goals
- Complete sessions cleanly — Archive when done, don't leave stale sessions
- Verify on resume — Check git branch and uncommitted changes match expectation
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.

