Ouroboros is a general-purpose AI agent that maintains its identity, memory, and task history across restarts while working on external projects and coordinating specialist agents. It runs as a desktop application or headless command-line tool, using configured remote APIs or a local model for inference. The catalogue skills support working with or modifying Ouroboros.
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 razzant/ouroboros --skill telegramgit clone --depth 1 https://github.com/razzant/ouroborosWrote 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/razzant/ouroboros/telegram)<a href="https://agentmods.dev/skills/razzant/ouroboros/telegram"><img src="https://agentmods.dev/badge/skills/razzant/ouroboros/telegram/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/razzant/ouroboros/telegram"><img src="https://agentmods.dev/badge/skills/razzant/ouroboros/telegram.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.00019 | $0.02266 |
| Opus 5.5 | $0.00008 | $0.00906 |
| Sonnet 5.5 | $0.00004 | $0.00453 |
| Haiku 4.5 | $0.00002 | $0.00227 |
Grade A, and why
telegram 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 — 166 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Telegram
One owner-only Telegram integration provides both the established bot bridge
and the optional Mini App. The first positive private Telegram chat binds as
the sole owner. Text, photos and files (documents, video, audio and voice notes within
this integration's 10 MiB download cap) can be sent to Ouroboros, with or without a
caption; replies, photos, videos, documents, typing state, subagent cards, quiz
cards, and opt-in notifications are mirrored back to that owner. Telegram's typing
indicator stays on while a reply you asked for, mirrored to this chat, is actively
being prepared by Ouroboros or a working helper; it stops for Pause, Stop now and
after the answer, and a question waiting for you, a model-access wait or background work
never keep it on (DESIGN §9). A quiz card is
answered by tapping an option or by replying to the card with a free-form
answer; both reach the same host decision ingress as the web UI. The bridge speaks
the install's interface language (Settings → Appearance → Language, or /language
here): its own lines are English source translated by the install's translation
memory, so the bot ships no dictionary and follows any language the owner chooses. Slash commands
keep their ordinary command-mode rules even in replies; quote a literal command
as code or include it inside an explanation to send it as a quiz answer.
Version 1.3 remembers every mirrored part, including media and completion notices, in a bounded durable message map. Replying passes its host row or work reference through normal chat; Ouroboros decides what it means. Unknown or evicted ids add nothing. Answers to an earlier owner message from this Telegram chat use a native reply; answers to its latest owner message stay unquoted. Silent mode edits only within one task episode and reply origin; Continue episodes remain separate messages. Relay success stays silent; a host-reported failure arrives as one line. A relayed row quotes the owner's words verbatim as plain text, under where he wrote them and with the file names, above the note. Quiz buttons and replies keep their decision path; earlier parts of a long question carry ordinary references.
Version 1.3.2 warns when the derived reference map cannot be saved, without
blocking an owner message or later outbound parts. Completion notifications
reference their work, not an authored answer shown only in Main.
Version 1.3.3 gives a finished root task's notice the task card's cost words for
its whole tree: $3.42 when final, up to $3.42 while costs may still arrive,
Tracked: when some step has no price; an unknown cost adds nothing.
Version 1.2.1 marks questions that wait for an owner answer and clears the
waiting line after an answer submitted through Telegram.
Version 1.2.3 serves the stored settings on GET settings/save so the Settings
form shows saved values before Save, and shortens the four long option labels.
Version 1.2.4 introduced a non-clean completion notice even with the task toggle off;
version 1.2.14 replaces that policy with a true opt-out (below).
Version 1.2.5 shows the whole quiz card: its project, the host's facts about the
asking task, and every option's detail, with localized field names; a card too
long for one Telegram message arrives as ordered parts followed by the keyboard
message, and nothing authored is cut.
Version 1.2.6 edits a sent question card on its lifecycle (chat.quiz_state): a
web answer settles it, a closed wait drops the waiting line yet keeps buttons,
a finished task says a late answer still counts, and (1.2.13) a question closed
unanswered states that and its reason without buttons. Answers and closures are final.
An open question (no options) is the same whole card without buttons; it asks for
a reply in your own words.
Version 1.2.9 routes every Telegram API call through the optional skill-local
TELEGRAM_PROXY setting, including polling, sends, downloads, notifications,
and the companion's menu button lifecycle. The Settings form masks the proxy
and never reads its stored credentials back into the browser.
What ships with it
19 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- lib/miniapp_registration.py 8.7 KB runs code
- lib/telegram_api.py 39 KB runs code
- lib/telegram_health.py 5.5 KB runs code
- lib/telegram_i18n.py 8.0 KB runs code
- lib/telegram_inbound.py 4.4 KB runs code
- lib/telegram_notifier.py 18 KB runs code
- lib/telegram_quiz.py 22 KB runs code
- lib/telegram_state.py 20 KB runs code
- lib/telegram_typing.py 9.3 KB runs code
- plugin.py 76 KB runs code
- scripts/cloudflare_tunnel.py 35 KB runs code
- scripts/companion.py 55 KB runs code
- scripts/platform_support.py 13 KB runs code
- scripts/public_gateway.py 14 KB runs code
- scripts/runtime_status.py 5.8 KB runs code
- scripts/sidecar.py 40 KB runs code
- scripts/telegram_menu.py 17 KB runs code
- scripts/telegram_settings.py 10 KB runs code
- scripts/tunnel_watchdog.py 1.8 KB runs code
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 · +11 lines 73ab8e62d099
- 4d ago Changed · +19 lines d227d412dfb3
- 16d ago Changed · +46 lines 64594d98f04a
- 25d ago Changed · +13 lines fb4dba3b3031
- 1mo ago Changed · +2 lines 4b16738c2ba0
- 1mo ago Changed · +17 lines 13cc8caee527
- 1mo ago Changed · +3 lines 9fe4c7ba3158
- 1mo ago First seen · 55 lines · 19 tokens per session scan A f0e5caeb5f53
telegram is a skill published in the GitHub repository razzant/ouroboros (1,572 stars, last pushed today), licensed MIT. It adds 19 tokens to every session and 2,266 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-08-30.
Other skills, from other repositories
add-rpc
Guide for adding new RPC calls to Wave Terminal. Use when implementing new RPC commands, adding server-client communication methods, or extending the RPC interface with new functionality.
wps-events
Guide for working with Wave Terminal's WPS (Wave PubSub) event system. Use when implementing new event types, publishing events, subscribing to events, or adding asynchronous communication between components.
electron-api
Guide for adding new Electron APIs to Wave Terminal. Use when implementing new frontend-to-electron communications via preload/IPC.
mcp-builder
Design, build, configure, or debug Model Context Protocol servers for codewhale, including stdio and HTTP/SSE transports.
build-teaql-app
Build or change a TeaQL application in Java, Rust, Go, Swift, Python, C#/.NET, or TypeScript, including Kotlin/JVM applications that consume Java-generated libraries. Mandatory order: first draft and save a complete KSML model, then verify the client and evaluate that saved model, repair it through repeated evaluation…
cuga-github-issues
Create GitHub issues for cuga-agent (bugs, features, epics, designs, and related work) against origin using gh, with epic → feature → issue hierarchy and GraphQL sub-issue linking. Use when the user says create new issues, report a bug, file a bug, feature request, new feature, create an epic, GitHub issue, sub-issue…