Agent skill

Seat Continuity and Handover

by mvschwarz in mvschwarz/openrig

Separates a stable agent seat's identity from its changing occupant, and records honest, two-part provenance whenever one occupant replaces another.

Apache-2.0Auto-check passedAgent Workflows

Install Seat Continuity and Handover

skills CLI
$ npx skills add mvschwarz/openrig --skill seat-continuity-and-handover -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install mvschwarz/openrig seat-continuity-and-handover --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/mvschwarz/openrig.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover .claude/skills/seat-continuity-and-handover && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
seat-continuity-and-handover
GitHub stars
6.8k
Token cost
~2.5k tokens
SKILL.md length
1,256 words
Files
4 (incl. references)
Skills in repo
49
Repo updated
First seen
Licence
Apache-2.0

At a glance

Separates a stable agent seat's identity from its changing occupant, and records honest, two-part provenance whenever one occupant replaces another.

  • Works in 2 steps: Occupant-creation primitives — resume,… → Seat-binding operations — handover binds…
  • Replacing an agent seat's occupant through a rebuild or handover
  • SKILL.md covers Use this when, Don't use this when, The two-outcome honesty model and Provenance record (durable,…, plus 8 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

This skill reasons about two different kinds of primitive in a multi-agent topology: occupant-creation primitives such as resume, fork, rebuild or fresh that produce a candidate new occupant, and seat-binding operations that decide whether that candidate actually gets bound into a stable seat. Its core decision is to keep seat identity stable and address-like while occupant identity stays fluid, recording lineage separately rather than encoding successive occupants into the seat's own name.

Every seat-binding operation produces two independent outcomes that are never collapsed into one: a continuity outcome (rebuilt, resumed, forked, fresh, or failed) and a seat-binding outcome (handed over, partial, failed, or unchanged), so a case like a candidate occupant being created successfully but the bind failing mid-flight is recorded honestly rather than papered over. Every handover writes a durable, queryable provenance record covering the seat id, old and new occupant ids, the creation mode used, source artifacts, whether the old occupant stays alive as an advisor or shadow, who initiated the change, and the final result.

It applies when replacing an existing occupant or choosing its disposition - retire, advise, or shadow - not when a seat is freshly created with no occupant to replace, and not when the goal is to change the topology's shape rather than swap who occupies a seat.

When your agent uses it

  • Replacing an agent seat's occupant through a rebuild or handover
  • Deciding what happens to an old occupant after a handover
  • Auditing why a seat's lineage looks the way it does

Example prompts

  • “Rebuild this seat's occupant and hand it over cleanly.”
  • “What should happen to the old occupant after this seat swap?”
  • “Audit the provenance record for why this seat's occupant changed.”

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. Occupant-creation primitives — resume, fork, rebuild, fresh — produce a candidate new occupant. Answer: "where did the new occupant come…
  2. Seat-binding operations — handover binds a candidate occupant into the topology. Answer: "what happened to the stable seat identity?"…

What it can do on your machine

Read from SKILL.md and the folder at commit bed4d45. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are yaml and bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Seat Continuity and Handover loads about 2.5k tokens when it runs, and up to ~6.3k if it reads all its reference files. Until then it costs about 97 tokens; SKILL.md has 1,256 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~97
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from mvschwarz/openrig at commit bed4d45, republished under its Apache-2.0 licence (© mvschwarz). 1,256 words, ~2,548 tokens.

Download SKILL.mdSave it as .claude/skills/seat-continuity-and-handover/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
seat-continuity-and-handover
description
Use when replacing a seat's occupant (rebuild/handover/swap), reasoning about stable-seat-identity vs fluid-occupant-identity, choosing an old-occupant disposition (retire/advise/shadow), or recording provenance for an occupant change. Two independent outcomes (continuityOutcome + seatBindingOutcome) and the 5 failure modes that prevent silent dishonesty.

Seat Continuity and Handover

A pair of primitive families that separate who is sitting in a seat from what the seat itself is:

  1. Occupant-creation primitives — resume, fork, rebuild, fresh — produce a candidate new occupant. Answer: "where did the new occupant come from?"
  2. Seat-binding operations — handover binds a candidate occupant into the topology. Answer: "what happened to the stable seat identity?" Inspect the current CLI for executable operations; design vocabulary alone does not establish a command.

Core architectural decision: stable seat identity, fluid occupant identity, explicit provenance. Do not encode successive occupants into live seat names. Keep the stable address and record lineage separately.

Use this when

  • Replacing a seat's occupant via rebuild, fork, fresh, or seat-handover
  • Choosing old-occupant disposition: retire / advise / shadow
  • Reasoning about whether a seat's lineage is stable or has drifted
  • Reading or writing the provenance record for a seat
  • Designing or auditing topology stability across an occupant change

