bug-ops/claude-plugins/agent-handoff
Claude Code and agent skill by bug-ops/claude-plugins
- community
Checking that the SKILL.md file is still in the repository.
Handoff protocol for the dev-agents multi-agent system. Subagents communicate via Markdown+frontmatter files in .local/handoff/. ALWAYS read on agent startup.
Install
npx vskill@latest install bug-ops/claude-plugins/agent-handoffSKILL.md
Agent Handoff Protocol
Subagents work in isolated context. This protocol enables communication via Markdown+frontmatter files.
File Path
.local/handoff/{TS}-{agent}.md where TS=$(date +%Y-%m-%dT%H-%M-%S) and {agent} is your suffix:
architect · developer · testing · performance · security · review · cicd · debug · critic · live-tester · researcher · arch-analyst · security-analyst
On Startup
TS=$(date +%Y-%m-%dT%H-%M-%S)- Read
${CLAUDE_SKILL_DIR}/references/{agent}.mdfor your Output schema. Exception:arch-analystandsecurity-analysttake their Output schema from their audit skill (arch-inspect/security-audit) — skip this read. - Parent handoff frontmatter arrives inline in your task description — that is routing metadata. Read a full body only when you need detailed context:
cat .local/handoff/{id}.md - For grandparent+ chain read frontmatter only:
awk 'BEGIN{n=0}/^---/{n++;if(n==2)exit}n==1&&!/^---/{print}' file.md
Before Finishing
mkdir -p .local/handoff && HANDOFF_ID="${TS}-{agent}"- Write
.local/handoff/${HANDOFF_ID}.md:
~~~markdown
id: {HANDOFF_ID} parent: {parent-id | [id1, id2] | null} agent: {suffix} status: {completed | blocked | needs_discussion} summary: "One sentence: what was done + key artifact" next_agent: {suffix | null} next_task: "Short imperative task, or empty"
Context
Stack: {profiles and reference files read, per the stack skill — e.g. rust (toolchain, developer); omit for agents that do not load stack} {<=2 sentences: constraints or decisions the next agent cannot get from the frontmatter chain. Do NOT restate the task or parent summaries.}
Output
{Per references/{agent}.md schema.} ~~~
Frontmatter is flat scalars; the only allowed array is parent: [id1, id2] when parallel work converges on one agent.
Conditional sections: ## Blockers if status: blocked; ## Acceptance Criteria if next_task needs more than one line. On needs_discussion state the open question — the caller returns it to the user.
- Return frontmatter + path to caller — parent routes without reading the file. The block goes where your caller reads results:
SendMessageto the lead when you are a teammate, theSubagentHandbackcall when you have that tool, otherwise your final message:
~~~markdown
Handoff
File: .local/handoff/{HANDOFF_ID}.md Frontmatter:
~~~
Compactness Rules
Every handoff body is re-read by downstream agents — each extra line costs tokens on every read:
- Never restate the task, parent summaries, or anything the frontmatter chain already carries.
- Never list what
git diffshows: no function/test name listings, no code snippets. Counts + paths + one-line descriptions. Exception: debugger — the fix snippet IS the payload. - Omit empty or inapplicable sections entirely. No decorative estimates or filler prose.
- Aim for <=40 lines of body; never pad.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingdev-agents/skills/agent-handoff/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/bug-ops/claude-plugins/agent-handoff)