claude-code - 💡(How to fix) Fix Feature: Pin / favorite skills to the top of the skill picker [1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#58593Fetched 2026-05-14 03:44:17
View on GitHub
Comments
1
Participants
2
Timeline
4
Reactions
1
Author
Timeline (top)
labeled ×3commented ×1

Root Cause

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.

Code Example

{
  "pinned": [
    "khazix-writer",
    "wiki-ingest",
    "defuddle"
  ],
  "order": "manual",
  "lastUpdated": "2026-05-10T10:30:00Z"
}
RAW_BUFFERClick to expand / collapse

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

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING