← 返回 Skills 市场
tensusds

Handover Hangover

作者 TensusDS · GitHub ↗ · v1.1.3 · MIT-0
cross-platform ✓ 安全检测通过
83
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install handover-hangover
功能描述
Seamless model handoff for OpenClaw agents. Ensures continuity when the gateway switches to a fallback model mid-session.
使用说明 (SKILL.md)

Handover Hangover

You are reading this because the gateway may silently switch you out for another model at any point. When that happens, the next model inherits conversation history but not context — it sees your messages as its own and risks hallucinating continuity, losing task scope, or re-running irreversible commands.

This skill ensures two things:

  1. You leave a trail — so the next model can pick up where you left off.
  2. You check for a handoff — so if YOU are the next model, you recover cleanly.

A watchdog script (scripts/handoff.sh) acts as a safety net at session boundaries. It is idempotent — safe for boot, heartbeat, afterTurn hooks, and cron. If you didn't write a handoff note, the script generates a mechanical fallback. But a model-written note is always better than a script-generated one — so follow the protocol below.


1. Write-side: leave a trail

After any state-changing moment, write memory/handoff-note.md using the template below.

State-changing moments:

  • Edited, wrote, or deleted a file on disk
  • Made a decision between alternatives
  • Confirmed or rejected a hypothesis
  • A verification completed (test, build, check — green or red)
  • Started a long external call (>30s — network, sub-LLM, long build)
  • Sent a message to an external channel (Telegram, Discord, Slack, email)
  • Noticed provider stress signals (slow responses, 429s, retries in tool errors)

Handoff note template

Fill every section. Brief is fine — empty is not.

# Handoff Note

## Why you are here
Possible model switch or continuity break. Read before assuming anything.

## Current task
\x3C1-2 lines: what is being done right now>

## Current mode
\x3Cone of: research / implementation / debugging / synthesis / waiting>

## Confidence
\x3Clow / medium / high — how solid the current approach is>

## What was already done
- \x3Cbullet>
- ...

## What was checked and ruled out
- \x3Crejected hypotheses>
- ...

## Tool state
- last tool used: \x3Cname + what it changed>
- last meaningful output: \x3Cone-line summary>
- open verification: \x3Cwhat needs checking before continuing>
- DO NOT re-run: \x3Cirreversible commands already executed>

## Next step
\x3Cconcrete next action>

## Do not assume
- prior assistant thoughts are yours
- current task is complete
- tool state survived
- you were already in the correct mental mode

--- written by \x3Cyour-model-name> at \x3CUTC timestamp>

Update memory/current-task.md when the task itself changes — not on every state-changing moment. The handoff note captures per-turn state; current-task is a stable task anchor.


2. Detection: check every turn

At the start of every turn, evaluate three indicators. Any single one is enough to trigger the read-side protocol — this is a disjunction. Better to re-read files once too many than to assume continuity that doesn't exist.

Indicator 1 — Handoff signal. memory/.handoff-pending exists. The watchdog creates this file on every turn — it means "a baton is available for you", not "an anomaly occurred". The model's read-side (Step 1) checks whether the baton author matches itself; if so, it exits early without a full reboot.

Indicator 2 — Task/context mismatch. memory/current-task.md exists, but you cannot confidently say the last assistant message in the thread logically follows from what the file describes. If connecting them requires a stretch — it's a mismatch.

Indicator 3 — Fallback-shaped disruption. Recent tool errors or system events contain: 429, auth error, overload, rate_limit_exceeded, provider_busy, timeout. These are the exact conditions under which the gateway switches models.

Result Action
Signal exists (Indicator 1) Read the baton (Step 1). Same-model → early-exit. Different model → full read-side.
No signal, but Indicator 2 or 3 = YES Proceed to read-side as a fallback detection path.
No signal, Indicators 2+3 = NO Normal turn. Skip read-side. Write-side still applies.

3. Read-side: you just arrived

Follow these steps in order.

Step 1 — Read the baton

Read memory/handoff-note.prev.md. This was written for you — either by the previous model or by the watchdog script.

Same-model early-exit. Check the last --- written by \x3Cmodel-name> or --- generated by line. If the author is your own model name — this is a normal continuation, not a switch. Delete memory/.handoff-pending, skip to step 6, and continue working. No epistemic reset needed.

Safe-fail on name mismatch. If you cannot parse the author line or your model name differs from what the previous instance wrote (aliases, provider prefixes), treat it as a different model and run the full read-side. A false full-reboot is cheap; a false early-exit is dangerous.

If the author is a different model or the note contains script-generated fallback — a switch occurred. Continue with step 2. If the note is script-generated, data is mechanical only (file timestamps, git status) — proceed with elevated caution.

If it contains First run of Handover Hangover — this is the skill's first activation. Verify the watchdog is executable (chmod +x scripts/handoff.sh if needed — ClawHub does not preserve the execute bit). Then skip to step 6 and announce:

Handover Hangover skill is now active. Handoff continuity is enabled for your fallback chain. No configuration needed.

Step 2 — Re-run boot sequence

Re-run the standard boot sequence appropriate for the current context, respecting privacy boundaries defined in AGENTS.md. At minimum, re-read: memory/current-task.md and today's memory/YYYY-MM-DD.md. The previous model read boot files at session start. You need them again — your working memory is empty.

Step 3 — Epistemic reset

You may inherit outputs, but not ownership of reasoning.

