# Team Handoff

Hand local work to a shared OpenClaw Gateway: start a worktree session there as...

- Repository: https://github.com/openclaw/agent-skills (1113 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add openclaw/agent-skills --skill team-handoff -g -a claude-code -y`
Codex: `npx skills add openclaw/agent-skills --skill team-handoff -g -a codex -y`
Cursor: `npx skills add openclaw/agent-skills --skill team-handoff -g -a cursor -y`
Gemini CLI: `npx skills add openclaw/agent-skills --skill team-handoff -g -a gemini-cli -y`

## Description

Hand local work to a shared OpenClaw Gateway: start a worktree session there as yourself in one request, seeded with a handoff, and get the session URL back.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Team Handoff

Use when the user says "open a session on the team server for this", "hand this
off to <team agent>", or "summarize this for a new agent and start it on
<gateway>", and the target is a shared OpenClaw Gateway behind an identity-aware
proxy (Cloudflare Access).

One Gateway request, as the operator's own identity. No browser automation, no
SSH, no polling.

Script: `scripts/team-handoff.sh`

## Setup (once per machine)

1. Operator config, outside any repo:
   `${XDG_CONFIG_HOME:-~/.config}/openclaw/team-handoff.env`

   ```sh
   OPENCLAW_HANDOFF_URL=https://gateway.example      # the shared Gateway's public origin
   OPENCLAW_HANDOFF_AGENT=main                        # default agent id on that Gateway
   OPENCLAW_HANDOFF_PROJECT=example-project           # default projects.list id
   # optional:
   # OPENCLAW_HANDOFF_CLI=/path/to/openclaw           # installed OpenClaw CLI (default: openclaw on PATH)
   # OPENCLAW_HANDOFF_PROFILE_DIR=~/.openclaw/profiles/team
   # OPENCLAW_HANDOFF_SSH_HOST=gateway-host           # operator fallback only; see below
   ```

2. Isolated CLI profile so the local Gateway config is never touched. The script
   writes it on first `probe` when missing: `OPENCLAW_STATE_DIR` and
   `OPENCLAW_CONFIG_PATH` point at the profile dir, whose `openclaw.json` holds
   only `gateway.mode: "remote"`, `gateway.remote.url`, and an `exec` secret
   provider that runs `cloudflared access token -app=<url>` for the
   `Cf-Access-Token` header (`gateway.remote.edgeAuth`, see the OpenClaw
   docs page "Remote access", section "Gateway behind an identity-aware proxy").
   The provider `command` must be the real `cloudflared` binary, not a symlink.

3. The human logs in once per Access session lifetime (agents cannot):

   ```sh
   cloudflared access login https://gateway.example
   ```

The rest: https://github.com/openclaw/agent-skills/blob/HEAD/skills/team-handoff/SKILL.md
