Motivation & Problem Statement
As users and agent ecosystems accumulate more specialized skills across directories and domain categories (e.g., devops/ci, security/audit, data/analytics), managing and browsing skills with /skill becomes challenging:
- Skills are displayed in a flat list or without clear category boundaries, making visual scanning difficult when dozens of skills are installed.
- The UX is inconsistent with the
/model selector, which already provides intuitive top-level tab strip navigation.
- Typing
/skill into the input prompt triggers argument autocomplete rather than directly launching the interactive selector dialog.
Proposed Solution
We propose enhancing the /skill interactive selector dialog with hierarchical grouping and tab navigation:
-
Tab Strip Group Navigation:
- Render top-level group tabs (
[All] [Group A] [Group B] ... [Uncategorized]) at the top of the dialog.
- Support
Tab / Shift-Tab navigation with brand highlighting, identical to TabbedModelSelectorComponent.
-
Hierarchical Category Resolution:
- Resolve skill categories based on standard metadata precedence:
groups (string array in skill YAML frontmatter)
category (slash-delimited string in skill YAML frontmatter)
- Parent directory path relative to skill root
- Fallback to
Uncategorized
-
Subtree Fuzzy Search:
- Active search queries filter across both direct skills and nested sub-categories.
- When no query is typed, display clean category-scoped lists.
-
Direct Command Invocation:
- Running
/skill without arguments launches the interactive dialog immediately.
Reference Implementation & Prior Work
A complete, fully tested implementation of this proposal was drafted in closed PR #2995 with full test coverage (skill-selector.test.ts, skill-group-tree.test.ts), busy-state guards, and changeset.
Questions for Maintainers
Thank you for your feedback!
Motivation & Problem Statement
As users and agent ecosystems accumulate more specialized skills across directories and domain categories (e.g.,
devops/ci,security/audit,data/analytics), managing and browsing skills with/skillbecomes challenging:/modelselector, which already provides intuitive top-level tab strip navigation./skillinto the input prompt triggers argument autocomplete rather than directly launching the interactive selector dialog.Proposed Solution
We propose enhancing the
/skillinteractive selector dialog with hierarchical grouping and tab navigation:Tab Strip Group Navigation:
[All] [Group A] [Group B] ... [Uncategorized]) at the top of the dialog.Tab/Shift-Tabnavigation with brand highlighting, identical toTabbedModelSelectorComponent.Hierarchical Category Resolution:
groups(string array in skill YAML frontmatter)category(slash-delimited string in skill YAML frontmatter)UncategorizedSubtree Fuzzy Search:
Direct Command Invocation:
/skillwithout arguments launches the interactive dialog immediately.Reference Implementation & Prior Work
A complete, fully tested implementation of this proposal was drafted in closed PR #2995 with full test coverage (
skill-selector.test.ts,skill-group-tree.test.ts), busy-state guards, and changeset.Questions for Maintainers
/skillaligned with the/modelselector UX?/approveto reopen/review PR feat(tui): add hierarchical skill group selector with tab navigation #2995?Thank you for your feedback!