Skip to content

The TUI slash menu leads with the skills you actually use - #75931

Merged
OutThisLife merged 2 commits into
mainfrom
bb/tui-slash-priority
Aug 1, 2026
Merged

The TUI slash menu leads with the skills you actually use#75931
OutThisLife merged 2 commits into
mainfrom
bb/tui-slash-priority

Conversation

@OutThisLife

Copy link
Copy Markdown
Collaborator

The TUI's / menu was a flat first-30 slice of the completer's output, and the completer emits every registry command before the first skill. On a 230-skill install that means the cap is reached while still inside the command block: a bare / offered zero skills, and /p cut off mid-alphabet, dropping /proving-a-fix-works (471 invocations) and /pr-update (160) while keeping /pretext (2). Separately, a second slash in a line that already started with a command went dead — /work /cle offered nothing while do /work then /cle completed fine.

This brings the TUI to the same rules the desktop composer got in #73704: the menu is ordered by what you actually use, and what it offers depends on where the slash sits.

Symptom Before After
Bare / on a 230-skill install 30 rows, all commands, no skill reachable commands + 30 skills, most-used first
/p cut at 30 alphabetically — /pretext (2 uses) in, /proving-a-fix-works (471) out /proving-a-fix-works, /pr-update, /pr-merge-blockers lead
Bundled skill never opened mixed into the browse list dropped from a bare /, still found by typing its name
/work /cle no completions at all completes /clean as a skill reference
/personality alic, /details c command's own arg list unchanged

Ranking rides on the .usage.json sidecar the Capabilities page already shows — most-used first, A-Z within a tie. The limit is spent per kind rather than as one flat truncation, since a flat cut is positional rather than editorial.

The browse/search split governs the pruning: a bare / is browsing, so bundled skills with no recorded activity are noise and go; a typed query is a search, and a search that hides a match is broken, so nothing is pruned there. An argument stage keeps the order its own command chose.

The `/` menu was a flat first-30 slice of the completer's output, and the
completer emits every registry command before the first skill. On a
230-skill install that meant a bare `/` filled all 30 rows with commands
and offered no skill at all, while `/p` cut off inside the alphabetical
skill block — dropping /proving-a-fix-works (471 invocations) and
/pr-update (160) but keeping /pretext (2).

Spend the limit per kind and rank the skill block by recorded usage
(the same .usage.json count Capabilities shows), most-used first and A-Z
within a tie. A bare `/` is browsing, so bundled skills that shipped with
Hermes and were never opened are dropped as noise; a typed query is a
search, and a search that hides a match is broken, so there nothing is
pruned and the ranking only reorders. An argument stage keeps the order
its own command chose.
Typing a second slash command went dead whenever the message started with
one: `/work /cle` offered nothing while `do /work then /cle` completed
fine, which reads as an intermittent glitch rather than a rule.

Only the first slash can be an invocation, so detect the inline shape
first. The leading-command branch claimed the whole line and handed it to
the backend's completer, which has nothing to say about a slash sitting in
a command's argument tail. The inline trigger requires a whitespace-preceded
slash at the caret, so ordinary argument completion (`/cron ad`,
`/personality alic`) is untouched — it fires only where completion was
already dead.
@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

૮ >ﻌ< ა ci review

ran on 40ec983

ℹ️ Info

Desktop E2E visual evidence · View test artifacts · View job

2 visual diffs.

inline evidence upload failed.

Failed to upload diff-1508682a2ae8-boot-ready-diff.png with gh image (exit code 1): Error uploading /home/runner/work/_temp/e2e-evidence/diff-1508682a2ae8-boot-ready-diff.png: step 0 (get upload token): uploadToken not found on repo page — do you have write access to NousResearch/hermes-agent? (or, if NousResearch enforces SAML SSO, authorize at https://github.com/orgs/NousResearch/sso)

@OutThisLife
OutThisLife merged commit 18627ff into main Aug 1, 2026
48 checks passed
@OutThisLife
OutThisLife deleted the bb/tui-slash-priority branch August 1, 2026 07:01
@alt-glitch alt-glitch added type/bug Something isn't working P3 Low — cosmetic, nice to have comp/tui Terminal UI (ui-tui/ + tui_gateway/) tool/skills Skills system (list, view, manage) labels Aug 1, 2026
randlee pushed a commit to randlee/hermes-agent that referenced this pull request Aug 11, 2026
…priority

The TUI slash menu leads with the skills you actually use
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/tui Terminal UI (ui-tui/ + tui_gateway/) P3 Low — cosmetic, nice to have tool/skills Skills system (list, view, manage) type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants