diff --git a/skills/handoff/SKILL.md b/skills/handoff/SKILL.md new file mode 100644 index 0000000..08a22e5 --- /dev/null +++ b/skills/handoff/SKILL.md @@ -0,0 +1,52 @@ +--- +name: handoff +description: >- + Compact the current conversation into a handoff document so another agent can + continue the work. Use when the user asks for a handoff, a context dump, or a + summary to resume later, or when a session is ending mid-task. +--- + +# Handoff + +Write a document that lets another agent continue the work without reading this +conversation. It needs current state, decisions, and the next action. It does +not need a transcript. + +## Before writing + +- Check the real state of the tree: branch or bookmark, worktree path, and + uncommitted changes. Run the version control status command, do not recall it. +- List the files this session touched. Mark each as done, partial, or untouched + but affected. +- Find the command that proves the work still holds. Run it if it is cheap. + Record the result, including failures. +- Ask where the file should go if it is not obvious. Default to `HANDOFF.md` in + the workspace root. Never overwrite an existing handoff without asking. + +## Write it + +Use [files/template.md](files/template.md). Fill every section. Delete a section +only when it truly has nothing in it. + +Order matters. Put the next action first so a new agent can start without +reading the rest, then the state, then the history. + +## Rules + +- Prefer facts over narrative. Exact paths, command lines, layer ids, versions. +- Record approaches that failed and why. This saves the next agent the same + dead end. +- Separate what is done from what is next. Do not blend them in one list. +- Mark guesses as guesses. Never present an unrun check as passing. +- Link to existing docs and issues instead of restating them. +- Write for another person. Short sentences, plain words, no em dashes, no + semicolons, straight quotes. +- Keep it near one page. Expand only when the task has real branching. +- Leave out secrets, tokens, and private user data. + +## Finish + +- Tell the user the path you wrote and the single next action. +- If files are mid-edit, say which ones and whether the tree currently builds or + runs. +- Do not commit the handoff unless asked. diff --git a/skills/handoff/files/template.md b/skills/handoff/files/template.md new file mode 100644 index 0000000..f32bb18 --- /dev/null +++ b/skills/handoff/files/template.md @@ -0,0 +1,51 @@ +# Handoff: + +Written . Continue from here. + +## Next action + +One concrete step. Name the file, command, or decision. Say why it is first. + +## Goal + +What the work is meant to achieve, in two or three sentences. Note anything the +user explicitly ruled out. + +## Current state + +- Branch or bookmark: +- Worktree: +- Uncommitted changes: +- Last known good state: +- Blocked on: + +## What changed + +| Path | State | What changed | +| --- | --- | --- | +| `path/to/file` | done, partial, or unstarted | Short note | + +## Decisions + +- ****: why it was made, and what it rules out. +- **Rejected**: