MoonshotAI / MoonshotAI/kimi-code
Proposal: Hierarchical skill grouping and tab navigation for /skill selector
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 7.5k
- Forks
- 1.2k
- Avg merge
- 11h 53m
- Merged PRs (30d)
- 350
Description
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
/modelselector, which already provides intuitive top-level tab strip navigation. - Typing
/skillinto 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-Tabnavigation with brand highlighting, identical toTabbedModelSelectorComponent.
- Render top-level group tabs (
-
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
- Resolve skill categories based on standard metadata precedence:
-
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
/skillwithout arguments launches the interactive dialog immediately.
- Running
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
- Does the Moonshot team support adopting tabbed category navigation for
/skillaligned with the/modelselector UX? - If aligned with the roadmap, would maintainers give
/approveto reopen/review PR #2995?
Thank you for your feedback!
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing closed PR #2995 and its mentioned tests, skill-selector.test.ts and skill-group-tree.test.ts. Compare the existing /skill behavior with the /model selector and the TabbedModelSelectorComponent reference. Done means a maintainer-approved implementation covers the proposed grouping, navigation, search, and direct invocation behavior with the stated tests and changeset.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100