Skip to content
Agentmart
Submit a tool

handoff

Write a session-resume note before /clear or before quitting, so the next session picks up where you left off.

Skill by Abhinavexists

IndexedMIT★ 1
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/abhinavexists-handoff

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Write a session-resume note before /clear or before quitting, so the next session picks up where you left off. Captures what you were doing, where you stopped, the next concrete step, and any open questions. Invoke manually before /clear, or let Claude suggest it when context is getting tight.

Use cases: writing, productivity

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/handoff

Tools it pre-approves 11

From allowed-tools in SKILL.md: the agent may use these without asking you each time.

  • Bash(git
  • status),
  • status
  • *),
  • diff
  • log
  • rev-parse
  • Bash(mkdir
  • -p
  • Read,
  • Write

What's inside

Skill name
handoff
Description
Write a session-resume note before /clear or before quitting, so the next session picks up where you left off. Captures what you were doing, where you stopped, the next concrete step, and any open questions. Invoke manually before /clear, or let Claude suggest it when context is getting tight.
License
MIT
Allowed tools
Bash(git, status),, Bash(git, status, *),, Bash(git, diff, *),, Bash(git, log, *),, Bash(git, rev-parse, *),, Bash(mkdir, -p, *),, Read,, Write
Instructions
60 lines in SKILL.md · view on GitHub

Before installing

  • Pre-approves some shell commands

Files (1)

  • SKILL.md

SKILL.md (first lines)

## Current session context

CWD: !`pwd`
Branch: !`git rev-parse --abbrev-ref HEAD 2>/dev/null || echo "(not a git repo)"`
Working tree status:
!`git status --short 2>/dev/null | head -20 || echo "(not a git repo)"`

Recent local commits (in case any happened this session):
!`git log -5 --pretty=format:"%h %s" 2>/dev/null || echo "(no history)"`

Has project-level .claude/ directory? Used to decide handoff target path:
!`test -d "$(pwd)/.claude" && echo "yes — writing to .claude/handoff.md" || echo "no — writing to /tmp/handoff-${CLAUDE_SESSION_ID}.md"`

## Instructions

1. **Decide the target path.**
   - If `$(pwd)/.claude/` exists: write to `$(pwd)/.claude/handoff.md`.
   - Otherwise: write to `/tmp/handoff-${CLAUDE_SESSION_ID}.md`.
   - If the file already exists, append a new dated section rather than overwrite — handoffs are an append-only log.

2. **Draft the note.** Structure:
   ```markdown
   ## <YYYY-MM-DD HH:MM> — <one-line topic>

   ### What we were doing
   <2-3 sentences. Concrete, not abstract: "Adding rate-limit middleware to the
   /v2/embed endpoint" not "Working on backend stuff.">

   ### Where we stopped
   <Exact state — file + line, or "tests failing on X", or "decision pending on Y">

   ### Next concrete step
   <One sentence the next session can act on immediately. Not "continue work" —
   something like "Run the failing test in tests/embed/test_rate_limit.py:42 and
   read the assertion message; the fixture probably needs the new redis_url
   parameter.">

   ### Open questions
   <Bulleted list, or "none" if everything is decided>

   ### Files touched this session (uncommitted)
   <Output of git status --short>
   ```

3. **Pull the topic from `$ARGUMENTS`** if provided. Otherwise infer from the most recent ~10 turns of conversation — what was the load-bearing task?

4. **Be specific.** A handoff note that says "continue refactor" is useless. The bar: a fresh Claude session reading this note should be able to do exactly the next action without re-reading the codebase.

5. **Write the file.** Use the `Write` tool. If appending to an existing handoff, read the file first, then write with the new section appended.

6. **Report the path.** Print the absolute path so the user can open it themselves. Also surface the one-sentence "Next concrete step" inline — that's the thing they'll actually read tomorrow.

## What this skill does NOT do

- Does not write to user-level memory. Memory is for cross-session preferences; handoffs are for *this specific paused task*.
- Does not /clear for you. Writing the note is one action; choosing to clear is another.
- Does not push the note anywhere (Slack, Linear, etc.) — it's a file. If you want it elsewhere, pipe it yourself.
- Does not capture full conversation transcripts — that's noise. Distill to the four sections above.

From Abhinavexists/claude-config, MIT.

Signals

Stars
1
Forks
0
Open issues
0
Last commit (this folder)
May 26, 2026 (5 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from Abhinavexists

Cite this page

handoff skill. Agent Mart. https://agentmart.dev/skills/abhinavexists-handoff (last updated 2026-10-24)