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 b3rys/b3rys-team-os --skill b3os-telegram-file-deliverygit clone --depth 1 https://github.com/b3rys/b3rys-team-osWrote 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/b3rys/b3rys-team-os/b3os-telegram-file-delivery)<a href="https://agentmods.dev/skills/b3rys/b3rys-team-os/b3os-telegram-file-delivery"><img src="https://agentmods.dev/badge/skills/b3rys/b3rys-team-os/b3os-telegram-file-delivery/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/b3rys/b3rys-team-os/b3os-telegram-file-delivery"><img src="https://agentmods.dev/badge/skills/b3rys/b3rys-team-os/b3os-telegram-file-delivery.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Data Exfiltration · line 61 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
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.00056 | $0.01327 |
| Opus 5 | $0.00028 | $0.00664 |
| Sonnet 5 | $0.00011 | $0.00265 |
| Haiku 4.5 | $0.00006 | $0.00133 |
Grade A, and why
b3os-telegram-file-delivery scanned grade A with 1 finding 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 11d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -sS -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendDocument" \ How it starts
The opening of the file, as written. The whole thing — 94 lines — stays where its author put it; the contents beside it link to each section on GitHub.
b3rys Telegram File Delivery
Telegram으로 파일을 그대로 보내야 할 때 쓰는 스킬이다. 팀에서 반복되는 실수 = "텔레그램에서 파일이 안 보내진다." 원인은 런타임의 message/첨부 도구가 파일 직접 첨부를 보안 제한으로 막거나(특히 OpenClaw/Forin 계열 .html), 첨부 경로/형식이 도구 제약에 안 맞는 것이다. 해법은 일관된다 — Telegram Bot API의 sendDocument를 직접 호출한다. HTML만이 아니라 PDF·이미지·ZIP·CSV·로그 등 모든 파일에 동일하게 적용된다.
언제 쓰나
message/reply 도구로 파일 첨부가 막히거나 실패할 때 (가장 흔한 케이스).- HTML 산출물을 ZIP으로 우회하지 않고 원본 그대로 보내고 싶을 때.
- 보고서(PDF/HTML), 스크린샷(PNG/JPG), 데이터(CSV/JSON), 압축본(ZIP) 등 어떤 파일이든 텔레그램으로 보내야 할 때.
원칙
- 파일 전송이 도구로 막히면 ZIP/링크로 우회하기 전에 이 스킬(
sendDocument)을 먼저 쓴다. - 외부 전송이므로 the team lead 또는 요청자의 명시 컨펌을 받은 뒤 보낸다.
- bot token(봇 토큰), chat id(채팅방 ID), credential은 env/profile에서 읽고 stdout에 노출하지 않는다.
- 성공 여부는 Telegram API 응답의
ok,message_id, 파일명만 보고한다. 토큰·전체 응답·chat id는 불필요하게 출력하지 않는다.
필요한 값
TELEGRAM_BOT_TOKEN: 보낼 봇의 token (Hermes profile env, OpenClaw account env 등).TELEGRAM_CHAT_ID: 대상 채팅방 또는 DM id.- 파일 경로: 실제 존재하는 파일.
- 선택 caption: 짧게.
파일 형식별 MIME 타입
document=@경로;type=<mime> 로 명시하면 텔레그램이 올바르게 인식한다. (생략해도 대개 동작하지만 HTML 등은 명시 권장.)
| 파일 | MIME |
|---|---|
.html |
text/html |
.pdf |
application/pdf |
.png / .jpg |
image/png / image/jpeg |
.zip |
application/zip |
.csv |
text/csv |
.json |
application/json |
.md / .txt / .log |
text/plain |
절차
-
파일 확인
- 파일이 존재하는지, 비어있지 않은지(
[ -s 파일 ]) 확인한다. - 민감정보·로컬 절대경로·토큰·비공개 데이터가 파일 안에 들어있지 않은지 빠르게 확인한다.
- 파일이 존재하는지, 비어있지 않은지(
-
전송 컨펌
- 외부 Telegram 전송이므로 보내기 전에 대상·파일명·목적을 말하고 컨펌을 받는다.
- 사용자가 현재 thread에서 명시적으로 "보내"/"전송"을 지시했다면 그 지시를 컨펌으로 본다.
-
Bot API 호출
직접 호출 (형식에 맞는
type지정):curl -sS -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendDocument" \ -F "chat_id=${TELEGRAM_CHAT_ID}" \ -F "document=@/absolute/path/to/file.pdf;type=application/pdf" \ -F "caption=report"또는 이 스킬의 스크립트 (확장자로 MIME 자동 추정):
TELEGRAM_BOT_TOKEN=... TELEGRAM_CHAT_ID=... \ bash skills/b3os-telegram-file-delivery/scripts/send-file.sh \ /absolute/path/to/file.pdf "caption"
What ships with it
1 file 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.
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.
- 11d ago First seen · 94 lines · 56 tokens per session scan A 25ca3c7caf9f
b3os-telegram-file-delivery is a skill published in the GitHub repository b3rys/b3rys-team-os (13 stars, last pushed today), licensed Apache-2.0. It adds 56 tokens to every session and 1,327 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
fable-commander
A planning and review workflow in which one model prepares decisions while selected models handle research and execution. It is written for Fable and Claude Code, tools for coordinating multi-step software work.
takt
A workflow engine that runs a task through a sequence of steps defined in a YAML file, using separate coding agents for the work.
company-product-context
Compiles comprehensive company product context from PDF documents, web research, and industry knowledge.
codebase-context-extractor
This skill provides a comprehensive context extraction system for large codebases. It intelligently analyzes code structure, dependencies, and relationships to extract relevant context for understanding, debugging, or modifying code.
skill-creator
Generates Anthropic Skills with complete workflow including GitHub PR creation and local download verification.
Research Synthesis Workflow
A step-by-step guide to synthesizing research from multiple sources into a coherent summary.