Handoff (shared)
Create temporary handoff documents and (optionally) propose/apply updates to permanent docs.
Shared vault layout
Root: $HOME/.openclaw/shared/ (Obsidian vault)
- Temporary handoffs:
$HOME/.openclaw/shared/handoff/<project>/<YYYY-MM-DD>/... - Permanent knowledge:
$HOME/.openclaw/shared/knowledge/<project>/...
Invocation
This skill is usually invoked via slash command (Telegram nativeSkills):
/handoff <project> [options](default mode)/handoff load <project> [--date YYYY-MM-DD](subcommand)
If native skill commands are unavailable, use: /skill handoff <input>.
Supported forms (v1)
This skill currently supports only two user-facing forms:
- Default:
/handoff <project> [options] - Load:
/handoff load <project> [--date YYYY-MM-DD]
Subcommand parsing rules (must follow)
- Treat the first token after
/handoffas either:- a
<project>(default mode), or - the literal subcommand
load.
- a
- Only
loadis supported as a subcommand in v1. - Any other token that looks like a subcommand (e.g.
integrity,list,help,:variants) must be treated as unsupported. In that case:- explain it’s unsupported,
- show the two supported forms above,
- ask the user to restate.
/handoff load behavior
Goal: help the user quickly locate the most relevant existing handoff doc for a project.
When invoked as /handoff load <project> [--date YYYY-MM-DD]:
- Search under:
$HOME/.openclaw/shared/handoff/<project>/ - Prefer checking an
INDEX.mdif present; otherwise search by recency. - If
--dateis provided, narrow to that date folder first. - Output:
- The best matching handoff path(s)
- A 3–8 bullet summary of what each file contains (read only)
- Ask whether to update an existing file or create a new one.
No file writes in load mode unless the user explicitly asks to update/create.
Inputs (suggested schema)
When the user provides options, interpret them like:
--newforce creating a new handoff file--updateprefer updating an existing relevant handoff file--logalso generate a matching_work_log.md--name <name>optional short name ("slug") for the file base name--permanent <target_doc_path>permanent-doc mode (ONLY propose updates unless--apply)--applyapply the proposed permanent-doc patch (requires explicit user confirmation)
If options are omitted:
- default is to search for a relevant existing handoff for the same
<project>and ask whether to update it or create a new one (default suggestion: update).
Critical principles (must follow)
Confirm before writing
Before any write or edit, you MUST:
- state the resolved absolute path(s) you intend to write, and
- ask the user to confirm.
Permanent docs: propose first
In --permanent mode you MUST:
- read the target doc if it exists,
- analyze its existing style/purpose,
- output a PROPOSED PATCH (clear section-level changes),
- STOP and ask for explicit confirmation.
Only after explicit confirmation AND --apply should you write/edit the file.
Focus of permanent docs
Permanent docs should capture long-term maintainable knowledge:
- architecture/procedures/debugging workflows
- the evolution of understanding (wrong assumptions → what became clear)
Temporary handoff doc requirements
A handoff doc is meant to be discarded after use. It must include:
- Title:
Project Handoff: <project> - Header note: temporary/discard after use
- Key document links (permanent docs). If any new permanent docs were created in THIS session, link them here and explain each link in 1 sentence.
- Session Goal
- Work Done (concise)
- Current Status (artifact/knowledge state, not actions)
- Next Steps (actionable)
- If
--logused: link to the work log file
Also include a YAML header for indexing:
---
type: handoff
temporary: true
project: <project>
date: <YYYY-MM-DD>
created_at: <ISO8601>
author: <agentId>
session: <sessionKey if available>
---
Work log document (only with --log)
Work log is detailed and command-ish:
- commands executed + key outputs
- files read/modified + summary of changes
- hypotheses/decisions/errors Avoid duplicating overview/goal/status/next steps from the handoff.
Implementation hints
- Prefer relative Obsidian-friendly links inside the vault when linking other vault docs.
- Each project should keep:
$HOME/.openclaw/shared/handoff/<project>/INDEX.mdpointing to recent handoffs. - If no
<project>exists yet, propose creating the project folder + INDEX.md and ask for confirmation before writing. - Ask the user if anything is unclear before proceeding when requirements are ambiguous.