claudeers.
// Other

claude-code-handoff-skill

A Claude Code skill that writes a verified HANDOFF.md so a fresh session can resume long-running work without repeating dead ends.

// Other[ cli ][ claude ]#claude#otherMIT$open-sourceupdated about 2 months ago
Actively maintained
89/100
last commit about 2 months ago
last release none
releases 0
open issues 0
// star history

Install with your AI

Paste into Claude Code, Cursor, or any agent — it reads the repo and wires the tool into your project.

Install and set up claude-code-handoff-skill (claude-skill project) into my current project.
Found on https://claudeers.com/claude-code-handoff-skill
Repo: https://github.com/ostikwhy-blip/claude-code-handoff-skill
Homepage/docs: —
Detected install method: claude-skill → # copy this skill into .claude/skills/claude-code-handoff-skill/
Category: other. Platforms: cli.
Read the repo's README for exact setup and env vars, then install it and wire it into my project.

Claudeers Health Verdict:
active; community-verified: false. Confirm the source before running anything.
// or install directly (claude-skill)
# copy the skill dir into your project:
# .claude/skills/claude-code-handoff-skill/   (or ~/.claude/skills/claude-code-handoff-skill/ for all projects)
// or clone
git clone https://github.com/ostikwhy-blip/claude-code-handoff-skill

// compatibility

Platformscli
Operating systems
AI compatibilityclaude
LicenseMIT
Pricingopen-source
Language

handoff

A clean bridge between Claude Code sessions.

Long Claude Code sessions rot: context fills up, the model starts forgetting decisions, re-trying approaches that already failed, and describing files that no longer look like that. Starting a fresh session fixes the rot — but throws away everything the old session learned.

handoff writes a verified HANDOFF.md at your project root so the next session picks up exactly where this one left off, without repeating your dead ends.

demo

A messy 3-hour session → /handoff → one clean file the next session resumes from.


Install

git clone https://github.com/ostikwhy-blip/claude-code-handoff-skill.git
cp -r claude-code-handoff-skill ~/.claude/skills/handoff

Start a new Claude Code session — done. No dependencies, no external APIs, no configuration.

Install for a single project instead
cp -r claude-code-handoff-skill your-project/.claude/skills/handoff

Use

End of a session (or when it starts feeling off):

/handoff

Claude verifies the actual state of your repo, then writes HANDOFF.md.

Start of the next session:

resume from the handoff

Claude reads the file, re-checks it against the current repo, surfaces open questions, confirms the plan with you — then continues the work, already knowing what failed last time.

That's the whole workflow. Two commands.

Why not just ask Claude to "summarize the session"?

Because that summary is written from a degraded model's memory, at exactly the moment that memory is least reliable. You get confident fiction: tests that "pass" but were never re-run, file descriptions that are twenty edits stale, hallucinated progress.

handoff is built around one rule: nothing goes in the file from memory alone.

Before writing a single line, Claude:

  1. Runs git status, git log, git diff to reconstruct what actually changed — not what it believes changed
  2. Re-reads every file the handoff will mention (a file that isn't where memory says is a caught hallucination, and gets corrected)
  3. Re-runs your tests — "tests pass" is only written from output produced during the handoff itself

Every claim in the resulting file is tagged:

TagMeaning
[V]Verified against the repo during this handoff — trust it
[?]Recalled from memory, not re-checked — treat as a lead

When the next session resumes, it re-verifies the [V] claims against the current repo and reports any drift explicitly. Verification on both ends of the bridge.

What goes in the file

HANDOFF.md is capped at ~250–400 lines — long enough to carry what matters, short enough that a fresh session can actually absorb it. It covers:

  • Current goal and verified state — the actual state, not the intended one
  • Decisions made and why — so they don't get relitigated
  • Failed approaches and exactly why they failed — the single most valuable section. This is the knowledge a fresh session cannot reconstruct on its own, and the reason this skill exists
  • Known traps discovered in the codebase this session
  • Ordered next steps, concrete enough to act on without re-exploring
  • Open questions only you can answer

Every entry has to pass one quality gate: would a stranger with only this line avoid the mistake we made? If not, it gets a file, a line number, and a reason — or it gets cut.

Old handoffs aren't deleted — they're archived to .handoffs/, and still-relevant dead ends are carried forward automatically.

How it compares

  • Not a background memory. Ambient memory tools work invisibly; you never see what gets passed along. HANDOFF.md is a plain file you can read, edit, and commit. If Claude got something wrong, you fix it before it poisons the next session.
  • Not log archaeology. Tools that search past session logs dig through raw history after the fact. A handoff is a deliberate, curated, verified artifact written at the moment of handover.
  • Not a lossy summary. Summaries keep what sounds important. A handoff keeps what's expensive to rediscover — above all, the dead ends.

Bonus: it catches degradation early

If Claude notices symptoms of its own context rot mid-session — contradicting an earlier decision, re-deriving something already settled — it suggests a handoff in one sentence and waits for your confirmation. It never runs automatically.

Repo layout

handoff/
├── SKILL.md                    # the skill definition
└── assets/
    └── HANDOFF.template.md     # the structure every handoff follows

Read SKILL.md to see exactly what Claude is instructed to do — including the list of rationalizations it's told to refuse ("I remember the session clearly, no need to re-verify" → verify anyway).

Contributing

Issues and PRs welcome — especially reports of how it handles sessions that went badly. That's the case it's built for.

License

MIT

// faq

What is claude-code-handoff-skill?

A Claude Code skill that writes a verified HANDOFF.md so a fresh session can resume long-running work without repeating dead ends.. It is open-source on GitHub.

Is claude-code-handoff-skill free to use?

claude-code-handoff-skill is open-source under the MIT license, so it is free to use.

What category does claude-code-handoff-skill belong to?

claude-code-handoff-skill is listed under other in the Claudeers registry of Claude-compatible tools.

2 views
24 stars
unclaimed
updated about 2 months ago

// embed badge

claude-code-handoff-skill on Claudeers
[![Claudeers](https://claudeers.com/api/badge/claude-code-handoff-skill.svg)](https://claudeers.com/claude-code-handoff-skill)

// retro hit counter

claude-code-handoff-skill hit counter
[![Hits](https://claudeers.com/api/counter/claude-code-handoff-skill.svg)](https://claudeers.com/claude-code-handoff-skill)

// reviews

// guestbook

0/500

// related in Other

🔓

符合nature论文学术表达和科研绘图的Skill

// otherYuan1z0825/Python36,535Apache-2.0[ claude ]
🔓

Open source Ghostty-based macOS terminal with vertical tabs and notifications for AI coding agents. Built for multitasking, organization, and programmability.

// othermanaflow-ai/Swift26,069NOASSERTION[ claude ]
🔓

Anti-AI-slop design skill for Claude Code, Cursor, and Codex.

// otherNutlope/CSS25,307MIT[ claude ]
🔓

Huashu Design · HTML-native design skill for Claude Code · Claude Code 里 HTML 原生的设计 skill · 高保真原型 / 幻灯片 / 动画 + 20 设计哲学 + 5 维评审 + MP4 导出 · Agent-agnostic

// otheralchaincyf/HTML23,151MIT[ claude ]
→ see how claude-code-handoff-skill connects across the ecosystem