ai-stack-analyzer
Diagnostic tool for analyzing the AI Agent Stack (Hermes, OpenClaw, LiteLLM, Honcho). Invoke this skill whenever there are routing issues, 403/429 errors, or bots not responding.
SKILL.md.agents/skills/ai-stack-analyzer/SKILL.md
GitHubAI Stack Analyzer (Hermes, OpenClaw, LiteLLM)
Use this skill whenever the user reports an issue with the AI stack (e.g., "Hermes is stuck", "OpenClaw isn't responding", "LiteLLM rate limits").
1. Check LiteLLM Proxy Status and Logs
First, verify if the AI traffic router (LiteLLM) is healthy and check for API errors (403, 429).
kubectl get pods -n ai -l app=litellm-proxy
kubectl logs -n ai deploy/litellm-proxy --tail 100
- Look for
403 Key limit exceededor429 Too Many Requests. - Ensure models don't have the
:freesuffix if the OpenRouter provider is saturated.
2. Check Hermes Agent
Check if Hermes is processing messages or retrying due to timeouts.
kubectl get pods -n ai -l app=hermes-agent-mcp
kubectl logs -n ai deploy/hermes-agent-mcp -c hermes-agent --tail 100
3. Check OpenClaw Gateway
Check if OpenClaw is running and connected to its Telegram provider.
kubectl get pods -n openclaw -l app=openclaw
kubectl logs -n openclaw deploy/openclaw -c openclaw-gateway --tail 100
- Look for
[bridge] :18790 readyto ensure the MCP deadlock bypass is active. - Check for
[telegram] isolated polling ingress started. - CRITICAL: Verify that OpenClaw and Hermes are NOT using the same Telegram Bot token. If both are polling the same token, one will silently drop messages or throw 409 conflicts.
4. Check Honcho (Memory)
If memory operations fail, check the Honcho persistence layer.
kubectl get pods -n honcho
kubectl logs -n honcho deploy/honcho-api --tail 50
Troubleshooting Cheatsheet
- Hermes/OpenClaw stuck with no logs: Check LiteLLM for 429 errors.
- LiteLLM 403 errors: The API key in
secrets.ymlran out of funds. - OpenClaw not answering but Hermes does: They are likely sharing the same Telegram Bot token. Create a new bot in BotFather for OpenClaw.
- OpenClaw MCP Bridge stuck: Apply the
paired.jsonbypass script documented inAGENTS.md.