/install handoff-receiver
Handoff Receiver
Use this skill when you are the new skill/agent receiving work from a previous session handoff file.
Goal: continue delivery with minimal drift, no scope expansion, and clear state recovery.
Step 1: Locate the active handoff and index
- Prefer
.trellis/handoffs/CURRENTwhen present. - Otherwise use
docs/handoffs/CURRENTwhen present. - Otherwise use
CURRENTin project root. - Read the matching
INDEX.mdin the same handoff directory. - Only if no pointer exists, fall back to the latest legacy handoff file.
if [ -f ".trellis/handoffs/CURRENT" ]; then
cat .trellis/handoffs/CURRENT
echo ".trellis/handoffs/INDEX.md"
elif [ -f "docs/handoffs/CURRENT" ]; then
cat docs/handoffs/CURRENT
echo "docs/handoffs/INDEX.md"
elif [ -f "CURRENT" ]; then
cat CURRENT
echo "INDEX.md"
else
[ -f handoff.md ] && echo "handoff.md"
fi
If no handoff is found, stop and ask one minimal question requesting the handoff path.
Step 1.5: Read the compact index before opening any other handoff
Read INDEX.md and classify streams from the table only.
status: in_progressorstatus: openand matchesCURRENT→ active. Proceed.status: in_progressand does not matchCURRENT→ conflict. Ask the user which stream is authoritative.status: paused→ parallel stream. Surface it in takeover output, but do not execute it.status: doneorstatus: superseded→ archive. Skip.- any handoff row with
status: orphan→ open only that file'sGoalandNext Steps, then ask the user whether to mark itpaused, merge it, supersede it, or leave it as-is. - if
CURRENTpoints to a handoff missing fromINDEX.md, treat that as an index drift bug and ask one focused question before continuing.
Do not scan the handoff directory in the normal path. Directory scans are reserved for index repair only.
After locating the active handoff, mark it before execution:
status: in_progresstaken_over_at: \x3Cnow>taken_over_by: handoff-receiverupdated_at: \x3Cnow>
Step 2: Read only decision-critical sections first
Read these sections in this order:
GoalCurrent StateNext StepsDecisions MadeContext for the Next Session
Capture:
- in-scope objective
- current completion status
- first actionable next step
- explicit constraints and trade-offs
Step 3: Reconcile handoff vs repository reality
Run objective checks before touching code:
git rev-parse --abbrev-ref HEAD
git status --short
git diff --stat HEAD
git log --oneline -10
Then compare with Files Changed and Commands Run in the handoff.
If mismatch is small and explainable, continue. If mismatch is major (different branch, unrelated deltas, missing files), ask one minimal clarification question before edits.
Step 4: Execute in strict order
- Start with
Next Stepsitem #1. - Keep scope fixed to handoff goal.
- Do not re-architect unless blocked by correctness.
- Re-run relevant validation commands listed in handoff.
- If blocked by an unresolved decision, ask exactly one focused question.
Step 5: Update handoff artifact before yielding
At pause/completion:
- Update the latest handoff file in place.
- Refresh
Current State,Next Steps, andErrors Encountered. - Remove completed items; keep remaining items actionable.
- Keep content factual and concise.
- If work is complete, set
status: doneand clear the matchingCURRENTpointer. - If work is complete, update the matching
INDEX.mdrow tostatus: done. - If work is paused and a fresh handoff is needed, create the new handoff, set the old file to
status: paused, moveCURRENTto the new file, and update both rows inINDEX.md. - If work is truly replaced by a new handoff in the same stream, set the old file to
status: superseded, writesuperseded_by: \x3Cnew path>, moveCURRENTto the new file, and update both rows inINDEX.md.
Do not create extra summary files unless explicitly requested.
Output contract to user
When reporting takeover status, respond with:
Using handoff: \x3Cpath>
## Goal
\x3Cone sentence>
## Current Step
\x3Cthe exact Next Steps item being executed>
## Parallel Streams
\x3Cnone OR one line per paused/orphan handoff>
## Blockers
\x3Cnone OR one-line blocker>
Anti-patterns
- Starting implementation before checking current git state.
- Ignoring
Decisions Madeand re-opening settled trade-offs. - Mixing new feature requests into handoff continuation.
- Updating many files before finishing
Next Stepsitem #1. - Writing a new handoff file when an existing one should be updated.
- Scanning the entire handoff directory when
CURRENTandINDEX.mdalready provide the active stream and compact metadata. - Reading the full body of every historical handoff when the index already provides status and goal summaries.
Example
Index state:
CURRENT→.trellis/handoffs/2026-05-22-12-40-open-core.mdINDEX.mdrow for onboarding saysstatus: orphanINDEX.mdrow for billing saysstatus: paused
Expected takeover flow:
- Read
CURRENTand detect the active path. - Read
INDEX.mdand surface the paused billing stream. - Open only the orphan onboarding handoff to read
GoalandNext Steps. - Ask the user how to classify the orphan before continuing the active stream.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install handoff-receiver - 安装完成后,直接呼叫该 Skill 的名称或使用
/handoff-receiver触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Handoff Receiver 是什么?
Receive a prior session handoff and continue execution safely by validating repo state, resuming from next steps, and refreshing the handoff artifact. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 12 次。
如何安装 Handoff Receiver?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install handoff-receiver」即可一键安装,无需额外配置。
Handoff Receiver 是免费的吗?
是的,Handoff Receiver 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Handoff Receiver 支持哪些平台?
Handoff Receiver 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Handoff Receiver?
由 clarezoe(@clarezoe)开发并维护,当前版本 v1.3.2。