agentsclimarketplace

Handoff

Skill kenantang/codex-and-claude-skills/collected-academic-research-skills/sources/flonat__claude-research/skills/handoff

Generated by Codex. Read with caution.

Install
npx -y skills add kenantang/codex-and-claude-skills --skill handoff

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use when you need to pass state to the next session in the current working directory. Writes a handoff.md file that the next session's SessionStart hook will read and delete.

SKILL.md

3.1 KB, 716 tokens by cl100k_base, as published. Nobody here has run it

Handoff Skill

Write a one-shot handoff note to the next session, in the current working directory.

Purpose

Bridge state across a restart or /exit when a full session log is overkill. The next session's SessionStart hook (handoff-read.sh) reads handoff.md, injects its contents as additional context, then deletes the file. One read, gone.

Use this when:

  • You need to restart (e.g., MCP server re-enable, permission change, context pressure)
  • You want to hand off mid-task state to the next session without polluting log/
  • A quick note is enough — not a full /session-close

When NOT to Use

  • End of a substantive work session → use /session-close (proper logs, git commit)
  • Permanent decisions or learnings → use MEMORY.md with [LEARN] tags
  • Cross-project notes → use .context/agent-messages.md

Workflow

Step 1: Gather state

Collect:

  • Current working directory (pwd) — the handoff lives here
  • What was happening — the immediate task, not a session recap
  • What's next — the specific next action
  • Open loops — files mid-edit, background processes, pending confirmations
  • Blockers — why the session is ending (e.g., "Paperpile MCP needs restart")

Step 2: Write handoff.md in cwd

Use this template:

# Handoff — <YYYY-MM-DD HH:MM>

## Where we are
<1-3 sentences on current task state>

## Next action
<The single next thing to do — be specific>

## Open loops
- <file.py mid-edit at line N>
- <background job: description>
- <HPC job $SLURM_JOB_ID on your-hpc: submitted/running/completed; OUT_DIR=~/projects/<name>/out/<jobid>/>
- <pending user confirmation: question>

## Blockers / context the next session needs
<Why the handoff exists. API keys set? MCP restarted? Permission added?>

## Files touched this session
- <path:line> — <what changed>

## Scratch
<Anything else — half-formed thoughts, commands to try, URLs>

Keep it tight. The next session reads this once as SessionStart context — it should be skimmable in 10 seconds.

Step 3: Confirm

Tell the user: "Handoff written to <cwd>/handoff.md. Next session in this directory will read and delete it."

Hook Behavior

The companion hook handoff-read.sh fires on every SessionStart (startup + resume + compact). If handoff.md exists in the session's cwd:

  1. Reads contents
  2. Injects as additionalContext with the header # Handoff from previous session
  3. Deletes handoff.md (scratch)

Zero token cost when no handoff exists.

Important

  • Handoff is ephemeral — one-shot. If you need durable state, write to log/ or MEMORY.md instead.
  • handoff.md should NOT be committed. Add to .gitignore if the directory has one.
  • If the next session's cwd differs, the handoff won't fire — always cd to the same directory before restarting.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.