Skip to content
Back to skills

Handoff

ASecurity

Generate a Markdown handoff document summarizing the current conversation so another agent (Claude, Codex, opencode, pi, ampcode, Cursor, or a fresh session) can resume without re-deriving context. Produces docs/<slug>-handoff.md. Invoke explicitly when a session is near its context limit.

  • 4 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added May 26, 2026
documentationgobashgitapifrontend

Works with

  • cursor
  • api

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add ananthanandanan/skills --skill handoff --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Handoff?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Handoff
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ananthanandanan-handoff/badge)](https://www.skillsdirectory.com/skills/ananthanandanan-handoff)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: handoff
description: Generate a Markdown handoff document summarizing the current conversation so another agent (Claude, Codex, opencode, pi, ampcode, Cursor, or a fresh session) can resume without re-deriving context. Produces docs/<slug>-handoff.md. Invoke explicitly when a session is near its context limit.
disable-model-invocation: true
allowed-tools:
  - Bash(ls *)
  - Bash(mkdir *)
  - Bash(git rev-parse *)
  - Bash(git symbolic-ref *)
  - Write
---

# handoff

This skill runs **when context is nearly exhausted**. Budget is the constraint. Draft from what's already in conversation context — do not re-read files, do not grep, do not ask interview questions, do not run a self-check pass. One `Write` call is the goal.

## Output path

`docs/<slug>-handoff.md` where `<slug>` is a 2–3 word kebab-case identifier derived from the session's main agenda (or the user's freeform argument to the slash command, if given).

- Lowercase, alphanumeric + hyphens only.
- If the file exists, append `-2`, `-3`, … — never clobber.
- `mkdir -p docs` if needed.

## Audience

Another LLM coding agent with Read/Write/Bash but **zero prior context**. Write for them: concrete paths, exact commands, exact error strings. No prose pleasantries, no recap of the dialogue.

## Sections (in order)

Include only sections with real content. Omit or write `None this session.` for empty ones — never pad.

1. **Header** — one-line crux (what this session was about), branch, date, working dir.
2. **Agenda** — 2–4 sentences on the goal.
3. **Files read** — bullet list: path + half-sentence on why it mattered.
4. **Files written / edited** — table: `File | Change`.
5. **Bugs found** — symptom + root cause (if known) + file:line.
6. **Fixes made** — what was broken + the fix + where.
7. **Skills used** — `/ank:<skill>` invocations + outcome. Omit if none.
8. **Links / references** — URLs, issue/PR numbers, doc paths.
9. **Key decisions** — non-obvious choices + *why*. Prevents re-litigation.
10. **Current state** — what works, what's half-done, what's untested. Quote actual build/test output if you ran any; say so if you didn't.
11. **Open questions / not done** — explicit gaps, deferred items.
12. **Next steps** — concrete, ordered. Each item must be actionable without a clarifying question (e.g. "read `frontend/lib/auth.ts` and trace `refreshToken()`" — not "figure out auth"). Write this last.

**Optional** (include only if substantial and quick to produce): a fenced ASCII layout/architecture diagram, key types/state shape, or API surface touched.

Shape: tables for file lists, fenced ASCII for diagrams, short headers, no filler prose.

## Constraints

- **Markdown only.** No HTML, images, or external assets.
- **No invented paths, line numbers, commits, or counts.** If unsure, omit — don't verify, you don't have the budget. The receiving agent will grep.
- **No transcript dump.** Distill the work, not the dialogue.
- **No interview.** Use the user's slash-command argument if given; otherwise derive the slug and crux yourself.
- **No self-check pass.** Get the file written.
- **Don't run builds, tests, or migrations** to populate the doc. Report state as observed.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.