paperclip-api
Use when managing Paperclip AI agent companies - creating tasks, managing agents, approving hires, running heartbeats, or any…
Use when operating, debugging, deploying, or monitoring a Telegram bot or Telegram-to-agent gateway. Triggers on "telegram bot down", "bot not responding", "debug bot", "check webhook", "polling vs webhook", "restart bot", "deploy bot", "bot logs", "agent gateway", "Telegram Bot
Claude Code
$ npx -y skills add serejaris/personal-corp-os --skill tg-bot-ops --agent claude-code
Codex
$ npx skills add serejaris/personal-corp-os --skill tg-bot-ops -a codex -y
Cursor
$ npx skills add serejaris/personal-corp-os --skill tg-bot-ops -a cursor -y
Gemini CLI
$ npx skills add serejaris/personal-corp-os --skill tg-bot-ops -a gemini-cli -y
GitHub Copilot
$ npx skills add serejaris/personal-corp-os --skill tg-bot-ops -a github-copilot -y
OpenCode
$ npx skills add serejaris/personal-corp-os --skill tg-bot-ops -a opencode -y
Windsurf
$ npx skills add serejaris/personal-corp-os --skill tg-bot-ops -a windsurf -y
name: tg-bot-ops description: Use when operating, debugging, deploying, or monitoring a Telegram bot or Telegram-to-agent gateway. Triggers on "telegram bot down", "bot not responding", "debug bot", "check webhook", "polling vs webhook", "restart bot", "deploy bot", "bot logs", "agent gateway", "Telegram Bot API error", "send test message", "бот не отвечает", "проверь бота", "логи бота", "перезапусти бота". Covers health checks, logs, webhook/polling diagnostics, environment validation, safe restart/deploy checklists, Bot API smoke tests, forum topic delivery, privacy mode, gateway routing, and incident notes.
Use this skill when the real question is whether a Telegram bot is receiving updates, processing them in the intended runtime, and sending visible responses to the right chat, user, or forum topic.
payment payloads, session files, or full user records.
`<TELEGRAM_USER_ID>`, `<CHAT_ID>`, `<TOPIC_ID>`, `<WEBHOOK_URL>`.
edit BotFather settings, or deploy until the user has authorized that exact action.
user it must be rotated before public release.
If the repo or runtime is unclear, identify:
1. **Repo and runtime** — inspect entrypoints, process manager, deploy files, and current git state. 2. **Environment** — verify required env var names exist without printing values. 3. **Update intake** — classify runtime: HTTP Bot API webhook, HTTP Bot API polling, MTProto bot session, or MTProto user session. 4. **Bot API identity** — for Bot API-token runtimes, run `getMe` using a masked token path. 5. **Webhook/polling mode** — for Bot API-token runtimes, run `getWebhookInfo` and inspect runtime logs. 6. **Single update owner** — resolve `409 Conflict` by reading the error text: webhook conflict means webhook/deleteWebhook path; competing `getUpdates` means find the polling owner. 7. **Telegram delivery** — use a fresh nonce for Bot API or Telethon/user-session E2E when user-visible behavior matters. 8. **Handler/runtime** — prove the runtime received and processed the update. 9. **Outbound response** — prove the bot sent to the expected chat/topic. 10. **Incident note** — report symptom, evidence, root cause, fix, and residual risk.
When the bot is a gateway from Telegram into an agent runtime, read [references/hermes-gateway.md](references/hermes-gateway.md). The reference is Hermes-compatible but intentionally generic: bot handle, host, service name, home directory, chat ids, topic ids, env paths, and logs must be placeholders or redacted.
`sendMessage`, `getMe`, callbacks, payments, and join requests.
`start(bot_token=...)` or a user-session E2E harness for what a Telegram user sees.
polling, MTProto bot session, or MTProto user session. Do not mix without a clear deduplication plan.
Safe read-only checks should avoid putting the token-bearing URL in shell history, process listings, or copied logs. Prefer a tiny local helper:
import json, os, urllib.request
token = os.environ["TELEGRAM_BOT_TOKEN"]
for method in ("getMe", "getWebhookInfo"):
with urllib.request.urlopen(f"https://api.telegram.org/bot{token}/{method}") as response:
data = json.load(response)
print(method, {"ok": data.get("ok"), "result_keys": sorted((data.get("result") or {}).keys())})Do not paste the token-bearing URL into notes or issues. In reports, write:
getWebhookInfo: webhook_url=<set|empty>, pending_update_count=<n>, last_error=<redacted>
Direct `getUpdates` diagnostics can consume pending updates. Use it only with a fresh nonce, short timeout, known update owner, and restore plan.
`message_thread_id`. Preserve `message_thread_id` for non-General topics.
inline messages via the bot, service messages, private chats, and channel messages where they are a member. Admin bots can receive all group messages.
requires explicit user authorization.
Before restarting or deploying:
Answer with:
1. **Status** — `not checked`, `local only`, `runtime checked`, `verified in Telegram`, or `blocked`. 2. **Evidence** — commands/logs checked, with secrets redacted. 3. **Finding** — the failing layer or confirmed healthy layer. 4. **Action** — what changed or the next safe step. 5. **Public safety** — note if any secret, user data, or private payload was found.
Manager uses your local Manager Config for repositories and boards; the distributed skill contains no personal workspace logs.
Use when managing Paperclip AI agent companies - creating tasks, managing agents, approving hires, running heartbeats, or any…
Experimental. Daily retro from your agents' own logs: reads today's Claude Code and Codex sessions on this machine, groups them…
Orchestrate iterative visual style searches with branch prompts, decision graphs, feedback loops, and final direction selection.
Audits the agent rules in the current folder (AGENTS.md, nested AGENTS.md files) and the skill descriptions the agent sees at…
Робот агента Personal Corp. Агент делает себе голову робота из набора деталей, хранит её в штабе в stack/avatars.json и кладёт в…
Use when choosing between engines or models for an agent pipeline and the answer must come from measurement on your own data, not…
Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…
Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…