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 Mininglamp-OSS/octo-cli --skill octo-messaginggit clone --depth 1 https://github.com/Mininglamp-OSS/octo-cliWrote 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/mininglamp-oss/octo-cli/octo-messaging)<a href="https://agentmods.dev/skills/mininglamp-oss/octo-cli/octo-messaging"><img src="https://agentmods.dev/badge/skills/mininglamp-oss/octo-cli/octo-messaging/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/mininglamp-oss/octo-cli/octo-messaging"><img src="https://agentmods.dev/badge/skills/mininglamp-oss/octo-cli/octo-messaging.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00059 | $0.04007 |
| Opus 5.5 | $0.00024 | $0.01603 |
| Sonnet 5.5 | $0.00012 | $0.00801 |
| Haiku 4.5 | $0.00006 | $0.00401 |
Grade A, and why
octo-messaging 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 10d ago.
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 — 264 lines — stays where its author put it; the contents beside it link to each section on GitHub.
octo-messaging — messages, groups, threads, events
Three related domains live here. They all call $OCTO_API_BASE_URL/v1/bot/* — except the message search family under a uk_ (user API key) token, which the CLI routes to /v1/user/* (real-person mount; see the message search section).
| Domain | App Bot | User Bot |
|---|---|---|
message |
yes (DM only) | yes (DM + group + thread) |
group |
read-only except md-update with bot_admin |
full; operation-specific bot_admin gates apply |
thread |
blocked | full; md-update additionally requires bot_admin |
event |
yes | yes |
Search capability (the message search family) is a separate axis by token kind:
| Token | Can search? | Notes |
|---|---|---|
app_* |
no | CLI rejects locally with a validation error (not a server FORBIDDEN). |
bf_* |
yes | Searches as the bot; add --on-behalf-of <uid> for a real-person (OBO) view. |
uk_* |
yes | Real-person identity; routed to /v1/user/*. |
Before a write, confirm the token type with octo-cli config show. App Bot group mutations are rejected except group md-update, which still requires the bot to be a group member and have bot_admin.
1. message — 4 core commands (+ 6 search subcommands, see below)
# Send a message. payload is a JSON object (not a flag) — pass it inside --data.
# payload.type is an INTEGER code (1=text); see the payload table below.
octo-cli message send --channel-id <cid> --channel-type 1 \
--data '{"payload":{"type":1,"content":"hello"}}' \
[--stream-no <n>] [--on-behalf-of <uid>]
# Raw edit mode: content_edit is a non-empty JSON-encoded string; omit template_ref.
octo-cli message edit --message-id <mid> [--message-seq <seq>] \
--channel-id <cid> --channel-type <t> \
--content-edit '{"type":1,"content":"updated"}'
# Registry edit mode uses a real template reference in the JSON body; omit content_edit.
octo-cli message edit --data @registry-edit.json
# registry-edit.json supplies message_id, channel_id, channel_type, template_ref,
# state, data, and a positive card_seq; transient is optional.
# Pull history for a channel. Use --data for non-trivial filters.
octo-cli message sync --channel-id <cid> --channel-type 1 \
--start-message-seq <start> --end-message-seq <end> --pull-mode <mode> --limit 50
# Mark messages read.
octo-cli message read-receipt --channel-id <cid> --channel-type 1 \
--message-ids m1 --message-ids m2
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.
- 10d ago Changed · +26 lines 094c38888a2e
- 11d ago Changed · +1 lines 4b76d714d533
- 2mo ago First seen · 237 lines · 59 tokens per session scan A f8e7c9eb9ac1
octo-messaging is a skill published in the GitHub repository Mininglamp-OSS/octo-cli (922 stars, last pushed yesterday), licensed Apache-2.0. It adds 59 tokens to every session and 4,007 once invoked, about $0.0002 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-08-30.
Other skills, from other repositories
amq-spec
Use two agents to research a design independently and converge on one specification through AMQ. Trigger for collaborative design or messages labeled workflow:spec; use amq-cli for ordinary coordination.
incremental-approach
Build in verified increments rather than one speculative block: smallest viable change first, verify, then extend; prototype the risky part before committing to a design; batch edits to one file into a single operation. Load when planning a large or multi-file change, when uncertain which of several approaches will…
pixiv-cli-docs
Edit pixiv-cli documentation, AGENTS.md, client bridges, repository maintenance skills, or the distributed product skill. Use when commands, APIs, configuration, architecture, testing, or contributor workflows change and their documentation must stay accurate and portable.
pixiv-cli-release-notes
Prepare pixiv-cli bilingual versioned release notes, audit source coverage, coordinate an authorized version release, or recover its independent publishers. Use for release preparation and historical Release synchronization, not routine feature PR metadata.
dotfiles-doc
Print a prompt snippet the user can paste into their shell config.
slack-notify
Post a message the user wrote to their Slack incoming webhook.