Agent skill
metabot
MetaBot HTTP API for agent collaboration: talk to other bots, schedule tasks, manage bots and peers. Use when the user wants to delegate work to another bot, schedule tasks, create/remove bots, or check peer status.
Install this agent skill to your Project
npx add-skill https://github.com/xvirobotics/metabot/tree/main/src/skills/metabot
SKILL.md
MetaBot API
MetaBot exposes an HTTP API for agent-to-agent collaboration, task scheduling, and bot management.
Your bot name and chat ID are provided in the system prompt (look for "You are running as bot ... in chat ..."). Use those values for botName and chatId in the commands below.
Quick Commands (mb shortcut)
The mb shell function is pre-installed and handles auth automatically. Prefer mb over raw curl:
# Bots
mb bots # List all bots (local + peer)
mb bot <name> # Get bot details
# Agent Talk (cross-instance auto-routing)
mb talk <botName> <chatId> <prompt> # Talk to a bot
mb talk alice/backend-bot <chatId> <prompt> # Talk to a specific peer's bot
# Peers
mb peers # List peers and their status
# Scheduling (one-time)
mb schedule list # List all scheduled tasks
mb schedule add <bot> <chatId> <sec> <prompt> # Schedule a one-time future task
mb schedule cancel <id> # Cancel a scheduled task
# Scheduling (recurring / cron)
mb schedule cron <bot> <chatId> '<cronExpr>' <prompt> # Create recurring task
mb schedule pause <id> # Pause a recurring task
mb schedule resume <id> # Resume a paused recurring task
# Voice Call (RTC — real-time Doubao AI)
mb voice call <bot> <chatId> [prompt] # Start voice call, wait for transcript
mb voice transcript <sessionId> # Get call transcript
mb voice list # List active voice sessions
mb voice config # Check RTC configuration
# Skill Hub (cross-bot skill sharing)
mb skills # List all shared skills (local + peer)
mb skills search <query> # Search skills by keyword
mb skills get <name> # Get skill details
mb skills publish <botName> <skillName> # Publish a bot's skill to the hub
mb skills install <skillName> <botName> # Install a skill to a bot
mb skills remove <name> # Unpublish a skill
# Monitoring
mb stats # Cost & usage stats (per-bot, per-user)
mb metrics # Prometheus metrics
# System
mb health # Health check
Cross-Instance Agent Talk
When you talk to a bot that isn't on the local instance, MetaBot automatically routes the request to the peer instance that hosts that bot. No special syntax is needed — just use mb talk <botName> <chatId> <prompt> as usual.
Use qualified names to target a specific peer: mb talk <peerName>/<botName> <chatId> <prompt>.
Use mb bots to see all available bots including those on peer instances (they will have peerName and peerUrl fields indicating which instance hosts them).
API Reference (for complex operations)
For operations not covered by mb (creating bots, updating tasks, sendCards option), use the API directly.
Auth header: -H "Authorization: Bearer $METABOT_API_SECRET"
Base URL: !echo http://localhost:${METABOT_API_PORT:-9100}
Talk to a bot (primary endpoint):
curl -s -X POST http://localhost:${METABOT_API_PORT:-9100}/api/talk \
-H "Authorization: Bearer $METABOT_API_SECRET" \
-H "Content-Type: application/json" \
-d '{"botName":"<bot>","chatId":"<chatId>","prompt":"<message>","sendCards":true}'
The botName field supports qualified names: "alice/backend-bot" routes directly to the peer named "alice".
Create Feishu bot:
curl -s -X POST http://localhost:${METABOT_API_PORT:-9100}/api/bots \
-H "Authorization: Bearer $METABOT_API_SECRET" \
-H "Content-Type: application/json" \
-d '{"platform":"feishu","name":"<name>","feishuAppId":"...","feishuAppSecret":"...","defaultWorkingDirectory":"/path","installSkills":true}'
Create Telegram bot:
curl -s -X POST http://localhost:${METABOT_API_PORT:-9100}/api/bots \
-H "Authorization: Bearer $METABOT_API_SECRET" \
-H "Content-Type: application/json" \
-d '{"platform":"telegram","name":"<name>","telegramBotToken":"...","defaultWorkingDirectory":"/path","installSkills":true}'
Remove bot:
curl -s -X DELETE http://localhost:${METABOT_API_PORT:-9100}/api/bots/<name> \
-H "Authorization: Bearer $METABOT_API_SECRET"
Update scheduled task:
curl -s -X PATCH http://localhost:${METABOT_API_PORT:-9100}/api/schedule/<id> \
-H "Authorization: Bearer $METABOT_API_SECRET" \
-H "Content-Type: application/json" \
-d '{"prompt":"updated prompt","delaySeconds":7200}'
Create recurring scheduled task (cron):
curl -s -X POST http://localhost:${METABOT_API_PORT:-9100}/api/schedule \
-H "Authorization: Bearer $METABOT_API_SECRET" \
-H "Content-Type: application/json" \
-d '{"botName":"<bot>","chatId":"<chatId>","prompt":"<task>","cronExpr":"0 8 * * 1-5","timezone":"Asia/Shanghai","label":"Daily report"}'
Cron format: minute hour day month weekday (5 fields). Examples: 0 8 * * * = daily 8am, 0 8 * * 1-5 = weekdays 8am, */30 * * * * = every 30 min. Default timezone: Asia/Shanghai.
Pause/resume recurring task:
curl -s -X POST http://localhost:${METABOT_API_PORT:-9100}/api/schedule/<id>/pause \
-H "Authorization: Bearer $METABOT_API_SECRET"
curl -s -X POST http://localhost:${METABOT_API_PORT:-9100}/api/schedule/<id>/resume \
-H "Authorization: Bearer $METABOT_API_SECRET"
Update recurring task:
curl -s -X PATCH http://localhost:${METABOT_API_PORT:-9100}/api/schedule/<id> \
-H "Authorization: Bearer $METABOT_API_SECRET" \
-H "Content-Type: application/json" \
-d '{"cronExpr":"0 9 * * *","prompt":"Updated prompt","timezone":"Asia/Shanghai"}'
List peers:
curl -s http://localhost:${METABOT_API_PORT:-9100}/api/peers \
-H "Authorization: Bearer $METABOT_API_SECRET"
When asked to create a bot:
- Ask user for platform + credentials + project name + working directory
- POST /api/bots with installSkills:true
- Report success — new bot activates within ~3 seconds via PM2 file-watch
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
frontend-design
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
doubao-tts
Generate high-quality speech audio using Doubao (豆包/Volcengine) TTS API. Use this skill when the user asks to generate audio, podcasts, voiceovers, or text-to-speech output.
metamemory
Read and write shared memory documents. Use this when you need to save knowledge, notes, research findings, or project context for future reference across sessions. Also use it to look up previously stored information.
metaskill
The meta-skill: create AI agent teams, individual agents, or custom skills for any project. Use when the user wants to generate a complete .claude/ agent team, create a single agent, or create a single skill.
skill-hub
Discover, search, and install shared skills from the Skill Hub registry. Use when the user wants to find available skills, share a skill with other bots, or install a skill from the hub.
voice
Convert text to speech audio using mb voice CLI. Use when the user asks you to speak, say something aloud, generate audio, or produce a voice recording.
Didn't find tool you were looking for?