diagnosing-bot-mode
Skill6 starsChanged 8 days agoMITView on GitHub
Diagnose Hermes Bot Mode issues — bots not appearing, profile conflicts, bot-to-bot messaging failures, model/memory/skill routing per bot, and gateway connectivity.
In this repository32 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- diagnosing-authSkill
- diagnosing-backupSkill
- diagnosing-browserSkill
- diagnosing-cli-tuiSkill
- diagnosing-commandsSkill
- diagnosing-configSkill
- diagnosing-cronSkill
- diagnosing-desktopSkill
- diagnosing-gatewaySkill
- diagnosing-hooksSkill
- diagnosing-host-pressureSkill
- diagnosing-mcpSkill
- diagnosing-memoriesSkill
- diagnosing-memorySkill
- diagnosing-pathSkill
- diagnosing-pluginsSkill
- diagnosing-profilesSkill
- diagnosing-providersSkill
- diagnosing-runtimeSkill
- diagnosing-secretsSkill
- diagnosing-sessionsSkill
- diagnosing-skillsSkill
- diagnosing-storageSkill
- diagnosing-triageSkill
- diagnosing-updateSkill
- diagnosing-voiceSkill
- hermes-configuration-guideSkill
- hermes-post-updateSkill
- installing-hermesSkill
- plugin-authoringSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 1 is distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 54
Check ~/.hermes/profiles/<bot-name>/config.yaml — validate YAML, check model, memory, ui_meta.hermes-bots.
- Distinctive: line 68
After applying the fix:
- Very specific: line 95
Add ui_meta.hermes-bots: {} to ~/.hermes/profiles/<bot-name>/config.yaml, then run hermes gateway restart and verify with hermes profile …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Diagnosing Bot Mode
Goal: reduce any Bot Mode problem to one concrete fix — a profile config.yaml field, a gateway restart, or an enable toggle. Bot Mode creates named bots (profiles) with their own model, memory, skills, and gateway routing.
1. Configuration shape
# ~/.hermes/profiles/<bot-name>/config.yaml (operational settings)
model:
default: claude-sonnet-4.5
provider: anthropic
memory:
provider: "" # empty = built-in file-backed memory; set to an external provider name (mem0, honcho, hindsight, ...) to activate its plugin
ui_meta:
hermes-bots: {} # marks this profile as a bot[!IMPORTANT]
profile.yaml(~/.hermes/profiles/<bot-name>/profile.yaml) is metadata only — description and display name. Operational settings (model, memory, skills) belong in the profile'sconfig.yaml. Editingprofile.yamlfor model/memory changes has no effect.
2. How to inspect
hermes profile list— list all profiles (bots are profiles marked withui_meta.hermes-bots)hermes gateway status— verify the gateway is running (bots require it)hermes config path— locate the active config.yaml~/.hermes/profiles/<bot-name>/config.yaml— per-bot operational confighermes logs --follow— watch bot activity in real-time
3. Pitfalls (symptom → cause → fix)
- Bot not appearing in Desktop Bots tab — (a) profile config.yaml missing or invalid; (b)
ui_meta.hermes-botsmissing from profile config; (c) gateway not running; (d) Desktop UI bug (collapse button clicked — see issue #101535). → Validate profile config.yaml syntax; addui_meta.hermes-bots: {}to the bot's config.yaml; restart gateway; reinstall Desktop if UI bug suspected. - Bot responds but uses wrong model —
model.defaultin profile config.yaml is empty or invalid, or the provider is not configured. → Setmodel.defaultto a valid model string andmodel.provider; verify provider config in the default profile. - Bot-to-bot messaging fails — (a) both bots on different machines without peer setup; (b) bot profiles don't exist or aren't running; (c) target bot's gateway not reachable. → Use
hermes peerwith a subverb (add --url --key,list,dm <peer>[/<agent>],run/status/stop/remove— barehermes peeronly prints help); verify both bots' profiles exist (hermes profile list); ensure both gateways are running. - Bot memory not persisting —
memory.providerin profile config.yaml set to an invalid name, or external provider (Honcho/Mem0) not running. Note:memory.provideraccepts external plugin names only — empty string means built-in file-backed memory; there is nobuilt-invalue. → Checkmemory.providerin the bot's config.yaml (empty = built-in;mem0/honcho/hindsight= external); verify external provider is installed and reachable. - Bot skills not loading — skill names don't match installed skills, or skills not installed for that profile. → Run
hermes skills list -p <bot-name>; install missing skills for the profile; verify names match. - Bot cron jobs not firing — cron expression invalid, deliver target not configured, or scheduler not running. → Validate cron syntax; check
hermes cron status; verify deliver target (telegram/discord/etc.) is configured. - "Profile already exists" error — duplicate profile name. → Use unique names; check
~/.hermes/profiles/for conflicts. - Bot spawns duplicate backends — known issue in v0.21.0-v0.21.1 (fixed in v0.21.2). → Upgrade Hermes to v0.21.2+.
4. Localization workflow
hermes gateway status— confirm gateway is running (bots require it).hermes profile list— verify the bot profile exists and is running.- Check
~/.hermes/profiles/<bot-name>/config.yaml— validate YAML, checkmodel,memory,ui_meta.hermes-bots. hermes logs --follow— watch for bot activity and errors.- Match the failure: not appearing → pitfall 1; wrong model → pitfall 2; messaging fails → pitfall 3.
- Apply the fix, restart gateway (
hermes gateway restart), and verify viahermes profile list.
5. Cross-references
hermes-configuration-guide— for $HERMES_HOME resolution and config.yaml structurediagnosing-gateway— for gateway connectivity and platform allowlist issuesdiagnosing-cron— for routine/cron job scheduling problemsdiagnosing-memory— for memory provider configuration
Verification
After applying the fix:
hermes gateway status # gateway running (bots require it)
hermes profile list # bot profiles exist
hermes logs --lines 50 # no new errorsPass: gateway running, bot profiles present, no errors in logs.
Fail: re-check the pitfall matched and re-apply the fix.
Report
This skill diagnoses Bot Mode issues — bots not appearing, profile conflicts, bot-to-bot messaging failures, model/memory/skill routing per bot, and gateway connectivity. When you run the diagnostic workflow, present findings in the standard format below.
Summary
Your bot is not appearing in the Desktop Bots tab because ui_meta.hermes-bots is missing from the bot's profile config.yaml. Without this marker, the Desktop UI does not recognize the profile as a bot.
Findings
| Severity | What | Evidence |
| HIGH | ui_meta.hermes-bots marker missing from profile config.yaml | hermes profile list shows the profile but Desktop Bots tab is empty |
| MEDIUM | Gateway not running | hermes gateway status shows stopped |
Recommended Fix
Add ui_meta.hermes-bots: {} to ~/.hermes/profiles/<bot-name>/config.yaml, then run hermes gateway restart and verify with hermes profile list.
References
~/.hermes/profiles/<bot-name>/config.yaml— the profile config missing the bot markertools/bot_mode_dm.py,tools/bot_mode_probe.py— bot profile discovery and probing logichermes_cli/profiles.py— profile listing (ui_meta.hermes-botsmarker)
Facts re-verified 2026-09-21 against upstream source at commit cedf4a3d78675283fa93e4e6ea2d6212bf414667: hermes_cli/bot_mode.py, hermes_cli/profiles.py; plus the official docs (hermes-agent.nousresearch.com/docs/user-guide/bot-mode). Re-checked 2026-10-12 against upstream main (53bc70c5): bot logic lives in tools/bot_mode_dm.py + tools/bot_mode_probe.py with the marker read in hermes_cli/profiles.py; hermes peer requires a subverb. Re-verify before reuse.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

