debugging-hermes-tui-commands

Diagnose and fix slash command issues across Hermes Python backend, gateway, and Ink TUI layers.

Updated Jul 3, 2026
One-click install
npx skills add https://github.com/CHENHUI-X/toolbox --skill debugging-hermes-tui-commands-chenhui-x
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: debugging-hermes-tui-commands
Source: https://github.com/CHENHUI-X/toolbox/tree/main/custom-skills/software-development/debugging-hermes-tui-commands
Command: npx skills add https://github.com/CHENHUI-X/toolbox --skill debugging-hermes-tui-commands-chenhui-x

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Slash commands in the Hermes TUI span three layers — the Python command registry, the tui_gateway JSON-RPC bridge, and the Ink/TypeScript frontend — and bugs almost always come from one layer being out of sync with another. This Skill provides a systematic workflow to find and fix commands that are missing from autocomplete, work in the CLI but not the TUI, or persist config without updating the live UI. ## Core Features & Use Cases - Cross-layer investigation steps: Search patterns for locating command definitions in the Python backend (hermes_cli/commands.py), gateway (tui_gateway/server.py), and TUI frontend (ui-tui/src/app/slash/). - Autocomplete and registration fixes: Guidance for adding CommandDef entries to COMMAND_REGISTRY with correct cli_only, gateway_only, aliases, and subcommands settings. - Common issue catalog: Covers five recurring failure modes including silent gateway dispatch, CLI/TUI behavior divergence, and config changes not applying live to nanostore UI state. - Use Case: A developer adds a new /details command that saves config but the TUI display doesn't change until restart. This Skill walks them through patching the nanostore state and threading it through both streaming and transcript render paths. ## Quick Start Ask the AI to debug why a specific Hermes TUI slash command is missing from autocomplete or not applying its changes live in the interface.

Frequently Asked Questions about debugging-hermes-tui-commands

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fix a slash command missing from TUI autocomplete?

Add a CommandDef entry to COMMAND_REGISTRY in hermes_cli/commands.py with the command name, description, category, and any aliases or subcommands. Autocomplete data ships from Python, so the TUI cannot suggest commands that are only defined in TypeScript.

Why does a slash command work in the CLI but not the TUI?

The command likely has a handler in cli.py process_command but no corresponding path in the TUI. Check the local handler in ui-tui/src/app/createSlashHandler.ts and the gateway dispatch in tui_gateway/server.py, since local Ink handlers take precedence over gateway fallthrough.

Why does a command save config but not update the TUI live?

Updating config.set alone is not enough for TUI-local commands. You must also patch the relevant nanostore state with patchUiState and thread the new state through all render paths, including both streaming and transcript message rows.

How do I make a CLI-only command available in the gateway?

Remove cli_only=True from the CommandDef, or add a gateway_config_gate such as display.foo so the command becomes available when that config value is truthy. Gateway-known commands are derived automatically from COMMAND_REGISTRY.

What debuggers can I use for Hermes TUI command issues?

Use debugpy or remote-pdb to break inside Python handlers like _SlashWorker.exec, and the Node inspector to break in the Ink app's slash dispatch after running npm run build. Comparing COMMAND_REGISTRY against the TUI command list side-by-side reveals registry mismatches.