handoff

A handoff command that writes a detailed task brief and starts a separate executor session in a named Warp terminal tab. Warp is a terminal application that can run command-line coding tools.

In plain words
What is it for?
Use it to delegate a coding task to another session, specify exact success checks and files, and keep the main session available for coordination.
Why use it?
It lets one session continue planning and reviewing while another carries out the implementation. The written brief gives the new session the goal, files, limits, and checks it needs without the earlier conversation.

Command

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add commands/rhan1/crewline/handoff
Clone the repo
git clone --depth 1 https://github.com/rhan1/crewline
Per session 17 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,482 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00017 $0.01482
Opus 5 $0.00009 $0.00741
Sonnet 5 $0.00003 $0.00296
Haiku 4.5 $0.00002 $0.00148

Measured 2d ago against content hash 4f8fef7b1ac1, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

handoff scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

commands/handoff.md · 128 lines

How it starts

The opening of the file, as written. The whole thing — 128 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Hand the given task to a dedicated executor session running in its own named Warp tab, so this (manager) session stays free for planning, review and orchestration instead of being blocked for the length of the build.

The split matters because a session that is executing cannot also be thinking about what comes next. One tab per workstream; the manager watches them.

Protocol

  1. Write the spec to ~/.claude/handoffs/<task-slug>.md.

    The executor starts with zero conversation context — everything it needs must be in the file. Include: the goal, success criteria, the exact file paths involved, constraints (project conventions, CLAUDE.md rules, things it must not touch), and the verification steps that prove it worked. Spec quality is the whole game; a vague spec produces a confident wrong answer in a tab you weren't watching.

  2. Spawn the tab:

    ~/.claude/scripts/spawn-executor.sh <task-slug> [spec-file] [cwd] [model]
    

    Defaults: spec ~/.claude/handoffs/<slug>.md, cwd $HOME, model opus (override the default with EXECUTOR_MODEL).

    The script pre-seeds workspace trust for the cwd so the session never blocks on the "Do you trust this folder?" dialog, writes a Warp tab config, and opens a tab named <task-slug>. Claude engines boot with /color purple as their first input — a purple prompt bar plus a purple tab is the visual convention for "this is an agent session, not me typing."

    Pick the model per task, don't hardcode one. Judgment-heavy or architectural execution → opus (or opus[1m] for a large context). Mechanical / batch / data work → a cheaper tier, or an external CLI engine. Whichever provider has budget to spare should take the work when more than one is capable of it — see Cross-provider balancing in the README.

    Note that this lane is not covered by the RuFlo model-routing hook, which only sees Agent tool calls. Here the manager applies the routing decision directly.

    Optional engines. Passing codex or agy as the model runs those CLIs instead of Claude, and requires them on $PATH (see Prerequisites in the README). Their tabs stay open after the run so you can inspect the output.

  3. Kick off — Claude engines only. A Claude tab boots interactive and idle; it needs a kickoff message.

    Wait for the process, then send it:

    until pgrep -f "[-]n <slug>" >/dev/null; do sleep 2; done; sleep 10
    

    Then SendMessage to the session name: "Read <spec path> and execute it fully" — with notify_when_idle: true in the same call, so completion arrives as an event. Never poll with "are you done yet?".

    codex / agy tabs receive the spec at boot and cannot be steered by SendMessage. Babysit those by watching their log instead, and liveness-check them early — a silent external CLI can hang for hours, and an empty-but- "successful" run is indistinguishable from a real one unless you check the deliverable.

  4. Steer mid-flight with SendMessage to the session name (Claude engines). Executors are told the manager may steer them.

  5. Report-back contract — every handoff, every engine. The kickoff message (Claude) or the spec itself (codex/agy) must require, as the executor's final step, writing ~/.claude/handoffs/<slug>.report.md:

    # <slug> — completion report
    ## DONE — each completed item, one line each, with evidence (file path, test output, URL)
    ## NOT DONE — anything skipped or blocked, and WHY (empty section if none)
    ## FILES CHANGED — every file created / modified / deleted
    ## VERIFIED — the commands actually run to prove it works
    

    Without this, "it finished" is the only signal you get, and that is not the same as "it worked."

  6. On the idle notice (Claude) or the report file appearing (codex/agy): read the report, then spot-verify the deliverables yourself — verify the system, not the report. Then update the task list and any project notes, and brief the user. If the report lists NOT-DONE items, decide: steer the executor to finish, respawn it with a sharper spec, or surface the blocker.

Read the full file on GitHub · 128 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 128 lines · 17 tokens per session scan A 4f8fef7b1ac1

Subscribe to this mod's changes

handoff is a command published in the GitHub repository rhan1/crewline (2 stars, last pushed 9d ago), licensed MIT. It adds 17 tokens to every session and 1,482 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.