agentleFS
EfiPerezEfiPerez/claude-code-skills/skills/resume-handoff/SKILL.md

resume-handoff

Skill4 starsChanged 11 days agoMITView on GitHub

Loads the most recent session handoff document from the project's handoffs/ folder, reads the files it points at, checks whether anything has changed since it was written, and reports where the last session stopped so work can continue seamlessly.

9 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

7 rules. 0 are common, 5 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 9 edited versions we read keep these.

  • 5

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    After reporting, this skill goes on to start the handoff's first Next Step.

    line 29
  2. Very specific:

    Look for a handoffs/ folder in the current working directory.

    line 45
  3. Distinctive:

    If the user named a file, date, or topic ("load the auth one", "yesterday's handoff"), match it.

    line 50
  4. Distinctive:

    Don't ask which file to load.

    line 56
  5. Very specific:

    Archived handoffs: If the project moves finished handoffs to <project>/archive/handoffs/, check there too.

    line 59
  6. Distinctive:

    Read the handoff document, then immediately read every file listed under

    line 86
  7. Distinctive:

    If a listed file no longer exists at that path, note it for Step 3 rather than hunting for it silently.

    line 91

“Common” is measured: kept by at least 6 in 10 of the 9 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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Run without pausing

Invoking this skill is the user's request to read the handoff folder and its files, read the source files the handoff points at, run read-only git commands (git log, git status), and edit the loaded handoff's **Handoff-Status:** line (Step 1). Run through the skill without stopping to ask questions. Claude Code's own permission settings still apply: if a tool call needs approval under those settings, the harness will prompt for it.

After reporting, this skill goes on to start the handoff's first Next Step. See Step 4.

What this skill does

A previous session wrote down where it stopped. Your job is to absorb that state, confirm it's still accurate, and get the user back to productive work in one short exchange — without them having to re-explain the project.

A handoff is a snapshot, not a live view. It was true when written; the code may have moved since. Treating it as gospel is how a resume skill quietly sends a session down a path that no longer exists, so verification is a real step here, not a formality.

Step 1 — Find the handoff

Look for a handoffs/ folder in the current working directory. If there isn't one, check one level up before concluding there's nothing to load.

Pick the file:

  • If the user named a file, date, or topic ("load the auth one", "yesterday's handoff"), match it.
  • Otherwise take the newest by filename. Handoffs are named YYYY-MM-DD_HH-topic.md, so a plain alphabetical sort puts the newest last — no date parsing needed.

Don't ask which file to load. Name the file you picked in your report instead, so if it's the wrong one the user can see that at a glance and say so.

Archived handoffs. If the project moves finished handoffs to <project>/archive/handoffs/, check there too. If that folder holds a file newer (by filename) than the newest one in handoffs/ — or the file the user named is only there — say so and offer it; don't silently fall back to an older file. If the user chooses an archived handoff, move it back to handoffs/ first (a same-name file already there → stop and ask, never overwrite), then continue with it.

Mark it resumed. Right after picking the file, set its **Handoff-Status:** line (directly under the H1) to **Handoff-Status:** resumed <date time> using the real time — date "+%Y-%m-%d %H:%M" (macOS / Linux / Git Bash) or Get-Date -Format "yyyy-MM-dd HH:mm" (Windows PowerShell), or the user's preferred date format if CLAUDE.md sets one. If the line is missing (older files), insert it under the H1. Change nothing else in the file. Remember this path for the session: an end-of-session step that marks handoffs complete should close exactly this file and no other.

If no handoffs folder or no files exist, say so in one line and stop — don't invent context or guess at what the last session was doing:

No handoffs found in this project. To create one, run /handoff at the end of a session.

Step 2 — Read it, and read what it points at

Read the handoff document, then immediately read every file listed under 📂 Files to Review on Resume. Reading the pointers is what separates being oriented from merely being informed — the handoff tells you the shape of the work, the files tell you the current truth of it.

If a listed file no longer exists at that path, note it for Step 3 rather than hunting for it silently.

Step 3 — Check whether it's still true

Confirm the snapshot still matches reality:

  • Git — git log --oneline -10 and git status. Have there been commits since the handoff's timestamp? Is the working tree dirty in ways the handoff doesn't mention?
  • Files — did every file the handoff references survive, and do the functions or line ranges it calls out still exist? (Line numbers drift easily; treat a shifted line number as normal, a missing function as drift.)

Anything that no longer holds gets flagged in the report. A handoff that's entirely still accurate needs no commentary — say nothing rather than padding the report with "everything checks out" for each item.

Step 4 — Report, then proceed

Six lines or fewer (seven if the handoff carries an Open Tasks section). The user is at the start of a session and wants orientation, not a re-read of the document they can open themselves:

Loaded [handoffs/2026-08-11_10-auth-middleware.md](handoffs/2026-08-11_10-auth-middleware.md) — 2026-08-11
Goal: move JWT validation into shared middleware so all API routes verify tokens the same way.
Stopped at: validateToken() returns the decoded payload, but the 3 call sites in routes/api.js still expect a boolean.
Since then: 2 commits touched routes/api.js — line numbers in the handoff have shifted.
Next step: update the 3 call sites to read req.user from the payload. Starting now.
Open tasks: test the CSV export.

Dates in the report follow the user's preferred date format (check CLAUDE.md for a date convention); default to YYYY-MM-DD if none is set. Drop the "Since then" line entirely when nothing has drifted, and drop the "Open tasks" line entirely when the handoff has no 📌 Open Tasks section — don't print "none".

Then start the work — don't ask. Running this skill is itself the go-ahead, so begin the handoff's first Next Step straight after the report. Never end the report with "Want me to start there?". Only pause if the drift in Step 3 makes the Next Step unsafe or meaningless (for example the file it targets is gone), and say why in one line. A handoff whose Next Steps or Goal say "wait for the user's go" / "don't build until they say go" is already satisfied: running this skill is that go, so skip the wait step and start the first real one. Next Steps that are irreversible or outward-facing (push, deploy, delete) still follow the normal confirmation rules; the go-ahead covers starting, not those.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.