Orca CLI
stablyai/orca
Operate Orca-managed worktrees, folder contexts, terminals, repos, automations, artifacts, skill sharing, worktree comments, and Orca's embedded browser…
Design and implement agent-to-agent handoff protocols for multi-agent systems.
$ npx skills add cosmicstack-labs/mercury-agent-skills --skill agent-handoff-protocols -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install cosmicstack-labs/mercury-agent-skills agent-handoff-protocols --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/cosmicstack-labs/mercury-agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/categories/ai-ml/agent-handoff-protocols .claude/skills/agent-handoff-protocols && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "agent-handoff-protocols" agent skill from https://github.com/cosmicstack-labs/mercury-agent-skills/tree/main/categories/ai-ml/agent-handoff-protocols into .claude/skills/agent-handoff-protocols/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-handoff-protocols", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/cosmicstack-labs/mercury-agent-skills/tree/main/categories/ai-ml/agent-handoff-protocolsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add cosmicstack-labs/mercury-agent-skills --skill agent-handoff-protocols -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install cosmicstack-labs/mercury-agent-skills agent-handoff-protocols --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cosmicstack-labs/mercury-agent-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/categories/ai-ml/agent-handoff-protocols .agents/skills/agent-handoff-protocols && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "agent-handoff-protocols" agent skill from https://github.com/cosmicstack-labs/mercury-agent-skills/tree/main/categories/ai-ml/agent-handoff-protocols into .agents/skills/agent-handoff-protocols/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-handoff-protocols", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add cosmicstack-labs/mercury-agent-skills --skill agent-handoff-protocols -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install cosmicstack-labs/mercury-agent-skills agent-handoff-protocols --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cosmicstack-labs/mercury-agent-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/categories/ai-ml/agent-handoff-protocols .cursor/skills/agent-handoff-protocols && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "agent-handoff-protocols" agent skill from https://github.com/cosmicstack-labs/mercury-agent-skills/tree/main/categories/ai-ml/agent-handoff-protocols into .cursor/skills/agent-handoff-protocols/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-handoff-protocols", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/cosmicstack-labs/mercury-agent-skills.git --path categories/ai-ml/agent-handoff-protocols--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add cosmicstack-labs/mercury-agent-skills --skill agent-handoff-protocols -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install cosmicstack-labs/mercury-agent-skills agent-handoff-protocols --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cosmicstack-labs/mercury-agent-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/categories/ai-ml/agent-handoff-protocols .gemini/skills/agent-handoff-protocols && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "agent-handoff-protocols" agent skill from https://github.com/cosmicstack-labs/mercury-agent-skills/tree/main/categories/ai-ml/agent-handoff-protocols into .gemini/skills/agent-handoff-protocols/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-handoff-protocols", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install cosmicstack-labs/mercury-agent-skills agent-handoff-protocolsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add cosmicstack-labs/mercury-agent-skills --skill agent-handoff-protocols -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/cosmicstack-labs/mercury-agent-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/categories/ai-ml/agent-handoff-protocols .github/skills/agent-handoff-protocols && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "agent-handoff-protocols" agent skill from https://github.com/cosmicstack-labs/mercury-agent-skills/tree/main/categories/ai-ml/agent-handoff-protocols into .github/skills/agent-handoff-protocols/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-handoff-protocols", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add cosmicstack-labs/mercury-agent-skills --skill agent-handoff-protocols -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install cosmicstack-labs/mercury-agent-skills agent-handoff-protocols --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cosmicstack-labs/mercury-agent-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/categories/ai-ml/agent-handoff-protocols .opencode/skills/agent-handoff-protocols && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "agent-handoff-protocols" agent skill from https://github.com/cosmicstack-labs/mercury-agent-skills/tree/main/categories/ai-ml/agent-handoff-protocols into .opencode/skills/agent-handoff-protocols/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-handoff-protocols", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
agent-handoff-protocolsDesign and implement agent-to-agent handoff protocols for multi-agent systems.
Agent Handoff Protocols is an agent skill from cosmicstack-labs/mercury-agent-skills. Design and implement agent-to-agent handoff protocols for multi-agent systems. Covers context passing, escalation patterns, handshake mechanisms, conversation continuity, and routing between specialized agents in production workflows.
Its SKILL.md is about 4.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows, covering Multi-agent orchestration. The repository describes itself as: A curated registry of reusable Mercury Agent, Open Claw or Hermes Agent skills designed for real developer workflows, persistent memory, and token-efficient execution. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 30392fb. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are python).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Agent Handoff Protocols loads about 4.1k tokens when it runs. Until then it costs about 65 tokens; SKILL.md has 355 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from cosmicstack-labs/mercury-agent-skills at commit 30392fb, republished under its MIT licence (© cosmicstack-labs). 355 words, ~4,103 tokens.
.claude/skills/agent-handoff-protocols/SKILL.md (or your agent's skills folder).In a multi-agent system, agents need to hand off tasks — and context — to each other seamlessly. A broken handoff means lost context, frustrated users, and failed workflows. This skill covers structured protocols for passing control between agents, handling escalations, and maintaining continuity across agent boundaries.
| Scenario | From | To | Why |
|---|---|---|---|
| Escalation | Tier-1 agent | Tier-2 specialist | Task exceeds capability |
| Specialization | Router agent | Domain expert | Task matches expertise |
| Supervision | Sub-agent | Supervisor | Needs approval or guidance |
| Recovery | Failed agent | Fallback agent | Primary agent broken |
| Load shedding | Overloaded agent | Idle agent | Balance workload |
| Type | Description | Latency | Risk |
|---|---|---|---|
| Warm Handoff | Full context + current state passed explicitly | Medium | Low — all state transferred |
| Cold Handoff | Only task description passed, receiving agent starts fresh | Low | High — context loss |
| Supervised Handoff | Supervisor mediates, validates, then transfers | High | Very Low — human/LLM checks |
| Broadcast Handoff | All agents notified, first capable claims | Medium | Medium — race conditions |
| Delegation Handoff | Sender waits for result | High | Low — synchronous, traceable |
from dataclasses import dataclass, field
from typing import Any, Optional
from enum import Enum
import json
import time
class HandoffReason(Enum):
ESCALATION = "escalation"
SPECIALIZATION = "specialization"
RECOVERY = "recovery"
LOAD_SHEDDING = "load_shedding"
SUPERVISION = "supervision"
@dataclass
class HandoffContext:
"""Complete context transferred between agents."""
# Identity
source_agent: str
target_agent: str
handoff_id: str
# The task
task_id: str
original_task: str
current_state: str # What has been done so far
# Conversation history (condensed)
conversation_summary: str
key_facts: list[str] = field(default_factory=list)
decisions_made: list[str] = field(default_factory=list)
# State
collected_data: dict[str, Any] = field(default_factory=dict)
confidence: float = 1.0 # How confident source was in resolution
reason: HandoffReason = HandoffReason.SPECIALIZATION
# Metadata
created_at: float = None
expires_at: Optional[float] = None
def __post_init__(self):
if self.created_at is None:
self.created_at = time.time()
def serialize(self) -> str:
"""Serialize to JSON for transport."""
return json.dumps({
"source_agent": self.source_agent,
"target_agent": self.target_agent,
"handoff_id": self.handoff_id,
"task_id": self.task_id,
"original_task": self.original_task,
"current_state": self.current_state,
"conversation_summary": self.conversation_summary,
"key_facts": self.key_facts,
"decisions_made": self.decisions_made,
"collected_data": self.collected_data,
"confidence": self.confidence,
"reason": self.reason.value,
"created_at": self.created_at,
})
@classmethod
def deserialize(cls, data: str) -> "HandoffContext":
"""Deserialize from JSON."""
obj = json.loads(data)
obj["reason"] = HandoffReason(obj["reason"])
return cls(**obj)class HandoffProtocol:
"""Standard handoff protocol between agents."""
def __init__(self, registry):
self.registry = registry # Agent registry
self.active_handoffs: dict[str, HandoffContext] = {}
async def initiate_handoff(self, context: HandoffContext) -> str:
"""Begin a handoff to another agent."""
# 1. Validate target agent exists
target = self.registry.get_agent(context.target_agent)
if not target:
raise ValueError(f"Unknown target agent: {context.target_agent}")
# 2. Check target is ready
if not await target.is_ready():
# Fallback: try next available or escalate
return await self._handle_unavailable_target(context)
# 3. Store handoff context
self.active_handoffs[context.handoff_id] = context
# 4. Prepare receiving agent
await target.prepare_for_handoff(context)
# 5. Execute handoff
result = await target.receive_handoff(context)
# 6. Cleanup
self.active_handoffs.pop(context.handoff_id, None)
return result
async def _handle_unavailable_target(self, context: HandoffContext) -> str:
"""Handle case where target agent is unavailable."""
# Try finding an alternative
alternatives = self.registry.find_alternatives(
context.target_agent
)
if alternatives:
context.target_agent = alternatives[0]
return await self.initiate_handoff(context)
# No alternatives — emergency escalation
return await self._emergency_escalation(context)
async def acknowledge_handoff(self, handoff_id: str,
accepted: bool, message: str = ""):
"""Target agent acknowledges (accepts or rejects) a handoff."""
context = self.active_handoffs.get(handoff_id)
if not context:
raise ValueError(f"Unknown handoff: {handoff_id}")
if accepted:
context.source_agent = context.target_agent # Transfer identity
return {"status": "accepted", "context": context}
else:
# Handoff rejected — source must retry or escalate
return {"status": "rejected", "reason": message}class HandoffReceiver:
"""Mixin for agents that can receive handoffs."""
def __init__(self):
self.handoff_buffer: dict[str, HandoffContext] = {}
self.current_handoff: Optional[HandoffContext] = None
async def prepare_for_handoff(self, context: HandoffContext):
"""Prepare to receive a handoff (pre-load context)."""
self.handoff_buffer[context.handoff_id] = context
async def receive_handoff(self, context: HandoffContext) -> str:
"""Accept and process an incoming handoff."""
self.current_handoff = context
# Build system prompt with transferred context
handoff_prompt = self._build_handoff_prompt(context)
# Run the agent with the prepared context
result = await self.run(
context.original_task,
system_override=handoff_prompt
)
self.current_handoff = None
return result
def _build_handoff_prompt(self, context: HandoffContext) -> str:
"""Build system prompt with full handoff context."""
facts = "\n".join(f"- {f}" for f in context.key_facts)
decisions = "\n".join(f"- {d}" for d in context.decisions_made)
return f"""You are taking over from {context.source_agent}.
## Current Task
{context.original_task}
## What Has Been Done
{context.current_state}
## Key Facts Discovered
{facts}
## Decisions Made So Far
{decisions}
## Collected Data
{json.dumps(context.collected_data, indent=2)}
## Reason for Handoff
{context.reason.value}
Your job is to continue from where {context.source_agent} left off.
Do not redo work that has already been completed."""class EscalationChain:
"""Define and execute escalation paths for handoffs."""
def __init__(self, protocol: HandoffProtocol):
self.protocol = protocol
self.chains = {} # agent_type -> escalation path
def define_chain(self, agent_type: str, chain: list[str]):
"""Define escalation chain (e.g., support -> billing -> manager)."""
self.chains[agent_type] = chain
async def escalate(self, context: HandoffContext,
reason: str) -> str:
"""Escalate along the defined chain."""
chain = self.chains.get(context.source_agent, [])
if not chain:
# End of chain — human escalation
return await self._escalate_to_human(context, reason)
next_agent = chain[0]
context.reason = HandoffReason.ESCALATION
context.target_agent = next_agent
context.current_state += f"\n[Escalated: {reason}]"
# Update chain (remove current level)
self.chains[context.source_agent] = chain[1:]
return await self.protocol.initiate_handoff(context)
async def _escalate_to_human(self, context: HandoffContext,
reason: str) -> str:
"""When all agents exhausted, escalate to human."""
ticket = {
"handoff_id": context.handoff_id,
"task": context.original_task,
"context": context.serialize(),
"reason": reason,
"timestamp": time.time()
}
# Send to human operator queue
await human_operator_queue.send(ticket)
return f"Escalated to human operator. Ticket: {ticket['handoff_id']}"class ConversationContinuity:
"""Maintain conversation thread across multiple agent handoffs."""
def __init__(self, storage):
self.storage = storage
async def log_turn(self, conversation_id: str, agent: str,
message: str, role: str):
"""Log a single turn in a conversation thread."""
entry = {
"conversation_id": conversation_id,
"agent": agent,
"role": role,
"message": message,
"timestamp": time.time()
}
await self.storage.append(
f"conversations:{conversation_id}",
entry
)
async def get_history(self, conversation_id: str,
limit: int = 50) -> list[dict]:
"""Get conversation history across agent handoffs."""
return await self.storage.query(
f"conversations:{conversation_id}",
limit=limit
)
def build_continuity_prompt(self, history: list[dict],
current_agent: str) -> str:
"""Build a continuity prompt for the receiving agent."""
previous_agents = set(
entry["agent"] for entry in history
if entry["agent"] != current_agent
)
return f"""This conversation has involved: {', '.join(previous_agents)}.
## Previous Exchanges
{self._format_history(history)}
Continue naturally. If asked about something handled by a previous agent,
reference that conversation."""
def _format_history(self, history: list[dict]) -> str:
formatted = []
for entry in history[-10:]: # Last 10 exchanges
tag = f"[{entry['agent']}]" if entry['role'] == 'assistant' else "[User]"
formatted.append(f"{tag}: {entry['message'][:200]}")
return "\n".join(formatted)class HandoffDecider:
"""Decide whether and where to hand off based on current state."""
def __init__(self, llm, rules: list[dict]):
self.llm = llm
self.rules = rules # Handoff trigger rules
async def should_handoff(self, agent, task: str,
current_state: dict) -> tuple[bool, str, str]:
"""Determine if handoff is needed and where to send."""
# Check explicit rules first
for rule in self.rules:
if self._matches_rule(rule, agent, task, current_state):
return True, rule["target"], rule["reason"]
# If no rules match, ask LLM
decision = await self.llm.generate(
f"""Current agent: {agent.name}
Current task: {task}
Current state: {json.dumps(current_state, indent=2)}
Available agents: {', '.join(self._list_available_agents())}
Should this be handed off to another agent? If so, which one and why?
Respond in JSON: {{"handoff": true/false, "target": "agent_name", "reason": "why"}}""",
temperature=0
)
try:
result = json.loads(decision)
return result["handoff"], result.get("target"), result.get("reason")
except (json.JSONDecodeError, KeyError):
return False, None, None
def _matches_rule(self, rule: dict, agent, task: str,
state: dict) -> bool:
"""Check if a handoff rule matches current conditions."""
if "keywords" in rule:
if any(kw in task.lower() for kw in rule["keywords"]):
return True
if "confidence_threshold" in rule:
if state.get("confidence", 1.0) < rule["confidence_threshold"]:
return True
if "max_steps" in rule:
if state.get("steps", 0) > rule["max_steps"]:
return True
return False ┌───────────────────┐
│ User/System Task │
└─────────┬─────────┘
│
┌─────────▼─────────┐
│ Router Agent │
│ (Intent Classify) │
└──┬────┬────┬──────┘
│ │ │
┌────────▼┐ ┌─▼──┐ ┌▼────────┐
│ Support │ │Billing│Research │
│ Agent │ │Agent │ Agent │
└──┬───────┘ └─────┘ └─────────┘
│
Handoff Decision?
│
┌─────┴─────┐
│ │
Continue Escalate
│ │
│ ┌─────▼──────┐
│ │ Specialist │
│ │ Agent │
│ └─────┬──────┘
│ │
│ Still Stuck?
│ │
│ ┌─────▼──────┐
│ │ Human │
└─────┘ Operator │
└────────────┘| Phrase | Action |
|---|---|
| "Hand off to [agent]" | Initiate warm handoff to specified agent |
| "Escalate this" | Push up the escalation chain |
| "Take over from [agent]" | Receive a handoff with full context |
| "What's the handoff history?" | Show all handoffs for this conversation |
| "Transfer context to [agent]" | Send full context to another agent |
| "This needs a specialist" | Trigger routing to domain expert |
| "Agent [x] is stuck" | Initiate recovery handoff to fallback |
| "Show active handoffs" | List all in-progress handoffs |
| Anti-Pattern | Why It Fails | Fix |
|---|---|---|
| Cold handoffs with no context | Receiving agent starts blind | Always pass HandoffContext |
| Handoff loops | Agents keep passing back and forth | Set max handoff count per task |
| Synchronous blocking | Calling agent waits forever | Timeout + fallback path |
| No handoff validation | Target agent can't handle the task | Verify capability before transfer |
| Ignoring handoff failures | Lost tasks with no trace | Dead-letter queue for failed handoffs |
| Unlimited escalation chain | Task bounces forever | Max escalation depth (3-5 levels) |
© cosmicstack-labs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in categories/ai-ml/agent-handoff-protocols of cosmicstack-labs/mercury-agent-skills.
Open the folder on GitHubat commit 30392fb
Agent Handoff Protocols next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Agent Handoff Protocols this skillcosmicstack-labs/mercury-agent-skills | 476 | — | ~4.1k | Automated safety check: Pass | MIT | |
| Orca CLIstablyai/orca | 87k | 2 repos | ~593 | Automated safety check: Pass | MIT | |
| Paseo Advisor Second Opiniongetpaseo/paseo | 20k | 1 repos | ~756 | Automated safety check: Pass | Custom licence | |
| O2 Review Loopopenobserve/openobserve | 22k | — | ~3.7k | Automated safety check: Pass | AGPL-3.0 | |
| Paseo Committeegetpaseo/paseo | 20k | 1 repos | ~496 | Automated safety check: Pass | Custom licence | |
| Mission Control Agent APIbuilderz-labs/mission-control | 6.3k | — | ~2.1k | Automated safety check: Pass | MIT |
stablyai/orca
Operate Orca-managed worktrees, folder contexts, terminals, repos, automations, artifacts, skill sharing, worktree comments, and Orca's embedded browser…
getpaseo/paseo
Launches one separate agent through Paseo to give a second opinion on the current task, with a self-contained briefing and no permission to edit files.
openobserve/openobserve
Splits a change into planner, coder and independent reviewer roles: you confirm a spec, a subagent implements it, and a separate reviewer checks each round's local WIP commit.
getpaseo/paseo
Forms a two-agent committee with contrasting profiles to analyze a stuck problem in parallel, reconcile their views and return a consensus plan without editing files.
builderz-labs/mission-control
Teaches an agent to use the Mission Control dashboard API: register, send heartbeats, fetch assigned tasks, report progress and disconnect, with API key auth.
getpaseo/paseo
Hands off the current task, including context, decisions and failed attempts, to a fresh agent through Paseo by writing a self-contained briefing prompt and launching that agent.
cosmicstack-labs/mercury-agent-skills
Use this before implementing a product, feature, SaaS, AI app, or side project to score product risk and choose the smallest validation step.
cosmicstack-labs/mercury-agent-skills
HyperFrames CLI dev loop — project scaffolding, validation (lint/inspect), browser preview with live reload, MP4/WebM rendering, and environment troubleshooting (doctor, browser, info, upgrade).
cosmicstack-labs/mercury-agent-skills
Asset preprocessing for HyperFrames compositions — local text-to-speech narration (Kokoro-82M, no API key), audio/video transcription (Whisper), and background removal for transparent overlays…
cosmicstack-labs/mercury-agent-skills
Monitor AI agent health, detect anomalies, set up alerting, and maintain observability dashboards for production multi-agent systems.
cosmicstack-labs/mercury-agent-skills
Design and operate task delegation systems for multi-agent fleets.
cosmicstack-labs/mercury-agent-skills
Convert Markdown to publication-quality PDF with reportlab — CJK/Latin mixed text, themes, cover pages, watermarks, callouts, formulas, and interactive theme selection
Categories
Design and implement agent-to-agent handoff protocols for multi-agent systems. Agent Handoff Protocols is an agent skill from cosmicstack-labs/mercury-agent-skills. Design and implement agent-to-agent handoff protocols for multi-agent systems.
Agent Handoff Protocols fits situations like: tasks that involve Multi-agent orchestration.
Run `npx skills add cosmicstack-labs/mercury-agent-skills --skill agent-handoff-protocols -a claude-code`. Or copy the skill folder (categories/ai-ml/agent-handoff-protocols in cosmicstack-labs/mercury-agent-skills) into .claude/skills/agent-handoff-protocols in your project. Claude Code loads it when a task matches its description.
Run `npx skills add cosmicstack-labs/mercury-agent-skills --skill agent-handoff-protocols -a codex`. Or copy the skill folder (categories/ai-ml/agent-handoff-protocols in cosmicstack-labs/mercury-agent-skills) into .agents/skills/agent-handoff-protocols in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add cosmicstack-labs/mercury-agent-skills --skill agent-handoff-protocols -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/agent-handoff-protocols, .gemini/skills/agent-handoff-protocols, .github/skills/agent-handoff-protocols and .opencode/skills/agent-handoff-protocols in your project.
SKILL.md names no scripts, command-line tools or credentials: Agent Handoff Protocols is instructions for the agent only. Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Agent Handoff Protocols is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.1k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Agent Handoff Protocols: Orca CLI (stablyai/orca, 87k stars), Paseo Advisor Second Opinion (getpaseo/paseo, 20k stars), O2 Review Loop (openobserve/openobserve, 22k stars) and Paseo Committee (getpaseo/paseo, 20k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
cosmicstack-labs (a GitHub organization) maintains it in cosmicstack-labs/mercury-agent-skills, which has 476 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on August 25, 2026.
Source: cosmicstack-labs/mercury-agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.