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 rem-correspondentgit 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/rem-correspondent)<a href="https://agentmods.dev/skills/openonion/connectonion/rem-correspondent"><img src="https://agentmods.dev/badge/skills/openonion/connectonion/rem-correspondent/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/rem-correspondent"><img src="https://agentmods.dev/badge/skills/openonion/connectonion/rem-correspondent.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.00029 | $0.00624 |
| Opus 5.5 | $0.00012 | $0.00250 |
| Sonnet 5.5 | $0.00006 | $0.00125 |
| Haiku 4.5 | $0.00003 | $0.00062 |
Grade A, and why
rem-correspondent 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.
What it actually says
Investigating someone the user corresponds with
- Survey before writing. Scan every entry header and subject across the whole date range in one bounded read, then open each distinct thread with them, older and newer months alike: introductions, agreements, changes, unanswered requests, changed signatures. Skip repeated notices. Name the files and months read, and any relevant thread skipped, in the final reply.
- Read each thread to its end before writing its status. The last message decides it: answered, delivered, declined, went quiet. Write what the thread shows; a reply you did not look for is not an open thread.
- Work promised on GitHub is checked there. When they said they would
open an issue or PR, or one is named, request a
github:search (by number, or repository andcreated:>=<promise-date>only; optionally one title word, never person/team names). Match returnedAuthor:logins to the person (jdoe2001 for Jane Doe); state the match and cite thegithub:ids. Your ownghURLs are not supplied; review removes them. - An
Insightconnects evidence to a decision: an obligation still owed, a changed role or relationship, a repeated response pattern. Mark inference. Stop when the threads support the finding; more bullets are not better. When a thread closes, theNowsentence names the source-backed reason for closure before saying no follow-up is proposed. - A page titled by an address is renamed once the material names the
person (signature, or the user's greeting):
# [email protected]→# 李梅, the address kept inAlso known as:. - Not a person (a service, bot, shared or test inbox, an account the user
runs): the lead says what it is and
Role:readsNot a person: <what>. How the user writes to themcomes from the user's own messages to them (language, tone, length, how they open, what they ask), with one short quote;Cadencefrom the dates (about weekly, July–September). Each isUnknownonly with no such message, or a single one.First contactneeds a cited exchange that begins this relationship; the earliest retained message is only the earliest observed. OtherwiseUnknown, with an earlier event it mentions named inUncertainties.- A calendar booking's displayed time zone belongs to the event display. Do not assign it to the organiser or guest unless the source explicitly labels that person's own time zone.
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 · -2 lines cb0b31f2f1cb
- 8d ago Changed 2a78120834db
- 13d ago Changed · +11 lines 69a999265a08
- 14d ago Changed · +13 lines 4e48b96cf0ea
- 15d ago First seen · 21 lines · 29 tokens per session scan A 09f33e28c0ca
rem-correspondent is a skill published in the GitHub repository openonion/connectonion (1,497 stars, last pushed today), licensed Apache-2.0. It adds 29 tokens to every session and 624 once invoked, about $0.0001 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-02.
Other skills, from other repositories
agentscope-java
Expert Java developer skill for AgentScope Java framework - a reactive, message-driven multi-agent system built on Project Reactor. Use when working with reactive programming, LLM integration, agent orchestration, multi-agent systems, or when the user mentions AgentScope, ReActAgent, Mono/Flux, Project Reactor, or…
apply-patch
Apply multi-file or tricky edits atomically with git apply instead of many fragile editfile calls. Use when changing several files at once or when editfile fails to match.
git-checkpoint
Use git as a safety net - create a checkpoint commit before risky or large changes and roll back cleanly if a change makes things worse. Use before multi-file refactors.
pptagent
Create and revise editable PowerPoint presentations from a brief using HTML slide sources, rendering, and visual review. Use when the requested deliverable is a PPTX deck. The host authors the slides; text-only hosts can use an external visual reviewer.
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…
a2ui
Make a reply easier to read and act on with rich blocks inside ordinary Markdown — a choice the user picks from, a form that collects several answers, a procedure as steps with warnings in place, a callout, a Mermaid diagram, a weather card, a live clock or countdown, and a dashboard of gauges for a system snapshot, a…