ConnectOnion is an open-source, template-first toolkit for building, debugging, deploying, and operating AI agents. Developers use its command-line tools and Python runtime to create agents, add tools, connect services, deploy them, and make them callable by other agents, while the catalogue entries are related agents, skills, and instructions.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add openonion/connectonion --skill handoffgit clone --depth 1 https://github.com/openonion/connectonionWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/openonion/connectonion/handoff)<a href="https://agentmods.dev/skills/openonion/connectonion/handoff"><img src="https://agentmods.dev/badge/skills/openonion/connectonion/handoff/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/openonion/connectonion/handoff"><img src="https://agentmods.dev/badge/skills/openonion/connectonion/handoff.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00143 | $0.03314 |
| Opus 5.5 | $0.00057 | $0.01326 |
| Sonnet 5.5 | $0.00029 | $0.00663 |
| Haiku 4.5 | $0.00014 | $0.00331 |
Grade A, and why
handoff scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 248 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Handoff
You are the agent that already holds the context: the user discussed this work with you. A handoff is one message to another person's agent: every message the user wrote in this session, word for word, your replies quoted, and where the code is. Anything missing, their agent asks next, and you answer.
co handoff (experimental) does the preparing, the secret check, the preview,
the sending and the receiving. Always read its output, not just the exit
code; every command ends with a Next: line.
Route first:
| Situation | Go to |
|---|---|
| The user wants to hand work to someone | 1 Recipient → 2 Prepare → 3 Audit → 4 Approve → 5a Send |
| You know the recipient's full agent address and their agent accepts you | 5b Send to their agent |
| A handoff prompt was pasted here, or a handoff arrived by email or agent message | 6 Receive |
| The user asks whether a handoff was accepted, or about its questions | co handoff status <id> (--wait in the background returns on news) |
1. Find the recipient
co handoff send <who> takes a saved name, an email, or a full 0x address.
- Saved name:
co handoff contact <name> <email-or-0x-address>saves it once. An unknown name exits 1 and prints that line; ask the user for the address. - Name to email:
co rem show "Bob Lee"prints the person's page; Email is in Facts. If it lists several people, show them to the user and let the user choose. Never pick one. - Agent address: the full address is
0xplus 64 hex characters.- Use one that the user gave you, or one the recipient sent back after an
earlier handoff.
co handoffdelivers to that agent's mailbox,0x+ the first 10 hex characters@mail.openonion.ai. - There is no lookup from a name or email to an agent address yet.
- Use one that the user gave you, or one the recipient sent back after an
earlier handoff.
2. Prepare the handoff
From the directory of this session:
co handoff send <who> "<what to hand off, in the user's words>"
Every co handoff command needs network: the draft is written by a model, your
own coding agent reads it for private sentences, and sending, status and
--wait talk to the server. In Codex, run every co handoff command outside
the sandbox (escalated) from the first try: a Codex started inside the sandbox
cannot connect even with network on, and send stops there and says so.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday Changed · +3 lines 2ff34c477ae1
- 2d ago Changed · +11 lines a2cf9724f5e8
- 3d ago Changed · +37 lines · +5 tokens per session 422bf705b0f6
- 5d ago Changed · -7 lines · +11 tokens per session 7621105229e0
- 6d ago First seen · 204 lines · 127 tokens per session scan A 7f9d6391f60c
handoff is a skill published in the GitHub repository openonion/connectonion (1,497 stars, last pushed today), licensed Apache-2.0. It adds 143 tokens to every session and 3,314 once invoked, about $0.0006 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-11.
Other skills, from other repositories
company-employee
The protocol every employee of a PenguinHarness organization follows — read the handbook first, act on [orgtrigger] work runs, schedule tickets from the desk session and do the work in ticket sessions, block instead of idling, ask the board in the all-hands channel before anything heavy, costly, irreversible or…
company-ceo
Run a PenguinHarness organization as its CEO — turn the mission into a ticket tree, hire HR and finance first, partition the shared workspace, schedule the calendar, open a channel per stream, review tickets and report to the board in the all-hands channel.
company-hr
Run HR for a PenguinHarness organization — guarantee every employee has an enabled calendar event, hire and offboard employees (channels included), evaluate and improve them (with the default-rsi-toolkit plugin's agent-optimization skill), and keep the handbook's role conventions current.
company-mirror
Run a PenguinHarness organization that mirrors a real company — one digital twin per real colleague, each twin's desk bound to that colleague's chat bot, twins answering what the handbook already knows and relaying the rest to one another instead of hiring, scheduling and filing tickets.
company-setup
Create a company-mode organization together with the user — collect its id, name, mission, shared workspace, model and CEO budget one question at a time, confirm the whole thing in one summary, then run penguin org create and hand the user over to company mode.
agentlas-operations
A set of operating procedures for running Agentlas, a system for coordinating agents, reusable workforces, automation graphs, and shared agent resources. It covers candidate selection, graph creation, asset discovery, and memory rules.