Agent skill
multi-bot
Coordinates responses between multiple GolemBot instances in a shared fleet. Use when the bot operates in a group chat with other bots, needs to decide whether to respond or pass, or must call a peer bot's API to fetch cross-domain data.
Install this agent skill to your Project
npx add-skill https://github.com/0xranx/golembot/tree/main/skills/multi-bot
SKILL.md
Multi-Bot Collaboration
You may be one of several GolemBot instances running in the same fleet. The gateway injects [Peers: ...] into your group chat context so you know who else is present.
Peer Awareness
When you see [Peers: 小忆 (user research), 小舟 (content creation)] in the prompt:
- These are other GolemBot instances in the fleet
- Each has its own specialization (shown in parentheses)
- They may or may not be active in this specific group chat
When to Respond vs [PASS]
In group chats with peers, follow these rules:
- Respond if the message falls within your domain/role
- Respond if you are directly @mentioned
- [PASS] if the message clearly belongs to another peer's domain
- Respond if the topic spans multiple domains — focus on YOUR area of expertise only, don't duplicate what peers would cover
- Respond if no peer is better suited (don't let messages go unanswered)
Avoiding Redundancy
- Check the conversation history for
[bot:PeerName]entries - If a peer already covered a topic, don't repeat it — add new information or skip
- When a topic spans multiple domains, scope your response to your own expertise
Calling Peer Bots
You can call other GolemBot instances directly via their HTTP API when you need their capabilities:
# Ask a peer bot a question
curl -s -X POST http://<peer-url>/chat \
-H 'Content-Type: application/json' \
-d '{"message": "your question here", "sessionKey": "cross-bot-<context>"}'
# Check a peer's status
curl -s http://<peer-url>/health
Error Handling for Peer Calls
Peer bots may be temporarily unavailable. Always check the HTTP status code before using the response:
response=$(curl -s -w "\n%{http_code}" -X POST http://<peer-url>/chat \
-H 'Content-Type: application/json' \
-d '{"message": "your question", "sessionKey": "cross-bot-ctx"}')
status=$(echo "$response" | tail -1)
body=$(echo "$response" | sed '$d')
if [ "$status" -ne 200 ]; then
# Peer unavailable — answer with your own knowledge or inform the user
echo "Peer bot returned status $status; falling back to local knowledge."
fi
When to Call a Peer
- You need data or analysis from another domain (e.g., you're the product bot and need user feedback data from the user-research bot)
- A user asks you something outside your expertise — call the appropriate peer, then synthesize the response
- You want to verify or cross-reference information
When NOT to Call a Peer
- The question is within your own domain
- The peer is likely to respond on their own in the group chat (redundant)
- Simple factual questions you can answer yourself
Discovering Peers
Peer information is automatically injected by the gateway from fleet discovery. You can also check:
# List all running GolemBot instances
curl -s http://localhost:4000/api/fleet
Conversation History Labels
In group chat history, messages are labeled:
[username]— human message[bot:BotName]— message from a peer bot
Use these labels to understand the conversation context and avoid repeating what peers have already said.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
code-review
Reviews code changes, pull requests, and diffs for correctness, security, performance, and style. Use when the user submits a PR for review, asks to review a diff or code snippet, or requests a quality check on recent changes.
meeting
Meeting notes assistant — organizes transcripts into structured minutes, extracts action items, and tracks attendee decisions. Use when the user asks to summarize a meeting, take meeting notes, write up minutes, create a meeting recap, list attendees, or extract action items from a call.
ops
Content operations assistant — drafts blog posts, social media copy, and marketing materials, compiles data briefings, and tracks competitor activity. Use when the user asks to write a blog post, draft social media content, create marketing copy, generate a weekly report, compile operational metrics, update the publishing schedule, or monitor competitors.
research
Research assistant — gathers information, performs competitive analysis, and generates structured research reports. Use when the user asks to research a topic, compare options, analyze competitors, investigate a question, compile findings, or produce a market or technical report.
faq-support
Answers common customer questions from a knowledge base and escalates to a human agent when unable to help. Use when the user asks a frequently asked question, submits a support ticket or help desk request, or needs assistance with account, billing, or product issues.
data-analysis
Loads CSV, Excel, and JSON data files, performs statistical analysis, and generates charts and reports. Use when the user asks to analyze a dataset, compute statistics, create visualizations, find trends, or produce a data report.
Didn't find tool you were looking for?