Handoff
π octo β portable AI-agent workflow plugin: plan β build β review-until-clean, a lessons engine that absorbs every bug it sees, an autonomous studio mode, and Mission Control. Every bug leaves a scar; octo remembers. Works with Claude Code and any Agent Skills harness.
npx -y skills add eduardkumskyi/octo --skill handoffAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Write .claude/handoff.md so any future session can resume: current goal, done/remaining tasks, key decisions and assumptions, gotchas discovered, next step. The context-restore hook injects its head after compaction.
SKILL.md
3.5 KB, 755 tokens by cl100k_base, as published. Nobody here has run it
Progress Contract
Register these steps as a native task list at Step 1, before beginning. Report progress as "N steps remaining, size class S/M/L" β never wall-clock ETAs.
Steps: (1) gather-state, (2) write-handoff.
Workflow
Step 1 β Gather state
Collect the information needed for each of the five sections:
- Current goal β what the session was trying to accomplish; include any scope constraints.
- Done / remaining tasks β tasks completed this session and tasks still open. Reference
plan file path if one exists (
.claude/plans/latest by name). - Key decisions and assumptions β architectural choices, SAFE/RISKY assumptions surfaced,
and the rationale behind each. Pull from the plan's
## Assumptionssection when available. - Gotchas discovered β surprising findings, environmental quirks, or traps that are not obvious from the code or docs (e.g. field naming mismatches, hidden dependencies, deploy ordering constraints).
- Next step β the single most important action for the next session to take first.
Also note: current branch, any uncommitted changes, and the last commit SHA (git rev-parse --short HEAD).
Step 2 β Write handoff β overwrites previous
Write .claude/handoff.md with exactly these five sections, in this order:
# Handoff
## Current goal
<one paragraph>
## Done / remaining
<bullet list: β done items, β open items>
## Key decisions and assumptions
<bullet list with SAFE/RISKY tags where applicable>
## Gotchas
<bullet list β omit if empty>
## Next step
<one sentence β the single action to take first>
Head constraint: the first 30 lines of the file must be self-sufficient β they are what the context-restore hook re-injects after compaction. Put the highest-value context (goal, next step, and the most critical gotchas) within those 30 lines. Longer details can follow. Budget the head: ## Current goal β€ 3 lines, ## Next step β€ 2 lines, most critical gotchas β€ 5 lines β these three MUST sit inside the first 30 lines; everything else goes below the fold.
Living pointer: overwrite the previous .claude/handoff.md entirely. Git history is not
the archive β the file is a single pointer to the current resumption state, not a log.
After writing, print the first 30 lines so the user can verify they are self-sufficient.
Shared Conventions
- Commits: conventional format
type(scope): brief descriptionβ no AI attribution, noCo-Authored-Bylines of any kind. - Never push directly to protected branches (protected branches β see the octo guard's list).
- Never use
--no-verifyor force-push. - Parallel-first: dispatches that do not consume each other's output MUST go in a single message. Dispatching sequentially what could run concurrently is a defect, not a style choice. Cap β10 concurrent lanes; more work than lanes β batch waves.
- Reader-first output: lead with the outcome in one sentence; keep the visible reply short and dev-readable β only what changes the reader's next action. Full detail (complete reports, evidence, logs) goes to a file under
.claude/octo/reports/YYYY-MM-DD-<skill>-<slug>.mdwith the path given in chat β never dumped into the conversation.