Agent skill

Session Handoff

by athola in athola/claude-night-market

Decompose a session into typed handoff units and recall them later.

MITAuto-check passedAgent Workflows

Install Session Handoff

skills CLI
$ npx skills add athola/claude-night-market --skill session-handoff -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install athola/claude-night-market session-handoff --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/athola/claude-night-market.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/memory-palace/skills/session-handoff .claude/skills/session-handoff && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
session-handoff
GitHub stars
342
Token cost
~1.9k tokens
SKILL.md length
977 words
Files
4
Skills in repo
159
Repo updated
First seen
Licence
MIT

At a glance

Decompose a session into typed handoff units and recall them later.

  • Works in 2 steps: Phase 1 sweeps the transcript and lists… → Phase 2 groups that inventory into…
  • Ending a session
  • SKILL.md covers What It Is, The Unit Schema, Two-Phase Extraction and Splitting and Superseding, plus 6 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Session Handoff is an agent skill from athola/claude-night-market. Decompose a session into typed handoff units and recall them later. Use when ending a session or resuming work whose prior state must be recovered.

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files (for example `modules/temporal-awareness.md`, `modules/two-phase-extraction.md` and `modules/unit-schema.md`).

It sits in Agent Workflows, covering Session handoff. The repository describes itself as: 23 Claude Code plugins: TDD enforcement hooks, git/PR workflows, spec-driven development, code review, project lifecycle, fix-from-error, maintenance automation, context… The licence is MIT.

When your agent uses it

  • Ending a session
  • Resuming work whose prior state must be recovered

Example prompts

  • “/session-handoff”

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. Phase 1 sweeps the transcript and lists every distinct thread it
  2. Phase 2 groups that inventory into threads and renders one unit

What it can do on your machine

Read from SKILL.md and the folder at commit 9f3eb00. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are json).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Session Handoff loads about 1.9k tokens when it runs. Until then it costs about 41 tokens; SKILL.md has 977 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~41
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from athola/claude-night-market at commit 9f3eb00, republished under its MIT licence (© athola). 977 words, ~1,915 tokens.

Download SKILL.mdSave it as .claude/skills/session-handoff/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
session-handoff
description
Decompose a session into typed handoff units and recall them later. Use when ending a session or resuming work whose prior state must be recovered.
alwaysApply
false
category
session-management
tags
session-continuity, handoff, recall, typed-units, temporal-awareness
dependencies
memory-palace:memory-clarity-probe, memory-palace:session-palace-builder
usage_patterns
session-end-capture, session-resume, cross-session-recall
complexity
intermediate
model_hint
standard
estimated_tokens
900

Session Handoff

Record where the thinking landed, not that a session happened.

What It Is

A session ends with decisions half-made, questions half-answered, and findings nobody wrote down. The next session starts from zero and re-derives them, which costs tokens and forces the human to reconstruct their own prior reasoning.

This skill decomposes a session into typed units and stages them for later recall. The type is what makes recall trustworthy: a status update stops being true in days, while a fact about how a tool behaves stays true for years, so the two cannot share one shelf life.

The Unit Schema

Every unit carries seven fields:

Thread: short, specific label phrased the way a later session would ask
Type:   finding | decision | open-thread | state
Date:   YYYY-MM-DD, when this thread reached its conclusion
State:  what landed by the end of the session, in 1-2 sentences
Why:    the load-bearing reasoning, including what was rejected
Open:   what remains unresolved, omitted entirely when nothing is
Ref:    the session this came from

The four types and how fast each ages:

TypeWhat it isHalf-life
findingA durable fact about the world, platform, or tools365 days
decisionA project choice that could later be revised90 days
stateA transient status or state change7 days
open-threadA live, unresolved questiondoes not decay

Those values are the retention classes in memory_palace.corpus.decay_model.UNIT_TYPE_DECAY. The writer picks a type, never a shelf life, so retention is bound once per class rather than guessed per item.

Two-Phase Extraction

Inventory first, judge second. Doing both at once loses threads, because the act of grouping suppresses items that do not fit a group yet.

  1. Phase 1 sweeps the transcript and lists every distinct thread it touched, one line each. Over-include on purpose.
  2. Phase 2 groups that inventory into threads and renders one unit per thread per type.

Full procedure and the coverage self-check: modules/two-phase-extraction.md.

Splitting and Superseding

A thread that bundles a durable finding with the transient action that produced it becomes two units with different types, so each ages on its own curve.

A later unit with the same Thread and Type supersedes the earlier one. The same thread under a different type stays separate. Supersession is why a revised decision does not surface next to the decision it replaced.

Capture Workflow

  1. Run Phase 1, then Phase 2.
  2. Optionally gate the rendered units through Skill(memory-palace:memory-clarity-probe). If the composite reads Unclear, expand the units before staging them.
  3. Write them to data/state/handoff_units.json in this shape:
