debugging-hermes-tui-commands

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

Updated May 4, 2026
One-click install
npx skills add https://github.com/Junkfooooood/hermes-governance --skill debugging-hermes-tui-commands-junkfooooood
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: debugging-hermes-tui-commands
Source: https://github.com/Junkfooooood/hermes-governance/tree/main/skills/software-development/debugging-hermes-tui-commands
Command: npx skills add https://github.com/Junkfooooood/hermes-governance --skill debugging-hermes-tui-commands-junkfooooood

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 occur when one layer falls out of sync with the others. This Skill provides a systematic workflow to locate and fix commands that are missing from autocomplete, behave differently between CLI and TUI, or persist config without updating the live UI. ## Core Features & Use Cases - Cross-layer investigation: Step-by-step search commands to check whether a command exists in the Python COMMAND_REGISTRY, the gateway, and the Ink frontend. - Autocomplete fixes: Instructions for adding CommandDef entries with correct cli_only, gateway_only, aliases, and subcommands settings so autocomplete data ships correctly to the TUI. - Live UI state patching: Guidance on updating nanostore state (patchUiState) alongside config.set so changes apply immediately, not just after restart. - Use Case: A developer adds a new /details command that saves config but the TUI display does not change until restart; this Skill walks them through patching the live nanostore state and threading it through both streaming and transcript render paths. ## Quick Start Ask the agent to debug why a specific Hermes TUI slash command is missing from autocomplete or not applying live, and it will trace the command across the Python registry, gateway, and Ink frontend.

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 correct description, category, aliases, and 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 CLI but not in the Hermes 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 slash.exec dispatch in tui_gateway/server.py.

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

Updating config.set alone does not refresh the Ink UI. You must also patch the relevant nanostore state with patchUiState and thread the new state through all render paths, including both streaming and transcript views.

What is the difference between cli_only and gateway_only commands?

cli_only commands run only in the interactive CLI/TUI, while gateway_only commands run only on messaging platforms like Telegram and Slack. Setting neither flag makes a command available everywhere, and gateway_config_gate can conditionally enable gateway access.

How do I debug a hanging slash command handler in Python?

Use the python-debugpy skill to set breakpoints inside _SlashWorker.exec or the command handler, with remote-pdb at the handler entry as the fastest option. For Ink-side issues, use node-inspect-debugger to break in app.tsx slash dispatch.