speech115

Tg — Development skill for Claude Code

Development community

The simplest, thinnest harness that gives an agent the full Telegram surface through Telethon.

How to install Tg

This entry records only its repository, not the path inside it, so there is no exact command to give. Open speech115/tg and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Tg does

The simplest, thinnest harness that gives an agent the full Telegram surface through Telethon.

Alternatives in Development

  • MCP Language Server — mcp-language-server gives MCP enabled clients access semantic tools like get definition, references, rename, a 1.5k ★
  • Claude Canvas — A TUI toolkit that gives Claude Code its own display 1.4k ★
  • Telegram — Show Telegram bot status and manage global session 1.3k ★

README

tg

tg

**A tiny authenticated Telegram harness for agents and humans.**

One Python process. One authenticated Telegram account per run. The full Telethon surface.

`tg` keeps the runtime deliberately small: configuration, named sessions, authentication, locking, and Python process semantics. Telethon remains the Telegram API.

Telethon is the API; `tg` only provides the authenticated execution boundary. When a workflow is missing, write the missing logic as ordinary Python and run it through `tg`.

agent wants something in Telegram
        │
        ▼
      tg
        │
        ├── client.*        friendly Telethon methods
        └── functions.*     raw Telegram API when needed

**Three commands plus direct Python execution.**

tg login
tg doctor
tg skill
tg script.py

The Python distribution is `tg-harness`. The installed command is `tg`.

Give it to your agent

Install from PyPI:

uv tool install tg-harness

Or install the current GitHub version:

uv tool install git+https://github.com/speech115/tg.git

Then give the agent this instruction:

Use tg for Telegram. Read tg skill. Run tg doctor for initial setup or diagnosis,
not before every task. Ask me to handle login if authorization is missing; a busy
session is not an authorization failure. Use one tg program per decision boundary,
prefer client methods, and fall back to functions.* / types.* for raw requests.

Requires Python 3.12+ and a POSIX system (macOS or Linux).

Configure once

Create Telegram API credentials at https://my.telegram.org/apps, then create `~/.config/tg/config.toml`:

[telegram]
api_id = 123456
api_hash = "your-api-hash"

Keep the config readable only by your user:

chmod 600 ~/.config/tg/config.toml

Alternatively, set `TG_API_ID` and `TG_API_HASH` in the enviro