Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add Xakki/ai-agents-skills/plugin install ai-agents-skillsWrote 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/xakki/ai-agents-skills/tg-report)<a href="https://agentmods.dev/skills/xakki/ai-agents-skills/tg-report"><img src="https://agentmods.dev/badge/skills/xakki/ai-agents-skills/tg-report/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/xakki/ai-agents-skills/tg-report"><img src="https://agentmods.dev/badge/skills/xakki/ai-agents-skills/tg-report.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.00122 | $0.01082 |
| Opus 5 | $0.00061 | $0.00541 |
| Sonnet 5 | $0.00024 | $0.00216 |
| Haiku 4.5 | $0.00012 | $0.00108 |
Grade B, and why
tg-report scanned grade B 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.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
**Critical:** If destination or thread is unset → **ask the user**, offer to persist in `~/.claude/settings.json` `env` block. How it starts
The opening of the file, as written. The whole thing — 83 lines — stays where its author put it; the contents beside it link to each section on GitHub.
tg-report
Thin wrapper around $AI_AGENTS_SKILLS_ROOT/skills/tg-notify/tg-notify.sh (with Claude/Codex/Cursor root fallbacks below) that routes to one of two forum topics and enforces a length budget in concise mode.
When to invoke
User-triggered only. Treat any trigger as explicit Telegram-send authorization — ignore the 20-minute threshold of tg-notify.
Routing — pick topic by keyword
- Request contains «задача» / «по задаче» / "task" → task topic (
TELEGRAM_NOTIFY_TASK_THREAD). - Otherwise (plain «отчёт» / «о завершении» / "completion") → completion topic (
TELEGRAM_NOTIFY_COMPLETION_THREAD).
If genuinely ambiguous, ask the user.
Modes
| Mode | Trigger | Budget |
|---|---|---|
| Concise (default) | plain "Отправить отчёт" / "Send report" | ≤ 3500 chars (title + body). Rewrite for density if over. |
| Full | "полный отчёт" / "full report" | No cap; script auto-splits at 4000 chars. |
Configuration
See reference.md for env-resolution details, report structure, and status semantics.
TELEGRAM_BOT_TOKEN is shared with tg-notify (read from ~/.config/tg-notify/.env). Reports need three additional vars:
| Var | Purpose |
|---|---|
TELEGRAM_NOTIFY_CHAT_ID |
Report destination — the group/supergroup id (e.g. -100…). |
TELEGRAM_NOTIFY_COMPLETION_THREAD |
Forum topic id for completion reports. |
TELEGRAM_NOTIFY_TASK_THREAD |
Forum topic id for task reports. |
Critical: TELEGRAM_CHAT_ID is your private DM — never fall back to it for reports.
Critical: If destination or thread is unset → ask the user, offer to persist in ~/.claude/settings.json env block.
How to invoke
ROOT="${AI_AGENTS_SKILLS_ROOT:-${CLAUDE_PLUGIN_ROOT:-${PLUGIN_ROOT:-${CURSOR_PLUGIN_ROOT:-}}}}"
TG="$ROOT/skills/tg-notify/tg-notify.sh"
ENV_FILE="${TG_NOTIFY_ENV:-${XDG_CONFIG_HOME:-$HOME/.config}/tg-notify/.env}"
# capture process env FIRST (settings.json wins over .env)
CHAT="${TELEGRAM_NOTIFY_CHAT_ID:-}"
THREAD="${TELEGRAM_NOTIFY_COMPLETION_THREAD:-}" # or TASK_THREAD for task reports
# source creds file for bot token + fallback for any unset NOTIFY vars
[ -f "$ENV_FILE" ] && { set -a; . "$ENV_FILE"; set +a; }
CHAT="${CHAT:-${TELEGRAM_NOTIFY_CHAT_ID:-}}"
THREAD="${THREAD:-${TELEGRAM_NOTIFY_COMPLETION_THREAD:-}}" # or TASK_THREAD
# if CHAT empty → ask the user, don't send to the DM
[ -z "$CHAT" ] && { echo "TELEGRAM_NOTIFY_CHAT_ID unset — ask the user"; exit 1; }
ARGS=(-s ok -p plain -c "$CHAT")
[ -n "$THREAD" ] && ARGS+=(-T "$THREAD")
# concise (default): inline body
"$TG" "${ARGS[@]}" -t "server/repo: краткий заголовок" -m "<body ≤3500 chars>"
# full mode: from file (auto-splits into chunks)
"$TG" "${ARGS[@]}" -t "server/repo: заголовок" -f /tmp/report.txt
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 · 83 lines · 122 tokens per session scan B f3fbae89942f
tg-report is a skill published in the GitHub repository Xakki/ai-agents-skills (6 stars, last pushed 21d ago), licensed MIT. It adds 122 tokens to every session and 1,082 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
skill-factory
A workflow that examines completed session work and turns reusable patterns into Claude Code skills.
session-wrap
Use when wrapping up a session before ending. 4 parallel subagents detect doc updates, repeated patterns, learning points, and follow-ups, then a verifier deduplicates and presents choices. Triggers on /session-wrap, session wrap, session cleanup, end of session.
relay
Session relay — compresses what's been done so far (writes a one-liner for /compact) and generates a "next task" prompt (a baton) for the user to hand off. Use on requests like "relay / hand off / next session / continue after compact / baton / handoff / clean up context and continue next task." Does not run /compact…
strategic-compact
Suggests manual context compaction at logical intervals to preserve context through task phases rather than arbitrary auto-compaction.
docs
Use when documentation generally needs to catch up with a branch before pushing or merging, covering internal developer docs, external customer-facing docs, and release notes together — "update the docs", "do a docs pass before I merge", "make sure everything's documented". Prefer this when no single documentation…
automation
Create, inspect, update, delete, and run Kun scheduled tasks or saved workflows.