원클릭으로
hermes-tui-development
Inspect and extend Hermes Agent TUI capabilities, launch flags, hotkeys, composer input, and terminal behavior.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Inspect and extend Hermes Agent TUI capabilities, launch flags, hotkeys, composer input, and terminal behavior.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | hermes-tui-development |
| description | Inspect and extend Hermes Agent TUI capabilities, launch flags, hotkeys, composer input, and terminal behavior. |
| version | 1.0.0 |
| author | Hermes Agent |
| license | MIT |
| platforms | ["linux","macos","windows"] |
| metadata | {"hermes":{"tags":["hermes-agent","tui","typescript","ink","cli","keybindings"],"related_skills":["debugging-hermes-tui-commands","node-inspect-debugger","systematic-debugging"]}} |
Use this skill when a user asks what Hermes TUI mode enables/allows, how launch flags/config flow into the TUI, how hotkeys/input handling works, or how to add/modify TUI composer behavior such as Helix/Kakoune/Vim-style modal input.
Hermes TUI spans Python CLI launch code, a gateway/JSON-RPC bridge, and an Ink/TypeScript frontend. Prefer inspecting the live installed source or bundle over answering from memory, especially when Hermes is installed through Nix.
hermes --tui, TUI capabilities, allowed flags, environment variables, or config fields.ui-tui/, tui_gateway/, or Python launcher/parser code for TUI startup.hermes-agent skill first when the task is about configuring/extending Hermes Agent. Do not edit bundled/protected skills.hermes config show, which hermes, environment variables such as HERMES_TUI_DIR, and package paths reported by config output.hermes_cli/_parser.py for top-level/chat flags accepted by --tui.hermes_cli/main.py::_launch_tui() for env vars forwarded to the Node TUI.ui-tui/src/. In a Nix install, derive source paths from the store if needed.ui-tui/src/components/textInput.tsx — composer editing, paste/copy, mouse selection, cursor movement, undo/redo, pass-through keys.ui-tui/src/app/useInputHandlers.ts — global hotkeys, scrolling, interrupt/exit, yolo toggle, session switcher, voice toggle.ui-tui/src/lib/platform.ts — action modifier, copy shortcut, voice key parsing, reserved chords.ui-tui/src/gatewayTypes.ts — frontend-known config fields.ui-tui/src/content/hotkeys.ts — user-facing hotkey table.ui-tui/src/lib/terminalModes.ts and src/entry.tsx — terminal mode reset/lifecycle behavior.When /home/.../hermes-agent/ui-tui is absent but the active install is Nix-packaged:
# Find the hermes-agent output and its derivation
nix-store --query --deriver /nix/store/<hash>-hermes-agent-<version>
# Show the derivation; look for the hermes-tui derivation input and HERMES_REVISION
nix show-derivation /nix/store/<hash>-hermes-agent-<version>.drv
# Show the TUI derivation; its env usually has src=/nix/store/<hash>-ui-tui
nix show-derivation /nix/store/<hash>-hermes-tui-0.0.1.drv
Then inspect /nix/store/<hash>-ui-tui/src/... for TypeScript sources, or $HERMES_TUI_DIR/dist/entry.js for the exact bundled runtime.
hermes --tui / HERMES_TUI=1 hermes can forward many options into the TUI. Verify exact support in _parser.py and _launch_tui(). Common capabilities include:
--model / --provider--toolsets--skills--resume / --continue--worktree--checkpoints--pass-session-id--max-turns--accept-hookschat --query and chat --image--verbose / --quiet tool progress mapping--dev TypeScript-source modeReport these as observed from source, not as guaranteed stable API unless the docs also confirm them.
The TUI composer is a custom React/Ink TextInput, not Python prompt_toolkit. Current behavior is mostly readline/Emacs-like plus mouse support:
Global handlers own transcript scrolling, interrupt/exit/redraw/editor open, session switcher, completions, queue/history, yolo toggle, and voice recording.
Do not claim this is a config toggle unless the current source proves it. If no modal implementation exists, treat it as a TUI feature.
For a concrete porting reference, see references/helix-kakoune-modal-input-port.md. It summarizes the /home/swe/repos/pi-modal OMP modal-editor implementation and maps its pure-engine/adapter split onto Hermes TUI's TextInput composer architecture.
Recommended approach:
display:
tui_input_mode: default # default | helix | kakoune
gatewayTypes.ts, config sync/store, backend config schema/defaults as appropriate).insert, normal, select) near TextInput, not scattered one-off key cases.i/a insert, h/j/k/l movement, w/b/e word movement, x select line, d delete selection, y yank, p paste, u undo, and preserve existing Shift/Alt+Enter newline behavior.Esc, Tab, Ctrl+C, paste, and voice shortcuts. TextInput.shouldPassThroughToGlobalHandler() is a key collision point.When the composer receives numeric ...;...M fragments, [I / [O, or keyboard and mouse input appear to freeze after pane/focus changes, use references/ansi-input-leak-debugging.md. It contains protocol signatures, active-install/revision checks, the split-SGR differential tokenizer probe, terminal-mode lifecycle checks, issue-search vocabulary, and guidance for separating a Hermes parser defect from a multiplexer mouse-state defect.
command -v, readlink -f, HERMES_TUI_DIR, HERMES_REVISION, and the named flake lock are stronger evidence than the HEAD of a nearby repository.TextInput path.dist/entry.js when source is unavailable.$HERMES_TUI_DIR may contain only dist/; use derivations to find the source input.terminal.modal_mode in Hermes config is not proof of TUI modal composer support; verify it is read by the TUI before telling the user it can enable Helix/Kakoune mode.npm --prefix ui-tui run build or the repository's documented command.For capability audits:
HERMES_REVISION when relevant.For input/keybinding changes:
textInput, useInputHandlers, terminal/platform tests).hermes --tui in a real terminal for cursor, paste, mouse, and overlay behavior.Use when building, backtesting, or deploying algorithmic trading systems with NautilusTrader (nautilus_trader) — writing Strategy/Actor classes and StrategyConfig, configuring BacktestNode/BacktestEngine, constructing instruments, order management, ParquetDataCatalog/wranglers, message bus and custom data streams, indicators, portfolio/analysis/report generation, or live TradingNode deployment. Curated for v1.230.0.
Use when modifying a multi-host Nix flake or dotfiles repo, especially host-specific inputs, overlays, lockfile scope, and evaluation checks.
GitHub auth setup: HTTPS tokens, SSH keys, gh CLI login.
Class-level Linux debugging workflow for authentication/PAM lockouts, desktop hardware/device stacks, and RAM/swap/CPU/process resource pressure.
Inspect installed Claude Code internals and official plugin recreations to locate prompts, output styles, built-in strings, and migration hooks.
Find, extract, and port coding-agent output style prompts across Claude Code, Pi, and OMP.