# Orchestrator Handoff

> Use when the user says "time for a handoff", "start a new orchestrator", asks to preserve session state, or context budget is tight during coordinated agent work. Inputs - current project, Solo process state, active todos/scratchpads/timers, open PRs/issues, recent git activity, and durable memory references. Do not use when the user only wants a brief status update or progress summary; answer that directly without producing a handoff artifact. Produces a read-only handoff scratchpad plus a paste-ready prompt for the next orchestrator session. Escalate if required state sources are unavailable, project identity is ambiguous, or the user wants agents stopped or repo state changed.

- Skill: `naoray/orchestrator-handoff` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add naoray/orchestrator-handoff`
- Raw SKILL.md: https://api.skillmd.com/api/skills/naoray/orchestrator-handoff/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: Naoray (https://skillmd.com/u/naoray)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/naoray/orchestrator-handoff

---


# Orchestrator Handoff

**Evidence tier**: P
**Basis**: Practitioner-backed session handoff, incident-transfer, and distributed coordination workflows.
**Source IDs**: Solo MCP scratchpad/process workflow; MemPalace durable-memory workflow; Naoray/skills orchestrator-handoff prior art.
**Reviewed**: 2026-05-12

Generate a handoff prompt when:
- User signals session-switch intent ("time for a handoff", "start a new orchestrator").
- Context window budget getting tight.
- In-flight work spans hours and benefits from a fresh PTY.

## What the handoff captures

Pull from three sources + synthesize into one prompt:

1. **Solo state** — `list_processes`, `todo_list completed=false`, `scratchpad_list`, open timers.
2. **Git/PR state** — `gh pr list`, `gh issue list`, `git log` on active branches.
3. **MemPalace durable memory** — `mempalace_search wing=<project>` for locked decisions, north star, rulebooks, drawers recorded this session.

## Output format

Write a scratchpad `handoff/<project-slug>-<YYYY-MM-DD>` with structure:

### Required sections

- **Session snapshot** — date, orchestrator pid (will change in new session), what was shipped today.
- **In-flight agents** — list of running solo process IDs + what they're doing + how to harvest them.
- **Active timers** — pending idle-timers on which processes.
- **Open PRs** — per-PR: URL, state, who needs to act, link to review scratchpad.
- **Open decisions** — user-facing questions queued, with options + orchestrator's lean.
- **Locked decisions (last 24h)** — with MemPalace drawer IDs for depth.
- **Active scratchpads** — which ones new orchestrator should preserve vs. can archive.
- **Next intended wave** — what the orchestrator would dispatch next if it continued.

### Optional sections (include when relevant)

- North star / project compass (cite drawer ID — don't duplicate content).
- Calibration data reference (task runtimes, reviewer reliability).
- Adopter context (who the users are, what they're waiting on).

## Process

1. Query `mcp__solo__whoami` for orchestrator pid.
2. Run state queries in parallel — `list_processes`, `todo_list`, `scratchpad_list`, `gh pr list`, `gh issue list`, `mempalace_search`.
3. Synthesize. Do NOT dump raw tool output — summarize.
4. Write scratchpad `handoff/<slug>`.
5. Print the consumable prompt — a condensed instruction the user pastes into a new Claude Code session that starts with `/orchestrator-mode` + `/solo-orchestration` invocation + references the handoff scratchpad.

## Rules

- Handoff is a READ-ONLY synthesis. Do not stop in-flight agents. Do not archive scratchpads. Do not close processes.
- Don't echo MemPalace drawer contents into the scratchpad — just reference the drawer IDs. Keeps scratchpad small + durable.
- Handoff scratchpad naming: `handoff/<project-slug>-<YYYY-MM-DD>`. If more than one per day, append `-hhmm`.

## Example trigger invocation

User says: "time for a handoff" → orchestrator invokes this skill → produces scratchpad + prints 400-word prompt → user copies prompt into a fresh orchestrator session.

