Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Handoff Writer

ASecurity

Compacts the current conversation into a handoff document a fresh agent can pick up from, and asks where to save it before writing anything. Use when a session ends with work unfinished, when switching branch or machine, or when passing the work to another person. Records what is not already written down elsewhere and points at what is. Never invoked on its own initiative — a handoff is a deliberate act, and only the person having the conversation knows when it is worth one.

2 stars
0 votes
0 copies
0 views
Added 9/19/2026
ai-agentsrustgobashgitapi

Works with

api

Security Analysis

A100/100

Scanned 9/19/2026

$npx -y skills add dayvisonassis/sdd-skills --skill handoff-writer --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Handoff Writer?

Add the live security badge to your README — it updates automatically with every re-scan.

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

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

Download with Pro
Files
SKILL.md
---
name: handoff-writer
description: Compacts the current conversation into a handoff document a fresh agent can pick up from, and asks where to save it before writing anything. Use when a session ends with work unfinished, when switching branch or machine, or when passing the work to another person. Records what is not already written down elsewhere and points at what is. Never invoked on its own initiative — a handoff is a deliberate act, and only the person having the conversation knows when it is worth one.
argument-hint: "What will the next session be used for?"
disable-model-invocation: true
---

# Handoff Writer

Write a handoff document summarising the current conversation so that a fresh agent — with no
memory of any of it — can continue the work.

> **Derived from `handoff` by Matt Pocock** (`mattpocock/skills`, MIT), which saves to the
> operating system's temporary directory. This version asks where to save instead, because the
> right place depends on how long the handoff needs to live and who else should see it. The rest
> of the instruction is his.

## ASK BEFORE WRITING

**Do not write the file until the destination is settled.** Offer these, with the trade-off
stated, and recommend the one that fits what the person just told you they are doing:

| Where | Good for | Cost |
|---|---|---|
| **Repository root**, untracked | Work resuming in this repo, possibly after a branch switch — an untracked file survives `checkout` | Shows up in `git status` and can be committed by accident |
| **The OS temp directory** | A handoff nobody else needs and nothing should outlive | Easy to lose; some systems clear it on reboot |
| **A path they name** | Anything else — a docs folder, a shared drive, a scratchpad | Theirs to manage |

If they choose the repository root, **offer to add the file to `.git/info/exclude`**. That keeps
`git status` clean without touching `.gitignore`, which would carry the entry to the remote and
to everyone else. Use the **common** git directory, so the exclusion also applies in worktrees:

```bash
git rev-parse --git-common-dir
```

Append the file name there only if they say yes. It is per-clone and reversible; say so.

## WHAT TO WRITE

**Do not duplicate content already captured in other artifacts** — specs, plans, ADRs, issues,
commits, diffs. Reference them by path or URL instead. A handoff that restates a committed
document goes stale the moment that document changes, and the reader cannot tell which copy is
true.

Write down what exists **nowhere else**: the decisions taken and why, what was tried and
abandoned, the state of anything half-finished, and the traps discovered along the way.

Include a **suggested skills** section naming which skills the next agent should call the Skill
tool for.

**Redact anything sensitive** — API keys, passwords, tokens, personally identifiable information.
A handoff is written to be read by someone who was not in the room.

If the user passed arguments, treat them as a description of what the next session will focus on,
and tailor the document to that.

## RULES

**Ask where, every time.** Not a default with a chance to object — a question with an answer.
Even in the same project as last time: a handoff meant to survive a branch switch and one meant
to be thrown away belong in different places.

**Say what the file is for, inside the file.** Whoever opens it may not know why it exists, and
if it sits untracked in a repository root, whether it should be committed is the first question
they will have.

**State what is unfinished, plainly.** The value of a handoff is concentrated in what is still
broken. Ending on a summary of what went well wastes the reader's first minute.

**Never write it unasked.** The frontmatter disables model invocation on purpose.

## EDGE CASES

**Not inside a git repository.** The repository-root option and the `.git/info/exclude` offer do
not apply — say so rather than offering them and failing.

**A handoff already exists at the chosen path.** Ask before overwriting. The old one may describe
a different piece of work, and losing it silently is the one failure this skill cannot recover
from.

**The conversation is short or the work is finished.** Say so and write nothing. An empty handoff
costs the next reader time and teaches them not to trust the next one.

**The work spans more than one repository.** Name every one, with its branch and its state.
A handoff that describes a single repository when the work touched three is worse than none: the
reader will act on the part it names.

Attribution

dayvisonassisdayvisonassis
View sourceSee grades on GitHubMore from dayvisonassis →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

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 (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

Caveman

Ultra-compressed communication mode that cuts output tokens while keeping technical accuracy. Levels: lite, full, ultra and the wenyan variants. Use for /caveman, "caveman mode", "talk like caveman", "be brief" or "less tokens".

1074701 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

696481 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3351 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

691 votes
View all in ai-agents →