@kaiserlich-dev/pi-skill-picker
Namespace-aware skill palette for pi — groups skills by category folder
Package details
Install @kaiserlich-dev/pi-skill-picker from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@kaiserlich-dev/pi-skill-picker- Package
@kaiserlich-dev/pi-skill-picker- Version
1.0.2- Published
- May 3, 2026
- Downloads
- 17/mo · 6/wk
- Author
- jksr194
- License
- MIT
- Types
- extension
- Size
- 36.1 KB
- Dependencies
- 0 dependencies · 2 peers
Pi manifest JSON
{
"extensions": [
"./extensions/skill-palette.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
@kaiserlich-dev/pi-skill-picker
Namespace-aware skill palette for pi. Groups skills by category folder (marketing, infra, comms, etc.) for faster discovery.
Install
npm (recommended)
pi install npm:@kaiserlich-dev/pi-skill-picker
git (alternative)
pi install git:github.com/kaiserlich-dev/pi-skill-picker
By default this writes to
~/.pi/agent/settings.json. Use-lto install into.pi/settings.jsonfor a project.
Then restart pi or run /reload.
Usage
Alt+K — open the skill palette instantly.
Or use the /skill command:
/skill # opens palette
/skill marketing:ad-creative # queue directly
/skill brave-search # queue by name
Features
Namespace grouping
Skills are auto-grouped by their category folder. The namespace is derived from:
- Symlink targets —
~/.pi/agent/skills/ad-creative -> .../marketing/ad-creative→ namespacemarketing - Directory hierarchy —
.pi/skills/marketing/ad-creative/SKILL.md→ namespacemarketing - Fallback — skills without a parent category go to
other
No changes to SKILL.md files needed. Fully compatible with the Agent Skills spec.
Smart search
When you type, results are shown as a flat list sorted by relevance — no namespace grouping to bury high-scoring results.
| Input | Behavior |
|---|---|
marketing |
Shows all skills in the marketing namespace |
marketing:ad |
Matches within the marketing namespace |
prod |
Prefix match → shows all productivity skills |
supabase |
Finds supabase-ro, supabase-vectors by name |
ad |
ad-creative first (starts-with beats substring) |
Scoring: exact match > starts-with > substring (boundary-aware) > fuzzy. Description matches are substring-only to avoid garbage results.
Recently used skills
Your most-used skills appear in a ★ recent section at the top of the palette, pre-selected. Usage count is shown for skills used more than once (×3).
Persisted to ~/.pi-skill-picker/usage.json — survives across sessions.
Skill injection
Selected skills are queued and injected alongside your next message via before_agent_start. A widget and status indicator show the queued skill until consumed.
Keyboard Shortcuts
| Key | Action |
|---|---|
Alt+K |
Open palette from anywhere |
↑ / ↓ |
Navigate (skips headers) |
Enter |
Select skill / Unqueue if already queued |
Esc |
Cancel |
| Type | Filter |
Development
# Run locally without installing
pi -e ./extensions/skill-palette.ts