Skip to content
Back to skills

Handoff

ASecurity

Write a hub handoff — the entry-point file a fresh session reads to take over a stage hub or a long-running role. Use when the context is filling up, at the end of a shift, or when the owner asks to hand the work over.

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 7, 2026
ai-agentsgoshell

Works with

  • cli

Security analysis

A100/100

Scanned October 7, 2026

npx -y skills add ilya-kozyrev/claude-agent-hub --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/ilya-kozyrev-handoff/badge)](https://www.skillsdirectory.com/skills/ilya-kozyrev-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: Write a hub handoff — the entry-point file a fresh session reads to take over a stage hub or a long-running role. Use when the context is filling up, at the end of a shift, or when the owner asks to hand the work over.
argument-hint: "[stage] [what the next shift focuses on]"
---

# Hub handoff

Run bundled commands with the host's shell tool. Resolve the plugin root from `PLUGIN_ROOT`,
`CLAUDE_PLUGIN_ROOT`, or this skill's installed path; use `<plugin-root>/bin/<tool>` when PATH is missing
or shadowed. Session identity comes from the current host; use `self` where supported.

A handoff is the successor's entry point, not a diary: facts with their source, the queue with stop conditions, and
pointers to the registers — never copies of them.

1. Generate the draft: `hub handoff --stage <S>` (prints the path; your shift number comes from `roles.json`). It fills in the locks you hold, the
   headless agents and their state, the night queue, `ask summary` and the register digest, and — if
   `<stage>/handoff-facts.sh` exists — its environment rows; everything else is `TODO`.
   Without a stage hub, start from `<plugin-root>/templates/HANDOFF-template.md` and save it as
   `HANDOFF-<role>-<YYYY-MM-DD-HHMM>.md` in the stage's `coordinator/` directory.
2. Fill every `TODO`:
   - **Headline**: one or two sentences — what matters most now and whose word is behind it (quote + `ask` id).
   - **Business DoD**: link the agreed result/source or carry a concise inherited result (hub skill, "Planning a stage").
     Preserve owner-supplied constraints; tell the successor to continue it and choose implementation details independently.
   - **§ 0 First steps**: 3–6 commands or files, in order. The first is always `hub takeover …`.
   - **§ 1 Where things stand**: each row a fact and where it shows (a command, a file, a URL).
   - **§ 2 Queue**: by dependency; item = action | "done" check | stop condition | who (model). Blocked items name the question id.
   - **§ 4 Owner questions**: anything the owner was asked in chat without a record goes into `ask add` first; then its id here.
   - **§ 5 Risks**: what breaks when nobody watches, and how it shows.
   - **§ 6 Skills**: which skills the successor loads first.
For Codex autopilot, keep the launch surface in the handoff: actual app hub → `hub succeed --surface desktop`
(native launch procedure in [docs/codex.md](../../docs/codex.md#desktop-autopilot)); console/detached hub → CLI.
Give the queue finite completion checks. A successor waits only for outstanding work/events and finishes when the
queue is done. Desktop request/client IDs are pending references; record actual thread/cwd and observed policy only
once takeover verifies. Keep the predecessor active until `hub desktop-status --verified` succeeds.

3. Check it: `hub handoff --stage <S> --finish` refuses (exit 2, the lines listed) while § 0–2 still hold `TODO`; `hub succeed`
   makes the same check and `hub takeover` warns the successor about a handoff that fails it. `--allow-todo` overrides, and
   the successor then rebuilds that state from the journal. A `TODO` in § 3–6 does not stop it.
4. Keep it ≤ 12 KB (the `handoff_size` hook refuses a `HANDOFF-*.md` over 15 KB). The chronology stays in the
   journal; link it.
5. Delete the role's older handoffs, `jlog "handoff written: <path>"`, and tell the owner the path.

Do not release locks — the successor's `hub takeover` takes them over. Redact secrets: name the variable, never the value.

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.