MCPInstall

tg-responder

Review and send Telegram response drafts, manage follow-ups for unanswered outbound messages. Use when the user says "/tg-responder review", "/tg-responder status", "/tg-responder follow-ups", "check telegram drafts", "review pending messages", "telegram inbox", "who hasn't replied", or "follow up".

Installs
140
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/glebis/claude-skills --skill tg-responder
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads tg-responder automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

tg-responder — Telegram Communications Assistant

Review pending response drafts and manage the Telegram response queue.

Commands

review — Approve pending drafts

Read the responder queue and present drafts for approval:

python3 ~/.claude/skills/tg-responder/scripts/schema.py  # ensure DB exists

Then query the database:

-- Pending drafts needing approval
SELECT o.id, o.chat_id, o.draft_text, o.draft_reason, o.source,
       i.sender_name, i.text as original_text, i.urgency, i.category,
       datetime(i.received_at, 'unixepoch') as received
FROM outbox o
JOIN inbox i ON o.inbox_id = i.id
WHERE o.status = 'draft'
ORDER BY
  CASE i.urgency WHEN 'urgent' THEN 0 WHEN 'normal' THEN 1 ELSE 2 END,
  o.created_at ASC;

For each draft, present to the user:

  1. Original message — who sent it, when, what they said
  2. Draft response — the proposed reply
  3. Options: approve (send as-is), edit (modify then send), skip

To approve and send a draft:

  1. Update outbox: UPDATE outbox SET status = 'approved', final_text = draft_text, approved_at = strftime('%s','now') WHERE id = ?
  2. Send via telegram skill: python3 ~/.claude/skills/telegram/scripts/telegram_fetch.py send --chat-id CHAT_ID --text "THE_TEXT"
  3. Update outbox with sent status and message_id

To skip: UPDATE outbox SET status = 'skipped', updated_at = strftime('%s','now') WHERE id = ?

status — Queue statistics

-- Inbox stats
SELECT status, count(*) FROM inbox GROUP BY status;

-- Outbox stats
SELECT status, count(*) FROM outbox GROUP BY status;

-- Recent activity
SELECT sender_name, route, status, datetime(created_at, 'unixepoch')
FROM inbox ORDER BY created_at DESC LIMIT 10;

Report: pending count, drafts waiting, sent today, failed items.

follow-ups — Track unanswered outbound messages

Scan for people who haven't replied, send reminders with exponential backoff.

# Scan for new unanswered messages (needs Telethon session — stop daemon first)
python3 ~/.claude/skills/tg-responder/scripts/follow_ups.py scan

# Process due reminders (drafts to Telegram or outbox)
python3 ~/.claude/skills/tg-responder/scripts/follow_ups.py remind

# List active follow-ups
python3 ~/.claude/skills/tg-responder/scripts/follow_ups.py list

# Archive expired follow-ups
python3 ~/.claude/skills/tg-responder/scripts/follow_ups.py archive

# Run all (scan + check replies + remind + archive)
python3 ~/.claude/skills/tg-responder/scripts/follow_ups.py all

Also query directly:

SELECT sender_name, outbound_text, reminder_count, max_reminders,
       datetime(outbound_at, 'unixepoch') as sent,
       datetime(next_reminder_at, 'unixepoch') as next_ping,
       status
FROM follow_ups
WHERE status = 'active'
ORDER BY next_reminder_at;

Schedule: exponential (3d → 6d → 12d), fixed (every Nd), or custom per contact. After max_reminders → archived. If they reply → auto-resolved.

Database

Located at ~/Brains/data/telegram/responder.db.

Known Pitfalls

  • Auto-replies are not closers. Messages like "Отвечу в ближайшее время!" are auto-respond placeholders, not real responses. Exclude them from follow-up resolution — they should not mark a thread as closed.
  • My messages vs. other people's messages. The script can mistake the user's own auto-replies for the contact's messages, forming incorrect follow-up state. Always check sender ID, not just message content.

Config

Located at ~/.claude/skills/tg-responder/config.yaml. Edit contacts, modes, and ignore lists there.

Worker

Start: python3 ~/.claude/skills/tg-responder/scripts/worker.py One-shot: python3 ~/.claude/skills/tg-responder/scripts/worker.py --once

FAQ

What does the tg-responder skill do?

Review and send Telegram response drafts, manage follow-ups for unanswered outbound messages. Use when the user says "/tg-responder review", "/tg-responder status", "/tg-responder follow-ups", "check telegram drafts", "review pending messages", "telegram inbox", "who hasn't replied", or "follow up".

How do I install tg-responder?

Run npx skills add https://github.com/glebis/claude-skills --skill tg-responder in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/tg-responder/ (personal) or .claude/skills/tg-responder/ (project).

Which AI agents can use tg-responder?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is tg-responder safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains tg-responder?

It is published by glebis in glebis/claude-skills. It has 140 recorded installs.

More from glebis/claude-skills

View all →

google-image-search

glebis/claude-skills

Search and download images via Google Custom Search API with LLM-powered selection. This skill should be used when finding images for articles, presentations, research documents, or enriching Obsidian notes with relevant visuals. Supports simple queries, batch processing from JSON config, automatic config generation from terms, and full note enrichment with automatic image insertion below headings.

Media & Creative643 installs

pdf-generation

glebis/claude-skills

Professional PDF generation from markdown using Pandoc with Eisvogel template and EB Garamond fonts. Use when converting markdown to PDF, creating white papers, research documents, marketing materials, or technical documentation. Supports both English and Russian documents with professional typography and color-coded themes. Mobile-optimized layout (6x9) by default for Telegram bot context, desktop/print layout (A4) for other contexts.

Docs & Writing482 installs

health-data

glebis/claude-skills

Query Apple Health SQLite database for vitals, activity, sleep, and workouts. Supports Markdown, JSON, and FHIR R4 output formats. This skill should be used when analyzing health metrics, generating health reports, answering questions about fitness or sleep patterns, or exporting health data in standard formats.

firecrawl-research

glebis/claude-skills

This skill should be used when the user requests to research topics using FireCrawl, enrich notes with web sources, search and scrape information, or write scientific/academic papers. It extracts research topics from markdown files, creates research documents with scraped sources, generates BibTeX bibliographies from research results, and provides Pandoc/MyST templates for academic writing with citation management.

deep-research

glebis/claude-skills

This skill should be used when conducting comprehensive research on any topic using the OpenAI Deep Research API. It automates prompt enhancement through interactive clarifying questions, saves research parameters, and executes deep research with web search capabilities. Use when the user asks for in-depth analysis, investigation, research summaries, or topic exploration.

presentation-generator

glebis/claude-skills

Generate interactive HTML presentations with neobrutalism styling, ASCII art decorations, and Agency brand colors. Outputs HTML (interactive with navigation), PNG (individual slides via Playwright), and PDF. References brand-agency skill for colors and typography. Use when creating presentations, slide decks, pitch materials, or visual summaries.

Docs & Writing320 installs

Popular code quality & workflow skills

View category →

grill-me

mattpocock/skills

A relentless interview to sharpen a plan or design.

Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.

handoff

mattpocock/skills

Compact the current conversation into a handoff document for another agent to pick up.

domain-modeling

mattpocock/skills

Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.

codebase-design

mattpocock/skills

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

diagnosing-bugs

mattpocock/skills

Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.