.claude/skills/Telegram/SKILL.md
Process Telegram messages via GramJS MTProto client. Read messages, generate AI drafts, save drafts, and create intro groups. Use when handling Telegram conversations or facilitating introductions.
npx skillsauth add Gerstep/cybos telegramInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Process Telegram messages via GramJS MTProto client. Supports unread messages, specific users, message requests, and group creation for introductions.
CRITICAL: NEVER SEND MESSAGES. Only save drafts.
| Capability | Description |
|------------|-------------|
| Unread Mode | Process N unread conversations |
| User Mode | Find specific person by username/name (any read state) |
| Requests Mode | Process message requests folder (non-contacts) |
| Entity Context | Load context from database for known contacts |
| Draft Replies | AI generates contextual reply drafts |
| Save Drafts | Save drafts to Telegram (no sending) |
| Create Groups | Create new groups and add members for introductions |
| Dialog Cache | Fast lookups via cached dialog IDs (~1s vs ~90s) |
| Mark Unread | Re-mark conversations as unread after processing |
| History | Save per-person history to vault context/telegram/ |
workflows/process-messages.md - Full workflow for reading/replyingworkflows/create-intro-group.md - Workflow for facilitating introductions| Script | Purpose |
|--------|---------|
| scripts/telegram-gramjs.ts | GramJS MTProto client - fetch messages, populate cache |
| scripts/telegram-save-drafts.ts | Save AI drafts to Telegram from work file |
| scripts/save-telegram-draft.ts | Quick draft save by @username (instant) or name (dialog search) |
| scripts/telegram-create-group.ts | Create groups and add members for intros |
# Unread mode (default)
/cyber-telegram # 1 unread dialog
/cyber-telegram --count 3 # 3 unread dialogs
# User mode
/cyber-telegram --user "@username" # By username
/cyber-telegram --user "Name" # By name
# Requests mode
/cyber-telegram --requests # Message requests folder
# Modifiers
/cyber-telegram --dry-run # Read only
/cyber-telegram --no-mark-unread # Don't preserve unread state
# Create intro group
bun scripts/telegram-create-group.ts --dry-run --title "A <> B" --users "@user1,@user2"
bun scripts/telegram-create-group.ts --title "A <> B" --users "@user1,@user2" --draft "Intro message"
See workflow files for full documentation.
Dialog cache (~/.cybos/telegram/dialog-cache.json) stores all dialog IDs with access hashes for fast lookups:
telegram-save-drafts.ts to avoid fetching all dialogssave-telegram-draft.ts uses fast contacts.ResolveUsername API for @handles — resolves any Telegram user/channel instantly without scanning dialogs. Falls back to searching recent dialogs (top 200) for name-based lookups.
Drafts only - never sends messages automatically. User reviews and sends manually in Telegram.
development
Best practices for Remotion - Video creation in React
content-media
Generate Excalidraw diagrams from text content. Supports three output modes - Obsidian (.md), Standard (.excalidraw), and Animated (.excalidraw with animation order). Triggers on "Excalidraw", "画图", "流程图", "思维导图", "可视化", "diagram", "标准Excalidraw", "standard excalidraw", "Excalidraw动画", "动画图", "animate".
development
Senior UI/UX Engineer. Architect digital interfaces overriding default LLM biases. Enforces metric-based rules, strict component architecture, CSS hardware acceleration, and balanced design engineering.
documentation
Iterative critique and improvement of long-form content (guidebooks, playbooks, essays). Launches parallel judge subagents for multi-dimensional critique, synthesizes findings, presents proposals for user approval. Never edits without consent.