AgentSkillsCN

tg-ingest

主要Telegram界面。功能齐全的CLI,用于消息导出、DM管理、群组同步、联系人评分和线程状态。当用户提到“telegram”、“tg”、“@用户名”或Telegram专用术语时使用。触发条件:“telegram消息”、“导出telegram”、“telegram DMs”、“telegram群组”、“同步telegram”、“@用户名消息”、“telegram联系人”。这是独立的——不要将Telegram操作委托给unified-messages。

SKILL.md
--- frontmatter
name: tg-ingest
description: >
  Primary Telegram interface. Full-featured CLI for message export, DM management,
  group sync, contact scoring, and thread state. Use when user mentions "telegram",
  "tg", "@username", or telegram-specific terms. Triggers: "telegram messages",
  "export telegram", "telegram DMs", "telegram groups", "sync telegram",
  "@username messages", "telegram contacts". This is STANDALONE - do not defer
  to unified-messages for telegram operations.

Telegram Export (tg-ingest)

Primary interface for all Telegram operations. Standalone and full-featured.

Location: /Users/satoshi/data/tg-ingest

Quick Start

bash
cd /Users/satoshi/data/tg-ingest

# Check status
poetry run tg_export status

# Sync all DMs + whitelisted groups
poetry run tg_export sync-all

# Export specific DM
poetry run tg_export dump-dm --user vibhu --out exports/vibhu.jsonl

# List DMs
poetry run tg_export list-dms

Core Workflows

Quick Export for AI Context (Recommended)

Get recent messages as markdown, ready to paste into Claude:

bash
# Syncs first, outputs to stdout (last 24h)
python scripts/quick_export.py klutch

# Custom time range
python scripts/quick_export.py klutch --hours 48

# Copy to clipboard
python scripts/quick_export.py klutch | pbcopy

# Visual copy in browser
python scripts/quick_export.py klutch | quick-view

# Intentional save
python scripts/quick_export.py klutch --save
# → exports/klutch_2026-01-02.md

See references/files.md for file management philosophy.

Export via CLI (Alternative)

bash
# By username (pulls from API, may have caching issues)
poetry run tg_export dump-dm --user vibhu --out vibhu.jsonl

# Last 7 days only
poetry run tg_export dump-dm --user vibhu --last 7d --out vibhu.jsonl

Note: Prefer quick_export.py for reading synced data. Use dump-dm only for initial exports.

Sync Operations

bash
# One-shot sync (DMs + whitelisted groups)
poetry run tg_export sync-all

# Backfill older messages
poetry run tg_export sync-all --backfill

# Live continuous sync
poetry run tg_export live --interval 5m

# Sync DMs only
poetry run tg_export sync-dms --dir data/dms

Manage Thread State

Thread states are stored in data/decisions.jsonl.

bash
# Via CLI (if implemented) or direct file edit
# States: pending, done, archived
# Also supports: draft, snooze, note

See references/state.md for state management details.

Manage Groups

bash
# List registered groups
poetry run tg_export groups list

# Add a group to sync
poetry run tg_export groups add "crypto trenches" --type trading

# Sync groups
poetry run tg_export groups sync

# Backfill group history
poetry run tg_export groups backfill crypto_trenches --limit 1000

See references/groups.md for registry management.

Contact Lookup & Scoring

bash
# Initialize contacts from DMs
poetry run tg_export contacts-init --dm-dir data/dms

# List contacts by priority
poetry run tg_export contacts-list --tier high

# Score all contacts
poetry run tg_export contacts-score

# Show contact details
poetry run tg_export contacts-show vibhu

See references/contacts.md for scoring algorithm.

Data Locations

PathPurpose
data/dms/DM exports (*.jsonl + *.jsonl.idx)
data/groups/Group exports
data/registry.jsonGroup registry
data/decisions.jsonlThread states
data/session.sessionTelethon auth
contacts/Contact database

Authentication

First-time setup:

bash
# Set env vars (in .env or shell)
export TG_API_ID=your_id
export TG_API_HASH=your_hash

# Login (interactive)
poetry run tg_export login

Session persists in data/session.session.

Thread ID Format

Telegram threads use format: tg:dm:username or tg:group:slug

Examples:

  • tg:dm:vibhu - DM with @vibhu
  • tg:group:crypto_trenches - Group chat