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-page-projectgit 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-page-project)<a href="https://agentmods.dev/skills/openonion/connectonion/rem-page-project"><img src="https://agentmods.dev/badge/skills/openonion/connectonion/rem-page-project/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-page-project"><img src="https://agentmods.dev/badge/skills/openonion/connectonion/rem-page-project.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.00000 | $0.01533 |
| Opus 5.5 | $0.00000 | $0.00613 |
| Sonnet 5.5 | $0.00000 | $0.00307 |
| Haiku 4.5 | $0.00000 | $0.00153 |
Grade A, and why
rem-page-project 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 today.
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 — 147 lines — stays where its author put it; the contents beside it link to each section on GitHub.
A project's page
Write for a teammate who has one minute. The first screen answers, dated and cited: what the project is, why it exists in the owner's words, where it stands now, and what is still open. Reference detail follows. A page that tours files and hedges every line fails even when every line is true. Read the page and material. Write once, check once, fix once, stop. Search the repo for evidence, not for a format: this Skill is the format.
Keep the core headings Facts, Insight, What it is, Where it stands,
Open threads, Paths, Uncertainties and Sources. Show any other heading
only when evidence fills it; omit one whose whole body would be Unknown.
Keep this order for those shown:
# <Name>
## Facts
## Insight
## What it is
## Why it exists
## Where it stands
## Open threads
## Latest issues
## Key decisions
## Overview
## Try it
## People and ownership
## Getting started
## How it is built
## Architecture map
## Paths
## Uncertainties
## Sources
Facts: one line a field, labels exact, all present, missing exactly
Unknown: Repository, Stack, Status, People, Organisation,
Started, Last activity, and no other label. Several values ; between, each
value (qualifier) [n]; dates YYYY-MM-DD; every value cited.
Status: a phrase the evidence earns:active — commits weekly on origin/main,quiet since 2026-08-10,exploring, nothing chosen.Last activity: the newer of the latest commit on the current line and the latest message that names this project, with what it was:2026-10-15 — Gemini 4 Argon made selectable (commit e25df6e) [n].Started: the first commit or the owner's words that began it; the first observed session is not a start.
Insight: 2–4 cited bullets of at most 30 words, starting Now:,
Changed:, At stake: or Pattern:: what changes a teammate's next
decision. Compare the owner's words with the repository first: a requirement
the code contradicts or has not caught up with (the owner says 8% of net, the
PDF says gross), a reversed choice, a requirement that moved. What the code
does belongs in What it is; a branch, commit date, README topic or a quote
alone is not an insight. None: - Unknown.
What it is: one or two sentences: the product, who it serves, what it does, from the README or the owner's description of the whole project, never the loudest recent thread.
Why it exists: the problem and intended outcome, opened with the owner's
words that started it or best state its purpose:
YYYY-MM-DD — “<exact words>” [n]. The newest request is not why a project
exists; without such words, quote the README's purpose, dated by its revision.
Where it stands: 3–5 bullets about now, newest first, each dated: the
latest finished work (commit subjects on the current line, the owner's
latest messages; quiet for weeks — say so); work in flight (recent unmerged
branches, by name and date); the phase and goal; the latest run, test or
deploy result someone reported, or none found. History goes in Key decisions.
Open threads: only what is pending now, newest first:
- YYYY-MM-DD — <who> asked: “<exact words>” [n] — open|blocked on <what>.
Before listing an ask, look for its outcome in later messages, commit
subjects and branch names. One closed by a commit or a later message moves to
Where it stands or Key decisions with that evidence. An ask more than 30
days old with no outcome found is history, not an open thread: leave it out.
Nothing open: bare Unknown, never a line about what the material does not show.
Latest issues: bugs, regressions, blockers, newest first: date, symptom, status with its evidence. Check the history for a fix before calling one open. A report is not a diagnosis; a proposed fix is not a resolution.
Key decisions: the choices the owner made, newest first, at most sixteen:
price, scope, audience, positioning, architecture, what to drop.
- YYYY-MM-DD — <choice, under 12 words>: “<the owner's exact words>” [n].
A reversal is its own line quoting the reversal. A request alone or current
behaviour alone is not a decision; label proposals.
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.
- today Changed dd749b4f008b
- yesterday Changed · +15 lines · -17 tokens per session 92060e225147
- 6d ago Changed · -2 lines 143322c3f54c
- 13d ago Changed · -1 lines 7102f5003bce
- 14d ago Changed · +9 lines f33f6f7fd29e
- 15d ago Changed cdccd1822d58
- 16d ago Changed 1d59db736a86
- 17d ago First seen · 126 lines · 17 tokens per session scan A 6d5241f5dd3f
rem-page-project is a skill published in the GitHub repository openonion/connectonion (1,497 stars, last pushed today), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 1,533 tokens. 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-09-30.
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.