Feature: Pin / favorite skills to the top of the skill picker
Problem
The skill picker (triggered by typing / in Claude Code) currently lists every installed skill in pure alphabetical order. As users accumulate skills — through plugins, shared libraries, team installs — the list grows quickly. In my setup I have 400+ skills installed. Two pain points:
- High-frequency skills get buried. I use maybe 10–15 skills 80% of the time. Each invocation requires either scrolling or typing the full name, even though Claude Code already knows which ones I trigger most.
- No way to express user intent about importance. A skill I built yesterday for a one-off and a skill I use daily are visually identical in the picker. There's no signal layer between "installed" and "actually relied upon."
Proposed solution
Add a pin (or star/favorite) affordance to each row in the skill picker, persisted per user.
Behavior
- Pinned section at top, separated by a divider from the alphabetical list below.
- Pinned items render in either:
- Manual order (drag-to-reorder), or
- Frequency-weighted order (most-recently-or-most-often-invoked first)
— let the user choose in settings.
- Toggle UX: hover/select a row → press a hotkey (e.g.
Cmd+Por*) to pin/unpin. No modal, no settings dive. - Visual indicator: a small 📌 / ★ icon next to pinned entries.
Storage
Persist to ~/.claude/skill-pins.json (or similar) so it follows the user profile, not the project. Example:
{
"pinned": [
"khazix-writer",
"wiki-ingest",
"defuddle"
],
"order": "manual",
"lastUpdated": "2026-05-10T10:30:00Z"
}
Stretch goals (optional)
- Auto-suggest pinning: if a user invokes the same skill ≥N times in a week, surface a one-time prompt: "Pin
<name>to the top?" - Tags / groups: pin into named groups (
#writing,#research) and collapse the rest. - Per-project pins: allow overriding the pinned set inside a specific repo's
.claude/config — useful for teams where a project has its own canonical skill set.
Why this matters
Skills are Claude Code's most powerful customization surface. The progressive-disclosure design (YAML frontmatter → SKILL.md → references) optimizes token cost. But there's no equivalent optimization for human attention cost — and that's now the bottleneck for power users with large libraries.
A pin feature is the smallest possible change that meaningfully addresses this. It costs almost nothing to ship and unlocks a daily quality-of-life improvement for anyone with more than ~20 skills.
Related
- #51115 — "Display usage counts in /skills command" tackles an adjacent surface (showing how often each skill is invoked). Pinning is the natural next step once usage signal is exposed: let users act on that signal by floating high-value entries.
Prior art
- VS Code: pinned extensions, recently-used commands in the command palette.
- macOS Spotlight: top hits learned from usage patterns.
- Raycast: favorites + rank-by-frequency built into every list.
- Slack: starred channels.
All of these solve the same "long flat list" problem with the same primitive: let the user mark items they care about, then float them.
Compatibility
- Backwards compatible — users who never pin anything see today's exact behavior.
- No change to the SKILL.md format or the Agent Skills open standard.
- Pure client-side UX in Claude Code.
Requested next steps
- Discussion / triage from the Claude Code team.
- If accepted: design review on the affordance (icon location, hotkey, settings panel).
- Implementation.
---
Context: Power user with 400+ installed skills across personal, shared-skills, and plugin sources. Daily Claude Code user.
Reference draft: https://gist.github.com/sammyteng/eb285cee8ad48398e28eea49915653da
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