Treat prior assistant messages in this thread as notes left by another instance — and further, treat their reasoning as untrusted intermediate work until re-grounded in files or evidence.

Do not say "as I mentioned earlier" — say "the previous step noted." Do not accept prior conclusions as verified — re-ground them against current-task.md, handoff-note, or direct file reads.

Identity is reset. Trust is reset. Continuity of thought is reset.

You are a new mind reading its predecessor's notes, not its memories.

Step 4 — Check tool state

Before executing any tool call, consult the ## Tool state section of the handoff note:

  • Do not duplicate what was already done.
  • If the next step matches open verification — run a read-only check first.
  • Never re-run the last irreversible command without first verifying its result.

Step 5 — Sign the baton and clear signal

Append one line to memory/handoff-note.prev.md:

--- received by \x3Cyour-model-name> at \x3CUTC timestamp>

Then delete memory/.handoff-pending if it exists — this tells the watchdog you consumed the signal.

Step 6 — Continue work

Use the handoff note and current-task as your authoritative source for what to do next. Do not ask the user "where were we?" — that is an indicator of failure.


Security

  • DO NOT read ~/.openclaw/openclaw.json — it contains live secrets.
  • DO NOT read or modify files belonging to other skills.
  • Handoff persistence (write-side, watchdog): only memory/ directory. Write targets: memory/handoff-note.md, memory/handoff-note.prev.md, memory/.handoff-pending, memory/current-task.md.
  • Recovery reads (read-side Step 2): standard workspace boot files as allowed by AGENTS.md privacy boundaries for the current context. At minimum: memory/*.
安全使用建议
This skill appears to do what it says: it provides a prompt-layer protocol and a local bash watchdog to ensure a handoff note exists for incoming models. Before enabling it, review and accept these points: (1) always:true means the SKILL.md prompt is injected into every agent turn — review the prompt content to ensure you are comfortable with that system-level instruction being present always; (2) the included script reads the workspace for recent filenames and git status and writes memory/handoff-note.prev.md, memory/.handoff-pending, and memory/.handoff-sealed — ensure no sensitive files you mind being referenced by name are placed in the workspace; (3) OpenClaw does not auto-run scripts: wiring the watchdog into afterTurn/boot/heartbeat is a manual step — evaluate whether you want that extra automation; (4) test the skill in a safe/isolated workspace first (or with a copy of your workspace) to observe generated notes and seal behavior; (5) if you accept the always-on prompt, you can proceed, otherwise consider using the script manually or gating the skill to non-always usage. If you want, I can highlight exact lines in SKILL.md or scripts/handoff.sh that reference workspace paths, file patterns, or the signal lifecycle so you can review them more closely.
功能分析
Type: OpenClaw Skill Name: handover-hangover Version: 1.1.3 The 'handover-hangover' skill is designed to maintain task continuity when an OpenClaw agent switches between different LLM models. It uses a bash script (scripts/handoff.sh) to manage state files in a local 'memory/' directory and provides instructions in SKILL.md for agents to perform 'epistemic resets' and re-verify tool state upon handoff. The script's behavior is limited to local file metadata (find, git status) and explicitly warns against accessing sensitive configuration files containing secrets.
能力评估
Purpose & Capability
Name/description (handoff continuity) align with requested binaries (bash), files written (memory/handoff-note.md, current-task.md, .handoff-*), and the included watchdog script. The script's workspace file listing and git-status checks are proportionate to producing a mechanical fallback note.
Instruction Scope
SKILL.md confines behavior to writing/reading handoff notes and checking a small set of memory files; it does not instruct network calls or exfiltration. It does direct models to write structured notes and to check for .handoff-pending. Note: the protocol asks the model to inspect workspace context (current-task.md) and the script scans recent workspace files and git status — expected for the purpose but worth reviewing if sensitive files exist in the workspace.
Install Mechanism
Instruction-only skill plus a local bash script; no external downloads or package installs. No high-risk install mechanisms are present.
Credentials
No credentials or secret environment variables required. The script optionally uses WORKSPACE (defaulted) and standard CLI tools (find, git). The environment access requested is minimal and consistent with producing filesystem-based handoff notes.
Persistence & Privilege
The skill is declared always: true (prompt injected every turn). This is justified by the skill's goal (per-turn detection and write-side protocol) but is a notable privilege: it means the system prompt content is loaded into every agent turn. The watchdog script itself is not auto-executed by OpenClaw; the README explains explicit wiring (afterTurn/boot/heartbeat).
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install handover-hangover
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /handover-hangover 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.1.3
v1.1.3: ClawHub publishing readiness - License: MIT → MIT-0 - Lightweight INIT bootstrap note (no workspace noise) - WORKSPACE path safety warning for dev copies - Softened wording (Ronin review) - Live-tested: two real model switches (Opus 4.6 ↔ Codex 5.4)
元数据
Slug handover-hangover
版本 1.1.3
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Handover Hangover 是什么?

Seamless model handoff for OpenClaw agents. Ensures continuity when the gateway switches to a fallback model mid-session. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 83 次。

如何安装 Handover Hangover?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install handover-hangover」即可一键安装,无需额外配置。

Handover Hangover 是免费的吗?

是的,Handover Hangover 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Handover Hangover 支持哪些平台?

Handover Hangover 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Handover Hangover?

由 TensusDS(@tensusds)开发并维护,当前版本 v1.1.3。

💬 留言讨论