json
{"units": [{"thread": "...", "type": "decision", "date": "2026-08-13",
            "state": "...", "why": "...", "open": "", "ref": "...",
            "files": ["src/thing.py"]}]}

Declare files when the claim would stop being true if those paths changed. The capture path fingerprints them, and recall flags the unit when one moves.

The Stop hook drains that file and merges the units into the session record. The Stop payload carries no transcript content and the hook runs no model, which is why capture is staged by this skill rather than extracted by the hook.

Recall Workflow

Append +recall to a prompt to have matching units injected, or +recall? to also see what was retrieved. Recall is opt-in because fixed-cost injection on every turn spends the context window it was meant to extend.

Before acting on any state unit, state the elapsed time since it was written. See modules/temporal-awareness.md.

Show full SKILL.md (495 more words)Show less
When to suggest it mid-session

The token is the user's to type, so the work here is to say when it would pay and leave the choice with them. Offer it in one line at the moment it applies, then answer the question that was actually asked.

plugins/memory-palace/hooks/recall.py ranks units by keyword overlap between the prompt and each unit's thread, state, why, and open fields, scaled by type-aware decay. The rest follows from that: overlap is the retrieval, so a prompt naming its topic retrieves and a prompt gesturing at it does not.

Moment in the sessionOfferWhat makes it pay
The prompt names work from an earlier session in that work's own vocabulary+recallOverlap scoring has terms to match
Work resumes after a clear or a compaction+recallThe units are still on disk once the live context no longer holds them
The user asks why a past decision went the way it did+recallwhy is one of the ranked fields
The user doubts whether injected state is still current+recall?Visible mode shows what was retrieved and which dependencies moved

Stay quiet in the other cases. Say nothing when the answer is already in the live context, when the prompt shares no content words with any prior thread, or when this session already recalled that thread. Retrieval on a zero-overlap prompt returns nothing and costs the user a round trip, and units dedupe by thread and type, so a second +recall on a recalled thread returns what the user is reading now.

Phrase it as an offer beside the answer, never as a precondition for one: "the prior session left notes on this, so add +recall if you want them."

When NOT To Use

  • Capturing knowledge from an external article: use Skill(memory-palace:knowledge-intake).
  • Building a scratch structure inside one long conversation: use Skill(memory-palace:session-palace-builder).
  • Judging whether a summary is clear enough to hand off: that is Skill(memory-palace:memory-clarity-probe).

Detailed Resources

ModuleRead it for
modules/unit-schema.mdField semantics, type selection, worked examples
modules/two-phase-extraction.mdThe sweep checklist and render rules
modules/temporal-awareness.mdSession gaps and what survives them

Known Limitation

The staging file is process-global. Two concurrent sessions in one checkout can have one drain the other's units. The window is a single turn, and the skill cannot know its own session id, which is why staging exists rather than direct record writes.

Exit Criteria

  • Phase 1 names the thread count before any unit is written
  • Every unit carries all seven fields and a Type from the four
  • A thread holding a durable result and the transient action that produced it is emitted as two units with different types
  • Units land in data/state/handoff_units.json and it parses as JSON with a top-level units array
  • On resume, elapsed time since the prior session is stated before any state unit is acted on
  • Open threads carry a non-empty Open field
  • A +recall offer names the thread it would retrieve, and is made at most once per thread per session

© athola, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files in plugins/memory-palace/skills/session-handoff of athola/claude-night-market.

  • SKILL.md
  • modules/temporal-awareness.md
  • modules/two-phase-extraction.md
  • modules/unit-schema.md

Open the folder on GitHubat commit 9f3eb00

Compare with similar skills

Session Handoff next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Session Handoff compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Session Handoff this skillathola/claude-night-market342—~1.9kAutomated safety check: PassMIT
Orca CLIstablyai/orca87k2 repos~593Automated safety check: PassMIT
Coding Agent Session Findercode-yeongyu/oh-my-openagent70k1 repos~2.8kAutomated safety check: PassCustom licence
Beads Task Memorygastownhall/beads28k—~1.2kAutomated safety check: PassMIT
Session History Searchslopus/happy24k—~3.1kAutomated safety check: PassMIT
Paseo Agent Handoffgetpaseo/paseo20k1 repos~606Automated safety check: PassCustom licence

