telegram-post/SKILL.md
# Telegram Post Skill Create, preview, and send formatted Telegram posts from draft markdown files. Built for [@klodkot](https://t.me/klodkot) and Gleb Kalinin's other Telegram channels. **Note:** Channel configurations (footers, tags, language defaults) are specific to Gleb's channels. To use for your own channels, edit `CHANNEL_CONFIG` in `scripts/post.py`. **Configured channels:** [@klodkot](https://t.me/klodkot), @mentalhealthtech, @toolbuildingape, @opytnymputem ## When to Use Use this
npx skillsauth add glebis/claude-skills telegram-postInstall 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.
Create, preview, and send formatted Telegram posts from draft markdown files. Built for @klodkot and Gleb Kalinin's other Telegram channels.
Note: Channel configurations (footers, tags, language defaults) are specific to Gleb's channels. To use for your own channels, edit CHANNEL_CONFIG in scripts/post.py.
Configured channels: @klodkot, @mentalhealthtech, @toolbuildingape, @opytnymputem
Use this skill when:
Channels/*/drafts/ need to be sentcreate -- Create a new draft# Default: klodkot channel
python3 scripts/post.py create "remotion-video-creation" --topic "Remotion Agent Skill" --source "https://example.com"
# Other channel
python3 scripts/post.py create "therapy-app-review" -c mental-health-tech --topic "Therapy apps"
# With video
python3 scripts/post.py create "demo-post" --video demo.mp4 --source "https://example.com"
Creates Channels/{channel}/drafts/YYYYMMDD-{slug}.md with proper frontmatter. Returns file path and tags reference for the channel.
Options:
--channel, -c: Channel name (default: klodkot). Use list to see all--topic, -t: Topic for frontmatter--source, -s: Source URL--video, -v: Video filename (just name, not path)--language, -l: Override channel default (ru/en)send -- Send a draft# Preview first (always do this)
python3 scripts/post.py send "Channels/klodkot/drafts/20260209-post.md" --dry-run
# Send to Saved Messages (default)
python3 scripts/post.py send "Channels/klodkot/drafts/20260209-post.md"
# Send to specific chat
python3 scripts/post.py send "draft.md" --chat "@klodkot"
python3 scripts/post.py send "draft.md" -c "Tool Building Ape"
list -- List available channelspython3 scripts/post.py list
Returns: klodkot, mental-health-tech, tool-building-ape, opytnym-putem with language and tags info.
---
created_date: '[[YYYYMMDD]]'
type: draft
channel: klodkot
status: draft
language: ru
topic: Topic description
source: https://example.com
video: demo.mp4
---
## Post Title
Content with **bold** and *italic* and [links](url).
---
Second part (separate message).
The video: field should be just the filename (e.g., demo.mp4), NOT attachments/demo.mp4. Resolution order:
../attachments/ (sibling to drafts folder)Channels/klodkot/attachments/| Markdown | Telegram |
|----------|----------|
| ## Header | <b>Header</b> |
| **bold** | <b>bold</b> |
| *italic* | <i>italic</i> |
| _italic_ | <i>italic</i> |
| [text](url) | <a href> link |
| * item / - item | arrow format |
| # Title | stripped |
*, **, #, or []() remain after conversion, the script refuses to send and reports formatting_warnings--dry-run previews without sending# 1. Create draft
python3 scripts/post.py create "remotion-skills" --topic "Remotion" --source "https://..."
# 2. Edit the draft in Obsidian (fill in content, add tags from tags reference)
# 3. Preview
python3 scripts/post.py send "Channels/klodkot/drafts/20260211-remotion-skills.md" --dry-run
# 4. Send to saved messages for final review
python3 scripts/post.py send "Channels/klodkot/drafts/20260211-remotion-skills.md"
# 5. When ready, send to channel
python3 scripts/post.py send "Channels/klodkot/drafts/20260211-remotion-skills.md" -c "@klodkot"
When target is a channel (@klodkot, @mentalhealthtech), after successful send:
type: published, published_date, telegram_message_iddrafts/ to published/klodkot.md)Does NOT trigger for Saved Messages (default target) -- safe for preview sends.
parse_mode='html' (Telethon direct, not subprocess)--- markers, respects 4096 char limittelegram skill credentials (~/.telegram_dl/)development
This skill should be used when designing, running, validating, or auditing statistical experiments on personal or observational time-series data (health metrics, speech/text corpora, behavioral logs, diaries, n-of-1 self-tracking). It enforces pre-registration, exact permutation tests, FDR discipline, data-validation gates, adversarial code review, and cross-validation with external models. Triggers on "design an experiment", "test this hypothesis on my data", "is this correlation real", "audit these findings", "pre-register", "validate this dataset", or any n-of-1 / quantified-self analysis request.
development
Create Tufte-inspired data reports and infographic dashboards as standalone HTML files. Uses EB Garamond for text, Monaspace Argon for numbers, Chart.js for interactive charts, and inline SVG sparklines. Produces publication-quality reports with 2-column narrative+data layouts, status dashboards, scroll animations, and responsive mobile support. Use this skill whenever the user wants to create a data report, activity dashboard, infographic, personal analytics page, health tracker visualization, or any document that combines narrative text with interactive charts and tables. Also triggers for "make a report like Tufte", "create an infographic", "build a dashboard", "visualize my data", or requests for beautiful data-driven documents.
documentation
Cut a software release and maintain a tiered compatibility policy. Use when the user wants to release, ship a version, bump the version, tag a release, write a changelog, or update COMPATIBILITY. Config-driven via release.config.json; bumps version files, runs a readiness gate, updates COMPATIBILITY.md tiers and deprecations, tags (→ release workflow), and reports closed issues. Teaches the underlying standards as it runs.
development
Sync and manage bilingual (EN/RU) library content for agency-docs. Use when adding, updating, or reviewing library articles. Handles translation, sync checks, and Russian stylistic review.