Skip to content
Back to skills

Handoff

ASecurity

Writes a handoff note that primes a fresh session after `/clear`, or lists and removes notes.

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 6, 2026
ai-agentsgobashgit

Security analysis

A100/100

Scanned October 7, 2026

npx -y skills add xsyetopz/dotclaude --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/xsyetopz-handoff/badge)](https://www.skillsdirectory.com/skills/xsyetopz-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: Writes a handoff note that primes a fresh session after `/clear`, or lists and removes notes.
disable-model-invocation: true
argument-hint: "[slug] | --list | --rm <slug>"
allowed-tools: Bash(git status*) Bash(git diff --stat*) Bash(git log --oneline*) Bash(git rev-parse*) Bash(git check-ignore*) Bash(ls *.claude/handoffs*)
---

<task>
Compaction is off, so `/clear` is the reset, and this note is what the next session knows.
Write it as a prime for the next session, not as a summary of this one:
the next session needs the goal, the constraints, the decisions, and the proof, not the story.
</task>

<arguments>
Read `$ARGUMENTS`:

- `--list`: list `.claude/handoffs/*.md` with the `status` and `written` lines of each note, then stop.
- `--rm <slug>`: delete `.claude/handoffs/<slug>.md` with the permission prompt, then stop.
- `<slug>`: write `.claude/handoffs/<slug>.md`.
- empty: write the note with a slug of two to four lowercase words that name the task.

A second note with the same slug replaces the first, so the notes do not pile up.
</arguments>

<write>
First run `git status --short`, `git diff --stat HEAD`, `git log --oneline -5`, and `git rev-parse --abbrev-ref HEAD`.
Write only what you verified in this session or what the user said.
Mark each other item as unverified, because the next session reads the note as fact.
A file is the work of the user when no call of this session changed it.

When `openspec/changes/<id>/tasks.md` exists for the task, name the change id.
Do not copy its tasks, because `tasks.md` holds their status and `/opsx:apply` continues from the first open task.
Then the note holds only what `tasks.md` does not: constraints, decisions, rejected approaches, and proof commands.

Start with this front matter:

```yaml
---
status: in-progress # or blocked, done
branch: <current branch>
head: <short sha of HEAD>
written: <UTC time, ISO 8601>
openspec: <change id, or none>
---
```

Then use these sections, and leave out a section only when it is empty:

1. **Goal**: the request of the user, quoted exactly, and each later constraint of the user.
   End with **Done when**: the check that proves the task is complete.
1. **Decisions**: each choice with its reason.
1. **Rejected**: each approach that was tried or considered and dropped, with the reason, so that the next session does not try it again.
1. **Items**: each part of the work with its status and the command that proves it.
   A status of done needs that command and its result from this session.
   Mark partial work, such as a file left mid-edit or a background job.
1. **Files**: the files that this session changed.
1. **Next**: the next step, and each question that waits for the user, with its owner.

Keep the note under about 60 lines.
Give file paths and `file:line` locations, not file contents.
</write>

<close>
When `git check-ignore -q .claude/handoffs/<slug>.md` exits 1, tell the user that git tracks the note, and that `.git/info/exclude` can ignore it.
Then give the note path, and a prompt for the session after `/clear` that names the next step and ends with `@` and the absolute path of the note.
With an OpenSpec change, the prompt starts with `/opsx:apply <id>`.
</close>

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.