Feature: Pin / favorite skills to the top of the skill picker

Resolved 💬 3 comments Opened May 13, 2026 by sammyteng Closed May 16, 2026

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:

  1. 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.
  2. 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+P or *) 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

  1. Discussion / triage from the Claude Code team.
  2. If accepted: design review on the affordance (icon location, hotkey, settings panel).
  3. 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

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