send-message

send-message is a skill for Claude Code from terrylica/cc-skills. It costs 34 tokens per session (2,914 once invoked), scanned A, original, MIT.

A Telegram text-message sending tool for sending messages from your own Telegram account rather than a bot. It can address a contact, group, or channel by username, phone number, or chat ID.

In plain words
What is it for?
Use it to send text updates, replies, or posts to Telegram chats, including a specific topic in a group that uses topics.
Why use it?
It avoids manually opening Telegram when an agent needs to send a prepared message. It also checks that the account session is authorised before sending.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: mentions Claude Code.

Part of the tlg plugin — 15 skills shipped together , and of cc-skills

Good fit Use it to send text updates, replies, or posts to Telegram chats, including a specific topic in a group that uses topics.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/terrylica/cc-skills/send-message
Install

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.

Any agent
npx skills add terrylica/cc-skills --skill send-message
Clone the repo
git clone --depth 1 https://github.com/terrylica/cc-skills

Made for: Claude Code.

Or install tlg, the plugin that ships this one along with the rest of its 15 skills.

Wrote 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.

agentmods badge for send-message

README.md
[![agentmods](https://agentmods.dev/badge/skills/terrylica/cc-skills/send-message/github.svg)](https://agentmods.dev/skills/terrylica/cc-skills/send-message)
Your own site
<a href="https://agentmods.dev/skills/terrylica/cc-skills/send-message"><img src="https://agentmods.dev/badge/skills/terrylica/cc-skills/send-message/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.

agentmods 80×15 button for send-message

Your own site · 80×15
<a href="https://agentmods.dev/skills/terrylica/cc-skills/send-message"><img src="https://agentmods.dev/badge/skills/terrylica/cc-skills/send-message.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 34 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,914 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00034 $0.02914
Opus 5.5 $0.00014 $0.01166
Sonnet 5.5 $0.00007 $0.00583
Haiku 4.5 $0.00003 $0.00291

Measured 18d ago against content hash 737a88c7fcca, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

send-message 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 18d 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.

plugins/tlg/skills/send-message/SKILL.md · 214 lines

How it starts

The opening of the file, as written. The whole thing — 214 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Send Telegram Message

Send a message from your personal Telegram account (not a bot) via MTProto.

Self-Evolving Skill: This skill improves through use. If instructions are wrong, parameters drifted, or a workaround was needed — fix this file immediately, don't defer. Only update for real, reproducible issues.

Preflight

Before sending, verify the session is authorized (not just that the file exists):

bun "$SCRIPT" check-auth

If EXPIRED, run /tlg:setup first (uses 3-step non-interactive auth pattern).

Supergroup-First Methodology

The Bruntwork group (-1003958083153) is a supergroup with Topics. All messages to this group MUST target a specific topic — never post to the bare supergroup without a topic target.

Why supergroup over basic chat:

  • Server-global message IDs. Every member sees the same id=N for each message. Both sides' Claude Code resolves citations identically — no viewer-qualifier needed, no cross-boundary ambiguity.
  • Topic namespaces. Policies don't get buried between daily check-ins. Each subject has its own searchable thread with independent pins.
  • AI-agent addressability. Claude Code can target reads/writes to specific topics via reply_to_msg_id, enabling precise routing: "post this bug report to Bug Reports" or "search Policies for the carve-out decision."
  • Emoji reactions as acknowledgment signals. Reactions are programmatically readable via message.reactions.results — enables lightweight ACK checking without requiring a text reply.

Topic selection discipline: When composing a message, select the most specific topic from the Topic Registry below. Use General only as a fallback. Never cross-post the same message to multiple topics.

Citation convention: Bare id=N citations resolve identically for every member. When referencing a prior message, cite its ID. Claude Code on both sides can look it up autonomously via client.get_messages(supergroup_id, ids=N).

Sending to a topic via tg-cli.ts: use the --reply-to flag with the topic's root_msg_id. See the Topic Registry section below for root_msg_id values.

Read the full file on GitHub · 214 lines

Changes

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.

  1. 18d ago Changed 737a88c7fcca
  2. 24d ago First seen · 214 lines · 34 tokens per session scan A 0d29e0d1bde3

Subscribe to this mod's changes

send-message is a skill published in the GitHub repository terrylica/cc-skills (0 stars, last pushed yesterday), licensed MIT. It adds 34 tokens to every session and 2,914 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.