Skip to content
Back to skills

Migrations

ASecurity

Write a state capsule so the next session — or a different agent/harness — can resume unfinished work without re-deriving context. Use when a session is ending with work incomplete, when the user says "handoff", "pack up", "ส่งต่อ", "continue tomorrow", when switching between Claude Code and Codex mid-task, or when context is about to be compacted away on a long task.

  • 6 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 23, 2026
ai-agentsrustgogit

Works with

  • claude code

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned September 23, 2026

npx -y skills add ohm41321/luciazero --skill migrations --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Migrations?

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

Security grade badge for Migrations
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ohm41321-migrations/badge)](https://www.skillsdirectory.com/skills/ohm41321-migrations)

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 state capsule so the next session — or a different agent/harness — can resume unfinished work without re-deriving context. Use when a session is ending with work incomplete, when the user says "handoff", "pack up", "ส่งต่อ", "continue tomorrow", when switching between Claude Code and Codex mid-task, or when context is about to be compacted away on a long task.
---

# Handoff — state that survives the session

`/retro` records **permanent lessons**; this records **transient state**. A good capsule lets a stranger (including future-you with zero context) type one command and be productive in two minutes. A stale capsule is worse than none — so capsules are consumed and deleted, never accumulated.

## 1. Write the capsule

Create `HANDOFF.md` at the repo root:

```markdown
# Handoff — <date>

## Goal
<the original request, one paragraph, verbatim enough to re-anchor>

## State
- Done: <what is finished, and the verify evidence: command → decisive line>
- In progress: <the exact piece mid-flight, and which files hold it>
- Verify: <the command(s) to run, fast and full tier>

## Next step
<ONE literal command or edit to do first — not a theme, an action>

## Open hypotheses
- H1: <suspected cause / approach> — status: <untested | supported by X | refuted by Y>

## Landmines
- <thing that looks safe but is not, discovered this session>

## Read first
- docs/lessons.md: <quote the symptom line of each lesson that touches the
  unfinished work — 1-3 entries, not the whole ledger>
- from this machine's cross-repo heuristics (do not travel with the repo):
  <copy the specific entries that apply, verbatim>
```

Rules:

- **The next step is literal.** "Continue the refactor" is not a next step; "run `pytest tests/test_auth.py -k refresh` — it is the failing one" is.
- **State only what this session knows.** No aspirations, no backlog — that belongs in the issue tracker.
- **Refuted hypotheses stay in the capsule** — they are exactly what the next session would otherwise waste an hour re-deriving. If a lesson is permanent (true beyond this task), it also goes through `/retro`.
- Uncommitted changes: say so explicitly, and name the files. The capsule must not imply a clean tree that is not clean.
- **Read first is a selection, not a copy.** The repo's `docs/lessons.md` travels with the code — quote only the symptom lines relevant to the unfinished work so the reader knows which entries to open before touching it (rule 8, applied for them). Machine-local memory is the exception: entries in this machine's `luciazero-heuristics.md` (config dir) do **not** travel, so any that apply get copied verbatim — the capsule is their only ride. Nothing relevant? Say `none` — an empty section is information too.

## 2. Route it

- **Same machine, next session** — `HANDOFF.md` in the repo root is enough. Do not commit it.
- **Cross-machine or another person/agent** — commit it on the working branch (it travels with the code), and say in the final message that it exists.
- The project's notes file does **not** get the capsule — notes are permanent, capsules are transient. A one-line pointer is fine if the repo's convention wants one.

## 3. Consume protocol (for the reader)

A session that finds `HANDOFF.md`:

1. Read it **before** touching the code — including the lessons entries `Read first` points at, and copy any machine-local heuristics it carries into your own config-dir ledger if they earn their keep.
2. Run the Verify command(s) to confirm the described state is still true — the capsule describes the past; the tree is the truth.
3. **Delete the capsule** (or `git rm` on the branch) once absorbed. Never leave a consumed capsule to go stale; never update one incrementally across many sessions — write a fresh one at each handoff.

If the capsule and the tree disagree, trust the tree and say so.

Files in this skill

  • handoff-v1.5.0.SKILL.md3.8 KB
  • luciazero-bootstrap-v2.2.0/SKILL.md454 B

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…