Skip to content

feat(cli): make the Skill picker readable and filterable - #159

Merged
harlan-zw merged 2 commits into
mainfrom
feat/skill-picker-polish
Sep 22, 2026
Merged

harlan-zw merged 2 commits into
mainfrom
feat/skill-picker-polish

Conversation

@harlan-zw

@harlan-zw harlan-zw commented Sep 22, 2026 •

Copy link
Copy Markdown
Collaborator

❓ Type of change

  • 👌 Enhancement

📚 Description

The picker opened with every Skill chosen, so on a 33 Skill Repository the fastest path to "I want three of these" was 30 keystrokes of unchoosing. It opens with nothing chosen now. --all already covers the install-everything case, and an empty list makes the count in the header mean something as you work down.

The rest is legibility. Descriptions ran off the right edge and the marks were [x] and [ ] in plain white:

[x] floating-ui-vue-skilld  Floating UI for Vue. ALWAYS use when writing code importing \"@floating-ui/vue\". Consu
[x] formkit-core-skilld  The framework agnostic core of FormKit. ALWAYS use when writing code importing \"@formkit/

Now:

skilld-dev/vue-ecosystem-skills names 4 Skills. 1 chosen

  ● floating-ui-vue-skilld  Floating UI for Vue. ALWAYS use when writing code importing …
❯ ○ motion-v-skilld         ALWAYS use when writing code importing "motion-v". Consult …
  ○ pinia-skilld            Intuitive, type safe and flexible Store for Vue.
  ○ vue-router-skilld       ALWAYS use when writing code importing "vue-router".

space choose   a all   enter install   esc cancel

Names align into one column, each description is cut to the terminal width rather than wrapped, chosen marks are green, the cursor row is bold, and the key hints are lit. NO_COLOR turns all of it off.

Choosing 3 Skills from 33 still meant walking the whole list, so / now filters as you type, on name and description:

skilld-dev/vue-ecosystem-skills names 5 Skills. 0 chosen, 2 shown
filter pin█
❯ ○ pinia-colada-skilld  The smart data fetching layer for Vue.js.
  ○ pinia-skilld         Intuitive, type safe and flexible Store for Vue.

type to filter   enter keep it   esc clear

a then takes everything the filter shows, so filter, a, filter, a is the fast path through a big Repository. Chosen Skills survive filter changes, the header counts both, enter keeps the filter and hands the letter keys back, and esc clears the filter before it cancels the picker.

Not in this PR: those \" sequences in the descriptions are real, and they are a skilld.dev indexing bug. The SKILL.md frontmatter is a valid double-quoted YAML scalar, so \"pinia\" should decode to "pinia" when the registry stores it. Fixing that at the source rather than papering over it in the terminal.

🤖 AI disclosure: Harlan Agent Kit modified this description. My AI open-source policy.

The picker opened with all 33 Skills chosen, printed [x] against every
one, and let long descriptions run off the right edge. It now opens with
nothing chosen, aligns the names into a column, cuts each description to
the terminal width, and colors the marks, the counts and the key hints.
@harlan-github-agent harlan-github-agent Bot added harlan-agent-running An Agent holds a Task on this issue or pull request right now. harlan-agent-review-required Pull request triage requires an adversarial Review for this head commit. labels Sep 22, 2026
@harlan-github-agent

harlan-github-agent Bot commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

🤖 MERGED

Harlan Agent Kit posted this automated review. It is not Harlan's personal review or approval. AI open source policy. Last updated: 2026-09-22 08:21 UTC.

GitHub merged this pull request.

No material findings were recorded.

87513816-391e-41ac-804e-69ec01f848a3

Choosing 3 Skills from 33 meant walking the whole list. Press / and type:
the list narrows on name and description, a takes everything the filter
shows, and esc clears the filter before it cancels the picker.
@harlan-github-agent harlan-github-agent Bot removed the harlan-agent-running An Agent holds a Task on this issue or pull request right now. label Sep 22, 2026
@harlan-zw harlan-zw changed the title feat(cli): make the Skill picker readable feat(cli): make the Skill picker readable and filterable Sep 22, 2026
@harlan-github-agent harlan-github-agent Bot added harlan-agent-running An Agent holds a Task on this issue or pull request right now. harlan-agent-ready The automated Review passed every gate on this head commit. and removed harlan-agent-running An Agent holds a Task on this issue or pull request right now. harlan-agent-review-required Pull request triage requires an adversarial Review for this head commit. labels Sep 22, 2026
@harlan-zw
harlan-zw merged commit 64e847f into main Sep 22, 2026
3 checks passed
@harlan-github-agent harlan-github-agent Bot removed the harlan-agent-ready The automated Review passed every gate on this head commit. label Sep 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant