Skip to content
Development
Command

/handoff

Generate a self-contained hand-off brief so ANOTHER agent (a fresh session, Codex, Antigravity, any external reviewer) can pick up the exact state and review it - a plan, a branch, the last commits, a PR, or one file - or implement an approved plan (--execute). Prints one

From plugin
lets-workflow
1726 skills15 agents26 commands
> /plugin marketplace add restarter/lets-workflow
> /plugin install lets@lets-workflow

Command definition

handoff.md
description: Generate a self-contained hand-off brief so ANOTHER agent (a fresh session, Codex, Antigravity, any external reviewer) can pick up the exact state and review it - a plan, a branch, the last commits, a PR, or one file - or implement an approved plan (--execute). Prints one pasteable brief, or delivers it (--send types it into an agent's Orca tab, --open opens a new Codex tab for it, --codex runs it through Codex headless) and brings the report back, verified against the code.
argument-hint: "[PR-url-or-number|--pr <id>|--local|--staged|--last-commit|--branch|--plan [<path>]|--file <path>|--commits <N>|--range <a>..<b>] [--spec <path>|none] [--execute] [--send [<tab>]|--open [<agent>]|--codex] [--fix]"

Handoff - Brief for Another Agent

Produce ONE message the user copies into another agent. That agent has NO context: not this conversation, not the task, not even which repo. The brief must be complete on its own.

  • The brief is the deliverable - review nothing yourself and edit no file of the repository (`--fix` is the one exception); `--send` / `--open` / `--codex` hand it on and bring the report back (Step 7)
  • `--execute` turns a plan's brief from "review this" into "implement this": the receiving agent writes code and commits, this session still edits nothing (Step 5b)
  • `--fix` applies the report's verified fixes in THIS session when nothing needs deciding (7.4, the `apply-fixes` skill); the user typing it is the write authorization for that run - edits only, never a commit
  • Target selectors mirror `/lets:review`, so the same flag reviews here or hands off there; works in any git repo, with or without LETS

> **IMPORTANT:** If the spec below invokes any deferred tool (e.g. `AskUserQuestion`), you MUST load and call it as specified. Never skip the call, never substitute a default answer of your own — the tool invocation is part of the contract. This is critical.

Usage

/lets:handoff                      # infer the target from context; asks only if genuinely ambiguous
/lets:handoff <PR-url-or-number>   # GitHub or Bitbucket PR
/lets:handoff --pr <id-or-url>     # alias of the bare form above
/lets:handoff --local              # uncommitted changes
/lets:handoff --staged             # staged changes only
/lets:handoff --last-commit        # last commit
/lets:handoff --branch             # full branch vs the merge branch (three-dot, like a PR)
/lets:handoff --plan               # newest plan in .lets/plans/
/lets:handoff --plan <path>        # a specific plan file
/lets:handoff --file <path>        # one file
/lets:handoff --commits <N>        # handoff-only: the last N commits (a fix round)
/lets:handoff --range <a>..<b>     # handoff-only: an explicit range
/lets:handoff --spec <path>        # what the reviewer judges against (or a bare task id)
/lets:handoff --spec none          # deliberately no spec - no spec line, no caveat
/lets:handoff --plan --codex              # run the brief through Codex headless (read-only), relay + verify its report
/lets:handoff --branch --send             # type the brief into an agent tab of this worktree (pick one)
/lets:handoff --branch --send antigravity # ... the Antigravity tab (an agent name, or a fragment of the tab title)
/lets:handoff --plan --open               # a new Codex tab (read-only) in this worktree gets the brief
/lets:handoff --execute --send codex      # the open Codex tab implements the newest plan of this task
/lets:handoff --execute --plan <path> --send   # ... a specific plan; pick the tab
/lets:handoff --branch --codex --fix      # ... then apply the verified fixes here when nothing needs deciding

Selectors match `/lets:review`, with two deliberate differences: `--commits` / `--range` are **handoff-only** (review has no target for "the commits that answer a review round"), and `--pr` is kept as an alias because it is the spelling this tool shipped with. Review's output modifiers `--json` and `--workflow` are **not** implemented here.

`--send [<tab>]`, `--open [<agent>]` and `--codex` are the three delivery lanes (Step 7) - an open agent tab, a new visible session, a headless background run - combinable with any target and mutually exclusive. `--execute` is a brief kind, not a lane: it takes only a plan and goes only through `--send` (Step 1). `--fix` is a relay modifier: it needs a lane and a review brief (Step 1). `/lets:review-handoff` is a deprecated alias of this command (the old name), to be removed in a future release.

Step 1: Determine the target

  • Delivery modifiers first: `--codex`, `--send [<tab>]` (`<tab>` = the next token when it does not start with `--`: a `term_` handle, an agent name such as `codex` / `antigravity`, or a fragment of the tab title), `--open [<agent>]` (`<agent>` = the next token when it does not start with `--`; default `codex`), the brief kind `--execute`, and the relay modifier `--fix`. Strip them, then apply the target rules to the rest.
  • PR URL/number, or `--pr <id-or-url>` -> **PR mode**. `--local` / `--staged` / `--last-commit` / `--branch` / `--commits N` / `--range a..b` -> **local mode**. `--plan [path]` -> **plan mode**. `--file <path>` -> **file mode**.
  • **Host resolution.** A `github.com` URL -> `gh`; a `bitbucket.org` URL -> `bbb`, whose PR number sits in the `/pull-requests/<n>` segment, not github's `/pull/<n>`; a bare number -> `{LETS_PR_FLOW}`. **When `{LETS_PR_FLOW}` is empty** - the normal state outside a LETS project, where the hook emits only four keys - fall through to the forge named by the `origin` URL Step 2 prints. Only when neither names a github or bitbucket host: stop and say a PR hand-off needs one.
  • **No argument -> infer, do not ask by default.** Take the target from the user's sentence next to the command ("цих правок" -> the just-committed fixes; "цієї гілки" -> `--branch`; "план" -> `--plan`; "коміта" -> `--last-commit`) and from what just happened in the session. Only when genuinely ambiguous, ask **one** `AskU
Read more
@restarter
Ships withlets-workflow

A development workflow plugin for Claude Code Stop babysitting your AI. Start shipping with it.

1725 skills15 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
17
Star history of restarter/lets-workflow on GitHub, a chart by star-history.com

Other commands on lets-workflow.

backlog

backlog

Command

Backlog review and cleanup - multi-agent backlog review, quick no-agent pulse (--fast), or interactive triage cleanup

end

end

Command

End a work session - a settlement pass that reconciles uncommitted / unpushed work + session context into git, the tracker, and a…

execute

execute

Command

Execute implementation plan from /lets:plan - inline in native plan mode, or delegated to named implementer subagents you review…

More commands from other plugins.

build
Auto-invoked

build

Command

Implement tasks incrementally — build, test, verify, commit. Add "auto" to run the whole plan in one approved pass.

@addyosmani@addyosmaniInstall Command