Agent skill
bot-boot
Pilot Bot boot sequence — health check, job registration, heartbeat setup
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/bot-boot
SKILL.md
Bot Boot Skill
Boot orchestrator for Pilot Bot. Runs on every bot session start via pilot bot.
The bot is an automation agent — scheduled tasks, background jobs, 24/7 operation. Telegram integration is optional (auto-detected).
Environment variables available:
PILOT_BOT_MODE=1— confirms bot contextPILOT_BOT_DIR— path to~/.pilot/bot/(contains JOBS.yaml)
Execution
Phase 1 — Single message with parallel tool calls (foreground + background agents):
| # | Type | Action |
|---|---|---|
| 1 | Foreground | Read $PILOT_BOT_DIR/JOBS.yaml to understand current job configuration. |
| 2 | Background Agent | MCP health check — silent check, no greeting (see below) |
Phase 2 — After Phase 1 completes, register crons in the main session (Cron tools are not available to subagents):
| # | Action |
|---|---|
| 3 | Heartbeat registration — First load tools: ToolSearch(query="select:CronList,CronCreate"). Then use CronList to check if a heartbeat cron already exists (look for 'bot-heartbeat' in prompt text). If it already exists, do nothing. If not found, use CronCreate with cron='*/30 * * * *' and prompt='Run /bot-heartbeat skill (invoke Skill tool with skill=bot-heartbeat)'. |
| 4 | Jobs registration — Read JOBS.yaml from $PILOT_BOT_DIR. If missing or empty (jobs: {}), skip. Otherwise use CronList to get existing crons, then for each job with active: true, register via CronCreate with cron='<schedule>' and prompt='<prompt>' if not already registered (match by job ID in prompt content). |
#2 MCP health check
description='MCP health check', run_in_background=true. Prompt:
Check MCP health silently. Do NOT send any message to any channel.
1) Check if Telegram MCP tools (reply, react) are available in the tool list. Do NOT call them — just confirm they exist. Track telegram_available.
2) If tools are not available on first check, wait 5s and recheck (up to 3 attempts).
3) Log result to console: 'Telegram: available' or 'Telegram: not available (bot will run without messaging)'.
4) Exit. Do NOT send any message via reply or any other channel tool.
Phase 3 — Boot completion (main session, after Phase 2):
- If Telegram MCP tools are available: send a boot completion message via Telegram
replytool. - If Telegram is not available: log "Pilot Bot online (no Telegram)" to console. This is normal — the bot works as a standalone automation agent.
Done
Main session is ready once Phase 3 completes. The bot now:
- Runs scheduled jobs via CronCreate registrations
- Performs periodic heartbeat checks via
/bot-heartbeat - If Telegram is available: receives and processes messages via
/bot-channel-task
Usage
/bot-boot
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?