Install
openclaw skills install sg-handoff-receiverReceive a prior session handoff and continue execution safely by validating repo state, resuming from next steps, and refreshing the handoff artifact.
openclaw skills install sg-handoff-receiverUse 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.
.trellis/handoffs/CURRENT when present.docs/handoffs/CURRENT when present.CURRENT in project root.INDEX.md in the same handoff directory.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.
Read INDEX.md and classify streams from the table only.
status: in_progress or status: open and matches CURRENT → active. Proceed.status: in_progress and does not match CURRENT → conflict. Ask the user
which stream is authoritative.status: paused → parallel stream. Surface it in takeover output, but do
not execute it.status: done or status: superseded → archive. Skip.status: orphan → open only that file's Goal and
Next Steps, then ask the user whether to mark it paused, merge it,
supersede it, or leave it as-is.CURRENT points to a handoff missing from INDEX.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: <now>taken_over_by: handoff-receiverupdated_at: <now>Read these sections in this order:
GoalCurrent StateNext StepsDecisions MadeContext for the Next SessionCapture:
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.
Next Steps item #1.At pause/completion:
Current State, Next Steps, and Errors Encountered.status: done and clear the matching CURRENT pointer.INDEX.md row to status: done.status: paused, move CURRENT to the new file, and update both rows in INDEX.md.status: superseded, write superseded_by: <new path>, move CURRENT to the new file, and update both rows in INDEX.md.Do not create extra summary files unless explicitly requested.
When reporting takeover status, respond with:
Using handoff: <path>
## Goal
<one sentence>
## Current Step
<the exact Next Steps item being executed>
## Parallel Streams
<none OR one line per paused/orphan handoff>
## Blockers
<none OR one-line blocker>
Decisions Made and re-opening settled trade-offs.Next Steps item #1.CURRENT and INDEX.md already
provide the active stream and compact metadata.Index state:
CURRENT → .trellis/handoffs/2026-05-22-12-40-open-core.mdINDEX.md row for onboarding says status: orphanINDEX.md row for billing says status: pausedExpected takeover flow:
CURRENT and detect the active path.INDEX.md and surface the paused billing stream.Goal and Next Steps.