Similar skills

  • Orca CLI

    stablyai/orca

    Operate Orca-managed worktrees, folder contexts, terminals, repos, automations, artifacts, skill sharing, worktree comments, and Orca's embedded browser…

    87k GitHub starsUsed in 2 repos~593 tokens
    Agent WorkflowsAuto-check passed
  • Coding Agent Session Finder

    code-yeongyu/oh-my-openagent

    Finds, reads and reconstructs past coding-agent sessions across Codex, Claude, OpenCode, Senpi and many other local agent logs.

    70k GitHub starsUsed in 1 repo~2.8k tokens
    Agent WorkflowsAuto-check passed
  • Beads Task Memory

    gastownhall/beads

    Tracks multi-session work with dependencies in the bd issue tracker so the agent can find ready tasks and recover its context after conversation compaction.

    28k GitHub stars~1.2k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Searches past Claude Code, Codex and Cursor sessions and summarizes what was worked on, tried or decided, using extraction scripts instead of reading raw logs.

    24k GitHub stars~3.1k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Paseo Agent Handoff

    getpaseo/paseo

    Hands off the current task, including context, decisions and failed attempts, to a fresh agent through Paseo by writing a self-contained briefing prompt and launching that agent.

    20k GitHub starsUsed in 1 repo~606 tokens
    Agent WorkflowsAuto-check passed
  • Memori Long-Term Memory

    MemoriLabs/Memori

    Connects Claude Code to Memori Cloud for long-term memory, recalling stored context before substantive replies and saving new context afterward.

    17k GitHub stars~2k tokensUpdated 6 days ago
    Agent WorkflowsAuto-check: notes

More from athola/claude-night-market

All 159 skills in this repo
  • Night Market Diagnostics Toolkit

    athola/claude-night-market

    Run and interpret repo diagnostic scripts (ratchets, validators, token stats).

    342 GitHub stars~3.4k tokensUpdated 2 days ago
    Auto-check passed
  • Skills Eval

    athola/claude-night-market

    Evaluate Claude skill quality through auditing. An agent skill from athola/claude-night-market.

    342 GitHub stars~1.6k tokensUpdated 2 days ago
    Auto-check passed
  • Agent Teams

    athola/claude-night-market

    Coordinates Claude agent teams via filesystem protocol. An agent skill from athola/claude-night-market.

    342 GitHub stars~2.5k tokensUpdated 2 days ago
    Auto-check passed
  • Delegation Core

    athola/claude-night-market

    Delegates execution to eight CLIs (Gemini, Qwen, MiniMax, GLM, Muse, Codex, OpenCode, Glimmer).

    342 GitHub stars~2.5k tokensUpdated 2 days ago
    Auto-check passed
  • Elegant Code

    athola/claude-night-market

    Guide minimal code via a decision ladder with full safety, edge, and negative-case coverage.

    342 GitHub stars~2.1k tokensUpdated 2 days ago
    Auto-check passed
  • Skill Library Mission

    athola/claude-night-market

    Build a project skill library in .claude/skills/ via discovery, parallel authoring, and review.

    342 GitHub stars~1.6k tokensUpdated 2 days ago
    Auto-check passed

Categories

Questions about Session Handoff

What does Session Handoff do?

Decompose a session into typed handoff units and recall them later. Session Handoff is an agent skill from athola/claude-night-market. Decompose a session into typed handoff units and recall them later.

When should I use Session Handoff?

Session Handoff fits situations like: ending a session; resuming work whose prior state must be recovered.

How do I install Session Handoff in Claude Code?

Run `npx skills add athola/claude-night-market --skill session-handoff -a claude-code`. Or copy the skill folder (plugins/memory-palace/skills/session-handoff in athola/claude-night-market) into .claude/skills/session-handoff in your project. Claude Code loads it when a task matches its description.

How do I install Session Handoff in Codex?

Run `npx skills add athola/claude-night-market --skill session-handoff -a codex`. Or copy the skill folder (plugins/memory-palace/skills/session-handoff in athola/claude-night-market) into .agents/skills/session-handoff in your project. Codex loads it when a task matches its description.

Can I use Session Handoff in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add athola/claude-night-market --skill session-handoff -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/session-handoff, .gemini/skills/session-handoff, .github/skills/session-handoff and .opencode/skills/session-handoff in your project.

What does Session Handoff need to run?

SKILL.md names no scripts, command-line tools or credentials: Session Handoff is instructions for the agent only.

Does Session Handoff access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Session Handoff safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Session Handoff use?

Session Handoff is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Session Handoff use?

About 1.9k tokens (SKILL.md is roughly 7.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Session Handoff?

Skills that share tags, products or a category with Session Handoff: Orca CLI (stablyai/orca, 87k stars), Coding Agent Session Finder (code-yeongyu/oh-my-openagent, 70k stars), Beads Task Memory (gastownhall/beads, 28k stars) and Session History Search (slopus/happy, 24k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Session Handoff?

athola (a GitHub user) maintains it in athola/claude-night-market, which has 342 GitHub stars. The repository holds 159 skills in this directory. The repository was last updated on October 6, 2026.

Source: athola/claude-night-market on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.