@alexgorbatchev/pi-skill-library2.0.0
Pi extension that exposes skills-library roots through /library:<skill-name> commands.
Untested on omp
This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.
Reports 0
No reports yet.
Readme
@alexgorbatchev/pi-skill-library
pi extension that discovers skills-library roots and exposes their skills through /library:<skill-name> commands. This extension solves the problem of too many skills. There are skills that you need only occasionally and maybe don't even need them discoverable.
Install
Requires Pi 1.x (1.5 or newer) from @earendil-works and Node.js 22.19 or newer.
pi install npm:@alexgorbatchev/pi-skill-library
What it does
This package does not register bundled skills through Pi's normal skill loader.
Instead, it discovers skills-library directories, loads the skills from those roots itself, and expands:
/library:<skill-name>
into the same <skill ...>...</skill> block format Pi uses for built-in /skill:<name> expansion.
That keeps these skills out of Pi's default skill discovery flow while still making them explicitly invokable.
Library root locations
The extension looks for skills-library in these places:
<cwd>/.pi/skills-library<cwd>and ancestor.agents/skills-librarydirectories, stopping at the git root (or filesystem root when no git root exists)~/.pi/agent/skills-library~/.agents/skills-library- package-local
skills-librarydirectories derived from discovered package skill roots - extra paths configured via Pi settings under
@alexgorbatchev/pi-skills-library.paths
Settings
Use a namespaced block in Pi settings:
{
"@alexgorbatchev/pi-skills-library": {
"paths": ["./skills-library", "~/shared/pi-skills-library"]
}
}
Path resolution follows normal Pi settings behavior:
- paths in
~/.pi/agent/settings.jsonresolve relative to~/.pi/agent - paths in
.pi/settings.jsonresolve relative to.pi - absolute paths are supported
~/...is supported
Directory layout
Each library root should contain normal skill directories:
skills-library/
├── my-skill/
│ └── SKILL.md
└── another-skill/
├── SKILL.md
└── references/
Commands
Invoke a library skill directly:
/library:my-skill
/library:my-skill additional context here
Discovered library skills are registered as real extension slash commands at startup and reload, so they show up in slash-command autocomplete like other commands.
On startup, the extension prints a library-discovery message into the transcript listing each discovered library root and its skills.
Use the package info command to print the same report again:
/pi-skill-library