Pytdbot
pytdbot/client
Write Telegram bots and userbots with Pytdbot (async TDLib wrapper with high-level helpers; not the Telegram Bot API).
You need to create a new agent, restart a crashed agent, change an agent's model or config, fix a Telegram bot token, troubleshoot why an agent is not responding, enable or disable an agent, spawn…
$ npx skills add grandamenium/cortextos --skill agent-management -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install grandamenium/cortextos agent-management --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/grandamenium/cortextos.git skills-src && mkdir -p .claude/skills && cp -r skills-src/community/skills/agent-management .claude/skills/agent-management && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "agent-management" agent skill from https://github.com/grandamenium/cortextos/tree/main/community/skills/agent-management into .claude/skills/agent-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-management", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/grandamenium/cortextos/tree/main/community/skills/agent-managementType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add grandamenium/cortextos --skill agent-management -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install grandamenium/cortextos agent-management --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/grandamenium/cortextos.git skills-src && mkdir -p .agents/skills && cp -r skills-src/community/skills/agent-management .agents/skills/agent-management && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "agent-management" agent skill from https://github.com/grandamenium/cortextos/tree/main/community/skills/agent-management into .agents/skills/agent-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-management", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add grandamenium/cortextos --skill agent-management -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install grandamenium/cortextos agent-management --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/grandamenium/cortextos.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/community/skills/agent-management .cursor/skills/agent-management && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "agent-management" agent skill from https://github.com/grandamenium/cortextos/tree/main/community/skills/agent-management into .cursor/skills/agent-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-management", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/grandamenium/cortextos.git --path community/skills/agent-management--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add grandamenium/cortextos --skill agent-management -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install grandamenium/cortextos agent-management --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/grandamenium/cortextos.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/community/skills/agent-management .gemini/skills/agent-management && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "agent-management" agent skill from https://github.com/grandamenium/cortextos/tree/main/community/skills/agent-management into .gemini/skills/agent-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-management", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install grandamenium/cortextos agent-managementInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add grandamenium/cortextos --skill agent-management -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/grandamenium/cortextos.git skills-src && mkdir -p .github/skills && cp -r skills-src/community/skills/agent-management .github/skills/agent-management && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "agent-management" agent skill from https://github.com/grandamenium/cortextos/tree/main/community/skills/agent-management into .github/skills/agent-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-management", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add grandamenium/cortextos --skill agent-management -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install grandamenium/cortextos agent-management --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/grandamenium/cortextos.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/community/skills/agent-management .opencode/skills/agent-management && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "agent-management" agent skill from https://github.com/grandamenium/cortextos/tree/main/community/skills/agent-management into .opencode/skills/agent-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-management", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
agent-managementYou need to create a new agent, restart a crashed agent, change an agent's model or config, fix a Telegram bot token, troubleshoot why an agent is not responding, enable or disable an agent, spawn…
Agent Management is an agent skill from grandamenium/cortextos. You need to create a new agent, restart a crashed agent, change an agent's model or config, fix a Telegram bot token, troubleshoot why an agent is not responding, enable or disable an agent, spawn an agent for another user, manage PM2 process management, reset crash limits, or do anything that touches an agent's lifecycle, configuration, or credentials. This is the definitive guide for every agent operation in cortextOS.
Its SKILL.md is about 4.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Productivity & Automation, covering Chatbots and conversational support. It works with Telegram. The licence is MIT.
10 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 6f93838. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
nodecurlFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
api.telegram.orgFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
BOT_TOKENTHEIR_BOT_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Agent Management loads about 4.2k tokens when it runs. Until then it costs about 110 tokens; SKILL.md has 1,083 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
ard", "setup agent", "configure agent", ".env", "config.json", "pm2", "ecosystem.config", "cross-org", "agent for someonLI.** Never manually edit state files or .env without using the proper command.2. **ALWAYS create .env before enabling.** An agent without .env will inherit parent credentials (the Becky bug).# Step 5: Write .env (CRITICAL - do this BEFORE cortextos enable)MEWORK_ROOT/orgs/$ORG/agents/$AGENT_NAME/.env" << EOFMEWORK_ROOT/orgs/$ORG/agents/$AGENT_NAME/.env"# Step 2: Write THEIR .env (CRITICAL - must be THEIR credentials)MEWORK_ROOT/orgs/$ORG/agents/$AGENT_NAME/.env" << EOFMEWORK_ROOT/orgs/$ORG/agents/$AGENT_NAME/.env"essages come to you instead of them, the .env has wrong CHAT_IDAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from grandamenium/cortextos at commit 6f93838, republished under its MIT licence (© grandamenium). 1,083 words, ~4,159 tokens.
.claude/skills/agent-management/SKILL.md (or your agent's skills folder).The definitive guide for managing cortextOS agent lifecycle. Every operation, every script, every protocol. Follow these EXACTLY - do not improvise.
cortextos bus self-restart, never raw /exit.cortextos enable to start agents. Never manually edit PM2 config.# Option A: CLI (recommended)
# STEP 0 — REQUIRED BEFORE SCAFFOLDING — Ask the user which runtime:
# "Should this agent run on Claude Code (Anthropic), Codex (OpenAI gpt-5-codex),
# or OpenCode (provider-agnostic TUI, default model openai/gpt-4.1-nano)?"
# Default to claude-code if the user has no preference. Never silently pick.
# Codex agents MUST use the agent-codex template; OpenCode agents MUST use the
# agent-opencode template. Passing --template agent auto-maps to the runtime's
# native bootstrap (agent-codex for codex, agent-opencode for opencode).
# orchestrator/analyst/m2c1-worker have no codex/opencode variant: codex is
# rejected outright with those templates; opencode is not blocked but would
# scaffold a Claude-oriented bootstrap under an opencode runtime, so avoid it.
# claude-code path (the common one):
cortextos add-agent <name> --template agent --org <org> --runtime claude-code
# codex-app-server path (gpt-5-codex via codex CLI app-server JSONRPC):
cortextos add-agent <name> --template agent-codex --org <org> --runtime codex-app-server
# opencode path (provider-agnostic OpenCode TUI; ships the context-handoff
# lifecycle, default-on at 60% of the context window; model set in config.json,
# default openai/gpt-4.1-nano). --template agent auto-maps to agent-opencode:
cortextos add-agent <name> --template agent-opencode --org <org> --runtime opencode
# Option B: Manual
TEMPLATE="agent" # or "orchestrator" or "analyst"
AGENT_NAME="myagent"
ORG="myorg"
# Step 1: Copy template
cp -r "$CTX_FRAMEWORK_ROOT/templates/$TEMPLATE" \
"$CTX_FRAMEWORK_ROOT/orgs/$ORG/agents/$AGENT_NAME"
# Step 2: Create Telegram bot
# Tell the user:
# 1. Open Telegram, message @BotFather
# 2. Send /newbot
# 3. Choose a name (e.g., "My Agent")
# 4. Choose a username (e.g., myagent_cortextos_bot)
# 5. Copy the bot token
# Step 3: Get chat ID
# Tell the user:
# 1. Send any message to the new bot
# 2. Run: curl -s "https://api.telegram.org/bot<TOKEN>/getUpdates" | jq '.result[0].message.chat.id'
# 3. That number is the chat_id
# Step 4: Get user ID (for ALLOWED_USER security)
# Same getUpdates response: .result[0].message.from.id
# Step 5: Write .env (CRITICAL - do this BEFORE cortextos enable)
cat > "$CTX_FRAMEWORK_ROOT/orgs/$ORG/agents/$AGENT_NAME/.env" << EOF
BOT_TOKEN=<token from BotFather>
CHAT_ID=<chat_id from getUpdates>
ALLOWED_USER=<user_id from getUpdates>
EOF
chmod 600 "$CTX_FRAMEWORK_ROOT/orgs/$ORG/agents/$AGENT_NAME/.env"
# Step 6: Update config.json
node -e "
const fs = require('fs');
const path = '$CTX_FRAMEWORK_ROOT/orgs/$ORG/agents/$AGENT_NAME/config.json';
const c = JSON.parse(fs.readFileSync(path));
c.agent_name = '$AGENT_NAME';
c.enabled = true;
fs.writeFileSync(path, JSON.stringify(c, null, 2));
"
# Step 7: Enable agent (registers with daemon)
cortextos enable "$AGENT_NAME" --org "$ORG"
# Step 8: Verify
cortextos statusAGENT_NAME="theiragent"
ORG="myorg"
THEIR_BOT_TOKEN="<token from THEIR BotFather bot>"
THEIR_CHAT_ID="<THEIR chat_id, NOT yours>"
THEIR_USER_ID="<THEIR user_id>"
# Step 1: Add agent via CLI
cortextos add-agent "$AGENT_NAME" --template agent --org "$ORG"
# Step 2: Write THEIR .env (CRITICAL - must be THEIR credentials)
cat > "$CTX_FRAMEWORK_ROOT/orgs/$ORG/agents/$AGENT_NAME/.env" << EOF
BOT_TOKEN=$THEIR_BOT_TOKEN
CHAT_ID=$THEIR_CHAT_ID
ALLOWED_USER=$THEIR_USER_ID
EOF
chmod 600 "$CTX_FRAMEWORK_ROOT/orgs/$ORG/agents/$AGENT_NAME/.env"
# Step 3: Enable
cortextos enable "$AGENT_NAME" --org "$ORG"
# VERIFY: The new agent messages THEM, not you
# If messages come to you instead of them, the .env has wrong CHAT_IDCommon Mistake (Becky Bug): If you skip the .env creation, the agent inherits YOUR credentials from the parent environment. Messages meant for the other user go to YOU instead. ALWAYS create .env BEFORE enabling.
# Via bus command (preferred — writes marker file automatically)
cortextos bus self-restart --reason "<reason>"
# Restart a DIFFERENT agent
cortextos bus send-message <agent_name> high "soft-restart" "<reason>"What it does:
.user-restart marker (prevents false crash alert)cortextos bus hard-restart --reason "context exhaustion"When to use: Context window full, conversation corrupted, need clean slate, or wiring a new hook (see Hook Reload Lifecycle below). Hard-restart sends an IPC restart-agent signal to the daemon, which kills the running PID and respawns it fresh. The respawn consumes the .force-fresh marker and skips --continue, so settings.json (including newly-wired hooks) is re-read from scratch.
.claude/settings.json hooks (PreToolUse, PostToolUse, Stop, SessionStart, etc) are loaded once when the Claude CLI process starts. They are NOT reloaded by cortextos bus self-restart — soft restart relaunches Claude with --continue, which reuses the existing process settings cache. Project-level hooks added or changed in settings.json since the original boot DO NOT take effect under soft restart.
When wiring a new hook to a running agent, use a hard restart, not a soft restart:
# From inside the agent itself, or from another agent/terminal:
cortextos bus hard-restart --reason "loading new hook"
# Equivalent ops-side path:
cortextos stop <agent> && cortextos start <agent>Both kill the existing PID and respawn a fresh process that re-reads settings.json from scratch. Verify by adding a one-line debug write to your hook script before testing — if the file shows up after a benign tool call, the hook is loaded.
This bit us hard on the coder-telegram-guardrail wire-up before upstream PR #217 fixed bus hard-restart to actually signal the daemon. On any fork that has not pulled in #217 (commit a38ef7a), bus hard-restart writes markers without killing the PID — fall back to external stop && start until the fork is rebased.
# Soft restart another agent via message bus
cortextos bus send-message assistant high "soft-restart" "goal refresh"
# Check status after restart
cortextos statusAGENT="sentinel"
ORG="myorg"
NEW_MODEL="claude-sonnet-4-6" # or "claude-opus-4-6" or "claude-haiku-4-5-20251001"
# Step 1: Update config.json
node -e "
const fs = require('fs');
const path = '$CTX_FRAMEWORK_ROOT/orgs/$ORG/agents/$AGENT/config.json';
const c = JSON.parse(fs.readFileSync(path));
c.model = '$NEW_MODEL';
fs.writeFileSync(path, JSON.stringify(c, null, 2));
"
# Step 2: Soft restart to pick up new model
cortextos bus send-message "$AGENT" high "soft-restart" "model change to $NEW_MODEL"Available models:
claude-opus-4-6 - Most capable, highest costclaude-sonnet-4-6 - Good balance, ~5x cheaper than Opusclaude-haiku-4-5-20251001 - Fastest, cheapest, for simple tasksNo model set = default (Opus). Always set explicitly for cost control.
Guide the user through BotFather:
/newbotbot, e.g., assistant_myorg_bot)1234567890:AAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)After the user messages the bot:
BOT_TOKEN="<the token>"
curl -s "https://api.telegram.org/bot${BOT_TOKEN}/getUpdates" | \
node -e "const d=JSON.parse(require('fs').readFileSync('/dev/stdin','utf8')); console.log(d.result[0].message.chat.id)"Note: If getUpdates returns empty, the user needs to send /start to the bot first.
AGENT="assistant"
ORG="myorg"
# Edit .env (replace BOT_TOKEN line)
sed -i '' "s/^BOT_TOKEN=.*/BOT_TOKEN=<new_token>/" \
"$CTX_FRAMEWORK_ROOT/orgs/$ORG/agents/$AGENT/.env"
# Restart to pick up new token
cortextos bus send-message "$AGENT" high "soft-restart" "bot token updated"BOT_TOKEN=<telegram bot token>
CHAT_ID=<telegram chat id for the user>
ALLOWED_USER=<telegram user id for security filtering>chmod 600 "$CTX_FRAMEWORK_ROOT/orgs/$ORG/agents/$AGENT/.env"AGENT_ENV="$CTX_FRAMEWORK_ROOT/orgs/$ORG/agents/$AGENT/.env"
if [[ ! -f "$AGENT_ENV" ]]; then
echo "ERROR: No .env file for $AGENT!"
elif ! grep -q "BOT_TOKEN=" "$AGENT_ENV"; then
echo "ERROR: Missing BOT_TOKEN in $AGENT .env"
elif ! grep -q "CHAT_ID=" "$AGENT_ENV"; then
echo "ERROR: Missing CHAT_ID in $AGENT .env"
elif ! grep -q "ALLOWED_USER=" "$AGENT_ENV"; then
echo "WARNING: Missing ALLOWED_USER - agent will reject all Telegram messages"
fiAGENT="sentinel"
ORG="myorg"
node -e "
const fs = require('fs');
const path = '$CTX_FRAMEWORK_ROOT/orgs/$ORG/agents/$AGENT/config.json';
const c = JSON.parse(fs.readFileSync(path));
if (!c.crons) c.crons = [];
c.crons.push({ name: 'new-cron', interval: '2h', prompt: 'Do the thing' });
fs.writeFileSync(path, JSON.stringify(c, null, 2));
"
# Notify agent that crons have been updated
cortextos bus send-message "$AGENT" normal \
'Crons updated in crons.json. The daemon scheduler will pick up the change automatically. To verify: cortextos bus list-crons '"$AGENT"node -e "
const fs = require('fs');
const path = '$CTX_FRAMEWORK_ROOT/orgs/$ORG/agents/$AGENT/config.json';
const c = JSON.parse(fs.readFileSync(path));
c.crons = (c.crons || []).filter(cr => cr.name !== 'cron-to-remove');
fs.writeFileSync(path, JSON.stringify(c, null, 2));
"
cortextos bus send-message "$AGENT" normal 'Cron removed from config.json. Recreate your crons on next restart.'cortextos enable <agent> --org <org>cortextos disable <agent> --org <org>This stops the agent's PM2 process and marks the agent as disabled. Config and .env are preserved.
cortextos status
cortextos bus read-all-heartbeatscat "$HOME/.cortextos/default/state/$AGENT/heartbeat.json"cortextos bus list-agents --format jsonpm2 list
pm2 jlist | node -e "
const d=JSON.parse(require('fs').readFileSync('/dev/stdin','utf8'));
d.forEach(p => console.log(p.name, p.pm2_env.status));
"rm -f "$HOME/.cortextos/default/state/$AGENT/.crash_count_today"echo "" > "$HOME/.cortextos/default/state/$AGENT/.force-fresh"
cortextos enable "$AGENT" --org "$ORG" --restartps aux | grep fast-checker | grep $AGENTtail -10 $HOME/.cortextos/default/logs/$AGENT/fast-checker.logcortextos statuscat $HOME/.cortextos/default/state/$AGENT/.crash_count_todaytail -20 $HOME/.cortextos/default/logs/$AGENT/stderr.logcortextos enable <agent> --restartpm2 listpm2 logs <agent-process-name>cortextos ecosystem then pm2 restart ecosystem.config.jscortextos enable <agent> --restartsettings.json is valid JSON and the hook block is in the right shape (matcher, type=command, etc).--continue does not reload project hooks (see Hook Reload Lifecycle in Section 2).cortextos bus hard-restart --reason "load new hook". The daemon kills the PID and respawns a fresh process that re-reads settings.json./tmp/<agent>-hook-test.log at the very top of main(), run a benign tool, and check whether the file appears. If yes, the hook is firing but the script is returning early. If no, the hook is wired wrong in settings.json.| I need to... | Command |
|---|---|
| Create new agent | cortextos add-agent <name> --template agent --org <org> --runtime claude-code (or --template agent-codex --runtime codex-app-server, or --template agent-opencode --runtime opencode, after asking the user which runtime) |
| Enable agent | cortextos enable <agent> --org <org> |
| Disable agent | cortextos disable <agent> --org <org> |
| Soft restart (self) | cortextos bus self-restart --reason "<reason>" |
| Hard restart (self) | cortextos bus hard-restart --reason "<reason>" |
| Restart another agent | cortextos bus send-message <agent> high "soft-restart" "<reason>" |
| Change model | Edit config.json model field + soft restart |
| Update bot token | Edit .env BOT_TOKEN + soft restart |
| Add cron | Edit config.json crons + notify agent |
| Check health | cortextos status or cortextos bus read-all-heartbeats |
| List agents | cortextos bus list-agents --format json |
| Check PM2 | pm2 list |
| Reset crash count | rm ~/.cortextos/default/state/<agent>/.crash_count_today |
| Force fresh start | Write .force-fresh + cortextos enable --restart |
© grandamenium, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in community/skills/agent-management of grandamenium/cortextos.
Open the folder on GitHubat commit 6f93838
Agent Management next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Agent Management this skillgrandamenium/cortextos | 101 | — | ~4.2k | Automated safety check: Notes | MIT | |
| Pytdbotpytdbot/client | 137 | — | ~4.3k | Automated safety check: Pass | MIT | |
| Setupterranc/claude-telegram-bot-bridge | 134 | — | ~1.5k | Automated safety check: Notes | None | |
| MuseKevPH2026/muse-catch | 128 | — | ~865 | Automated safety check: Pass | AGPL-3.0 | |
| Add Telegram API Testsvendelieu/telegram-bot | 249 | — | ~609 | Automated safety check: Notes | Apache-2.0 | |
| Add Wizard Handlervendelieu/telegram-bot | 249 | — | ~508 | Automated safety check: Pass | Apache-2.0 |
pytdbot/client
Write Telegram bots and userbots with Pytdbot (async TDLib wrapper with high-level helpers; not the Telegram Bot API).
terranc/claude-telegram-bot-bridge
Install and configure the Telegram Skill Bot. An agent skill from terranc/claude-telegram-bot-bridge.
KevPH2026/muse-catch
Muse · Catch — AI灵感捕手。浏览器插件+Telegram Bot一键捕获,AI自动提炼,Dashboard浏览+DNA雷达+OPC Market。当用户说「灵感」「捕获」「Muse」「Catch」「记下来」「收藏」时触发。
vendelieu/telegram-bot
Writes tests for Telegram Bot API actions. An agent skill from vendelieu/telegram-bot.
vendelieu/telegram-bot
Configures @WizardHandler annotation for wizard flows. An agent skill from vendelieu/telegram-bot.
CraftOS-dev/CraftBot
Manage and configure Telegram bots for OpenClaw. An agent skill from CraftOS-dev/CraftBot.
grandamenium/cortextos
Diagnose cortextOS itself when the framework misbehaves — an agent has gone silent or wedged, agents are crash-looping, Telegram or agent-to-agent messages are not arriving, crons did not fire, an…
grandamenium/cortextos
You have completed something significant and want the whole org — all agents and the user — to know about it.
grandamenium/cortextos
You need to make a purchase on behalf of the user — buy a SaaS subscription, pay for an API, purchase a domain, or any transaction requiring a credit card.
grandamenium/cortextos
Migrate ANY cortextOS agent from the claude-code runtime to the live codex-app-server runtime.
grandamenium/cortextos
Complete cortextos bus CLI reference - all available commands with examples.
grandamenium/cortextos
Daily cron-driven scan of news/forums/social in a domain to surface market shifts, new competitors, regulatory changes, and net-new opportunities.
Works with
Categories
You need to create a new agent, restart a crashed agent, change an agent's model or config, fix a Telegram bot token, troubleshoot why an agent is not responding, enable or disable an agent, spawn…. Agent Management is an agent skill from grandamenium/cortextos. You need to create a new agent, restart a crashed agent, change an agent's model or config, fix a Telegram bot token, troubleshoot why an agent is not responding, enable or disable an agent, spawn an agent for another user, manage PM2 process management, reset crash limits, or do anything that touches an agent's lifecycle, configuration, or credentials.
Agent Management fits situations like: tasks that involve Chatbots and conversational support.
Run `npx skills add grandamenium/cortextos --skill agent-management -a claude-code`. Or copy the skill folder (community/skills/agent-management in grandamenium/cortextos) into .claude/skills/agent-management in your project. Claude Code loads it when a task matches its description.
Run `npx skills add grandamenium/cortextos --skill agent-management -a codex`. Or copy the skill folder (community/skills/agent-management in grandamenium/cortextos) into .agents/skills/agent-management in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add grandamenium/cortextos --skill agent-management -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/agent-management, .gemini/skills/agent-management, .github/skills/agent-management and .opencode/skills/agent-management in your project.
Going by SKILL.md and its folder, Agent Management needs the command-line tools its instructions call (node and curl) and credentials named BOT_TOKEN and THEIR_BOT_TOKEN. Our summary lists: A credential in BOT_TOKEN; A credential in THEIR_BOT_TOKEN.
SKILL.md names 1 domain. In commands or code: api.telegram.org; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Agent Management is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.2k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Agent Management: Pytdbot (pytdbot/client, 137 stars), Setup (terranc/claude-telegram-bot-bridge, 134 stars), Muse (KevPH2026/muse-catch, 128 stars) and Add Telegram API Tests (vendelieu/telegram-bot, 249 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
grandamenium (a GitHub user) maintains it in grandamenium/cortextos, which has 101 GitHub stars. The repository holds 55 skills in this directory. The repository was last updated on September 23, 2026.
Source: grandamenium/cortextos on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.