Skip to content

feat: unified skills picker for Claude and Codex slash commands#176

Open
jamesrochabrun wants to merge 1 commit intomainfrom
jroch-skills-picker
Open

feat: unified skills picker for Claude and Codex slash commands#176
jamesrochabrun wants to merge 1 commit intomainfrom
jroch-skills-picker

Conversation

@jamesrochabrun
Copy link
Copy Markdown
Owner

Summary

  • Adds a unified HubSkill model abstracting both Claude commands/skills and Codex skills across global, project, and system sources
  • New SkillsService actor reads and merges all six directory sources, parses YAML frontmatter, and deduplicates by id
  • Typing / in the session-start prompt editor triggers a picker dropdown (opt-in via Settings → Features → Skills picker)
  • Each row shows /name, description, and a provider+source badge (e.g. Claude · Project, Codex · System)
  • Keyboard navigation: ↑↓ to move, Return/Tab to confirm, Escape to dismiss
  • Skills reload automatically when the selected repository changes (for project-scoped skills)
  • Also removes a stale untracked main.swift that was silently conflicting with @main on AgentHubApp

Test plan

  • Enable "Skills picker" in Settings → Features
  • Open Start Session panel, type / — picker appears listing discovered skills with provider/source badges
  • Type /sw — list filters to skills matching "sw"
  • Press ↑↓ to navigate, Return to confirm — /skill-name inserted into prompt
  • Press Escape — picker dismisses without inserting
  • Switch to a repo with .claude/commands/ — project-scoped commands appear with "Project" badge
  • Disable toggle in Settings — typing / no longer triggers picker
  • No ~/.claude/commands or ~/.codex/skills dirs — no crash, empty list handled gracefully

🤖 Generated with Claude Code

Adds a / trigger in the session-start prompt editor that shows a dropdown
of all available skills and custom commands discovered from Claude and Codex
data directories. Feature is opt-in via a new Settings toggle.

Sources merged:
- ~/.claude/commands/*.md (Claude global commands)
- ~/.claude/skills/*/SKILL.md (Claude global skills)
- {project}/.claude/commands/*.md (Claude project commands)
- {project}/.claude/skills/*/SKILL.md (Claude project skills)
- ~/.codex/skills/*/SKILL.md (Codex global skills)
- ~/.codex/skills/.system/*/SKILL.md (Codex system skills)

Each skill row shows the name, description, and a provider+source badge
(e.g. "Claude · Project", "Codex · System"). Keyboard navigation with
↑↓ to move, Return/Tab to confirm, Escape to dismiss.

Also removes stale untracked main.swift that conflicted with @main on
AgentHubApp (entry point was never intended to change).
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