Don't use this when

  • The seat is freshly created (no occupant to replace) — use rig launch / rig expand directly
  • The intent is to change topology shape (add/remove seats), not replace an occupant — use topology-mutation primitives

The two-outcome honesty model

Every seat-binding operation produces two independent outcomes:

yaml
continuityOutcome: rebuilt | resumed | forked | fresh | failed
seatBindingOutcome: handed_over | partial | failed | unchanged

These can disagree honestly. Examples:

  • continuityOutcome: failed + seatBindingOutcome: unchanged — new occupant didn't materialize; seat correctly retains old occupant.
  • continuityOutcome: rebuilt + seatBindingOutcome: failed — candidate created OK; bind failed mid-flight; provenance records the gap.

Don't collapse these into one outcome. The system can describe what actually happened only if the two are recorded independently.

Provenance record (durable, queryable)

Every handover writes:

  • seat id
  • old occupant id
  • new occupant id
  • creation mode (resume/fork/rebuild/fresh)
  • source artifacts used
  • whether old occupant remains alive as advisor/shadow
  • operator or loop that initiated the motion
  • timestamp
  • result (handed_over / partial / failed)

This is the system's truth-source for "how did the current occupant get there." Without it, the control plane shows the current occupant but not the legitimacy of the transition.

State models — independent

Occupant-creation state (per candidate)
  1. Requested — input to rebuild/fork/fresh/resume
  2. Realized — runtime/artifact path produced an occupant with managed-seat shape
  3. Failed — candidate didn't materialize; continuityOutcome: failed
Seat-binding state (per seat)
  1. Stable — current occupant attached, no in-flight binding
  2. Binding — handover in progress
  3. Bound — handover succeeded; provenance record written
  4. Unchanged — bind failed before completion; seat retains old occupant

A seat stays Stable even if multiple candidate-occupants were produced and discarded.

Failure modes (5)

  1. Candidate creation failed — rebuild couldn't synthesize from artifacts; fork couldn't resolve session_source; fresh couldn't launch. Action: bind operation does not begin; seat unchanged; provenance records the failed candidate-creation step.
  2. Old occupant cannot be detached cleanly — runtime hung, tmux locked, etc. Action: bind halts mid-flight; seat enters Binding state with explicit "halted" sub-status; operator alerted. Do NOT auto-rollback by reattaching old-occupant if detach didn't complete cleanly.
  3. Bind succeeded but provenance write failed — disk/db error. Action: not durable until provenance writes; treat as Binding halted, not Bound.
  4. Old occupant disposition unfulfillable — operator requested advise (keep alive as advisor) but runtime can't keep old alive. Action: degrade to retire with explicit notification, OR fail if operator passed strict-disposition flag.
  5. Concurrent handover attempts — two operations target the same seat. Action: serialize by seat-id lock; second attempt refuses with clear error.

Hard boundaries (do-not list; verbatim)

  • Do NOT collapse rebuild and seat handover into one primitive. The design specifically separates them so the system can describe what actually happened.

  • Do NOT introduce successor-suffix seat names (lead2/lead3). Stable seat identity is the architectural goal. The live address stays stable. A retired tenure is distinguished by its ledger generation and exact history token; preserving it does not require a renamed live pane.

  • Do NOT report seatBindingOutcome: handed_over if the provenance record didn't write durably.

  • Do NOT auto-rollback a half-completed handover by re-attaching the old occupant unless detach completed cleanly first.

Composition and current command surface

A fork can create a candidate occupant; handover binds it into an existing seat. The continuity outcome is forked; the binding outcome is independent.

The packaged rig handover <seat> and rig seat handover <seat> accept fresh, discovered:<id>, fork:<id> and rebuild sources. Use --dry-run to request planning only. Without it, these surfaces can execute; do not infer read-only behavior from the shorter seat command's planning-oriented description. rig seat status <seat> is the read-only observability surface.

Source support is declared by the running daemon and depends on actual identity, history and artifact prerequisites. Read the returned source, continuity, binding and provenance results independently. A help listing or dry-run is not proof of a successful transition. The linked cutover SOP supplies the operator mechanics and required effect checks after the named owner authorizes the action.

Show full SKILL.md (483 more words)Show less

Write the seat's recap before a handover

A rebuild primes the successor from the seat's durable artifacts, highest trust first:

  1. the authored RECAP.md;
  2. LEARNED.md;
  3. the latest restore packet, when one is marked;
  4. the superseded recaps.

A missing RECAP.md is recorded as a gap. The successor is directed to the remaining available artifacts in that order. So before a handover, a compaction or a long pause, the sitting occupant writes its recap alongside LEARNED.md:

sh
rig context recap-write --rig <rig> --seat <seat> --file <draft.md>
  • <seat> is the seat's folder under rigs/<rig>/seats/, the part of its session name before @.
  • The command reads topology.root and doesn't need the daemon.
  • Each write moves the previous recap into the seat's recap-superseded/ chain, which later rebuilds also read. Write through this command, not a file tool, so the chain is kept.

The store refuses the write, and writes nothing, when a section can't be addressed. Only H2 and H3 headings are sections. Addresses lowercase the title, remove Markdown formatting markers, replace remaining runs outside a-z/0-9 with a hyphen, and trim edge hyphens. Duplicate section paths, a nonblank H2/H3 title that normalizes to an empty slug, and an unclosed code fence are refused. A duplicate path is two H2s with the same address, or two H3s with the same address under one H2. Blank headings are retained as scope boundaries.

It writes, with an advisory on stderr, when:

  • no H2 or H3 title contains "decision";
  • a line mentions "unverified" without the exact marker UNVERIFIED:.

A recap that passes the first time has:

  • a short summary;
  • a ## Decisions, with reasons section, each decision with its reason;
  • what's in flight and who owns the next step;
  • an UNVERIFIED: line for each fact you haven't checked yourself.

Why load-bearing for RSI

Any recursive seat-refresh loop must be able to replace an occupant while keeping topology stable. Without these primitives, RSI loops will either accumulate suffixed seat names (lineage leaking into identity) or destabilize topology references on each cycle. Provenance must be durable AND queryable so RSI loops can decide whether a seat is fresh enough to receive new work or needs re-handover.

Managed binding and retained history

A retired advisor's history can remain available without a managed node or live pane. Query current binding and the lineage ledger separately: one answers who holds the seat, the other identifies the retained history and exact resume token. Do not infer that a predecessor is unreachable from registry absence alone, or that a preserved token proves a successful resume. Check the actual runtime and history when consultation is needed; see retiring-and-inheriting-a-seat.

See also

  • references/apprentice-successor-seat-cutover.md — the portable mechanic SOP used only after the owner-worded gate
  • references/orchestrator-role.md — the orchestration judgment, authority, custody, and receipt contract
  • references/apprentice-evidence-toolkit.md — optional evidence apparatus selected only when the stakes earn it
  • session-source-fork skill — fork occupant-creation primitive (sibling)
  • agent-starters skill — composes occupant-creation + binding into named reusable starting points
  • cross-host-rig-commands skill — remote addressing and transport; verify lifecycle support on the target

© mvschwarz, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (references) in packages/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover of mvschwarz/openrig.

  • SKILL.md
  • references/apprentice-evidence-toolkit.md
  • references/apprentice-successor-seat-cutover.md
  • references/orchestrator-role.md

Open the folder on GitHubat commit bed4d45

Compare with similar skills

Seat Continuity and Handover next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Seat Continuity and Handover compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Seat Continuity and Handover this skillmvschwarz/openrig6.8k—~2.5kAutomated safety check: PassApache-2.0
Orca CLIstablyai/orca89k2 repos~593Automated safety check: PassMIT
Paseo Agent Handoffgetpaseo/paseo20k1 repos~606Automated safety check: PassCustom licence
MemPalace Task HandoffMemPalace/mempalace60k—~1.9kAutomated safety check: PassMIT
Agent Manager Fleet TUIYoanWai/agent-manager582—~1kAutomated safety check: PassApache-2.0
Harness Engineering10xChengTu/harness-engineering1021 repos~1kAutomated safety check: PassNone

Similar skills

  • Orca CLI

    stablyai/orca

    Operate Orca-managed worktrees, folder contexts, terminals, repos, automations, artifacts, skill sharing, worktree comments, and Orca's embedded browser…

    89k GitHub starsUsed in 2 repos~593 tokens
    Agent WorkflowsAuto-check passed
  • Paseo Agent Handoff

    getpaseo/paseo

    Hands off the current task, including context, decisions and failed attempts, to a fresh agent through Paseo by writing a self-contained briefing prompt and launching that agent.

    20k GitHub starsUsed in 1 repo~606 tokens
    Agent WorkflowsAuto-check passed
  • MemPalace Task Handoff

    MemPalace/mempalace

    Creates, hands off, claims, executes and closes agent tasks through the MemPalace logstream, with approval of the exact task before it is recorded.

    60k GitHub stars~1.9k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Agent Manager Fleet TUI

    YoanWai/agent-manager

    Runs several coding-agent CLIs as real tmux sessions in one terminal UI, color-coded by whether each is working, waiting, idle or blocked.

    582 GitHub stars~1k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Harness Engineering

    10xChengTu/harness-engineering

    Set up and improve harness engineering (AGENTS.md, docs/, lint rules, eval systems, project-level prompt engineering) for AI-agent-friendly codebases.

    102 GitHub starsUsed in 1 repo~1k tokens
    Agent WorkflowsAuto-check passed
  • Runs a side question or brainstorm in a parallel thread so it does not derail the main agent's current work, then optionally hands the result back.

    207 GitHub stars~1.2k tokensUpdated today
    Agent WorkflowsAuto-check passed

More from mvschwarz/openrig

All 49 skills in this repo
  • OpenRig Upgrade Procedure

    mvschwarz/openrig

    Walks an agent through upgrading the OpenRig CLI and daemon one observed step at a time, keeping live seats alive and reconciling managed plugin files.

    6.8k GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Agent Refocusing

    mvschwarz/openrig

    Re-grounds a long-running agent in the current product outcome by running a path-based trace to the root of its topology and work trees.

    6.8k GitHub stars~864 tokensUpdated today
    Auto-check passed
  • OpenRig Software Factory

    mvschwarz/openrig

    Helps set up a continuing agent software team for a real repository with OpenRig, choosing between manual work, queue handoffs and an explicit Workflow.

    6.8k GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • Loads one section of a Markdown file by its path#h2-slug address with a bundled resolver script, for use outside OpenRig's context library.

    6.8k GitHub stars~341 tokensUpdated today
    Auto-check passed
  • Agent Starters

    mvschwarz/openrig

    Covers authoring, inspecting, refreshing, promoting and deprecating named Agent Starters, the reusable starting points for agent seats in a rig.

    6.8k GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Claude Compaction Restore

    mvschwarz/openrig

    Keeps a long-running Claude Code session's working picture alive across compactions by writing a restore map before compacting and rebuilding context from it afterward.

    6.8k GitHub stars~4.2k tokensUpdated today
    Auto-check passed

Categories

Questions about Seat Continuity and Handover

What does Seat Continuity and Handover do?

Separates a stable agent seat's identity from its changing occupant, and records honest, two-part provenance whenever one occupant replaces another. This skill reasons about two different kinds of primitive in a multi-agent topology: occupant-creation primitives such as resume, fork, rebuild or fresh that produce a candidate new occupant, and seat-binding operations that decide whether that candidate actually gets bound into a stable seat. Its core decision is to keep seat identity stable and address-like while occupant identity stays fluid, recording lineage separately rather than encoding successive occupants into the seat's own name.

When should I use Seat Continuity and Handover?

Seat Continuity and Handover fits situations like: replacing an agent seat's occupant through a rebuild or handover; deciding what happens to an old occupant after a handover; auditing why a seat's lineage looks the way it does.

How do I install Seat Continuity and Handover in Claude Code?

Run `npx skills add mvschwarz/openrig --skill seat-continuity-and-handover -a claude-code`. Or copy the skill folder (packages/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover in mvschwarz/openrig) into .claude/skills/seat-continuity-and-handover in your project. Claude Code loads it when a task matches its description.

How do I install Seat Continuity and Handover in Codex?

Run `npx skills add mvschwarz/openrig --skill seat-continuity-and-handover -a codex`. Or copy the skill folder (packages/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover in mvschwarz/openrig) into .agents/skills/seat-continuity-and-handover in your project. Codex loads it when a task matches its description.

Can I use Seat Continuity and Handover in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mvschwarz/openrig --skill seat-continuity-and-handover -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/seat-continuity-and-handover, .gemini/skills/seat-continuity-and-handover, .github/skills/seat-continuity-and-handover and .opencode/skills/seat-continuity-and-handover in your project.

What does Seat Continuity and Handover need to run?

SKILL.md names no scripts, command-line tools or credentials: Seat Continuity and Handover is instructions for the agent only.

Does Seat Continuity and Handover access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Seat Continuity and Handover safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Seat Continuity and Handover use?

Seat Continuity and Handover is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Seat Continuity and Handover use?

About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.8k tokens, read only when the agent opens those files.

What are the alternatives to Seat Continuity and Handover?

Skills that share tags, products or a category with Seat Continuity and Handover: Orca CLI (stablyai/orca, 89k stars), Paseo Agent Handoff (getpaseo/paseo, 20k stars), MemPalace Task Handoff (MemPalace/mempalace, 60k stars) and Agent Manager Fleet TUI (YoanWai/agent-manager, 582 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Seat Continuity and Handover?

mvschwarz (a GitHub user) maintains it in mvschwarz/openrig, which has 6,785 GitHub stars. The repository holds 49 skills in this directory. The repository was last updated on October 11, 2026.

Source: mvschwarz/openrig on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.