pi-umbra-skill-matcher
v0.1.2
Published
Type /huh and reach skill:huh. pi lists every skill under its bare name, which is not the name that dispatches.
Downloads
89
Maintainers
Readme
pi-umbra-skill-matcher
Type /huh and reach skill:huh. Complete a skill anywhere in the line, not only at the
start of it.
Install
pi install npm:pi-umbra-skill-matcher
node ~/.pi/agent/npm/node_modules/pi-umbra-skill-matcher/patch.mjsThen restart pi.
What it fixes
pi lists every skill in the completion dropdown under its bare name, but only
/skill:huh runs one. So the dropdown offers /huh, you press enter, and pi answers
"Unknown command". The fuzzy matching is not the problem; the name it matches against is.
This wraps the built-in provider and rewrites every skill row to the form that dispatches,
then re-runs the match against the prefixed name so /skill:hu still finds it after the
built-in pass has given up.
It also fills the mid-sentence slash menu. pi gates that menu on the line starting with
/, so a /name written inside a sentence never reaches a provider at all.
The mid-sentence match stays deliberately narrow, so a path keeps behaving like a path:
the token must be the last one on the line, hold no space, and follow real text ending in
whitespace. src/foo and an indented /foo both fail those tests and are left to pi.
The second install line is not optional
Two of the four seams are past what the extension API exposes: the dispatch map that only knows the prefixed name, and the gate that keeps the slash menu at the start of the line. So this package ships four patches against pi's built bundle. Without them the extension loads and does nothing.
node ~/.pi/agent/npm/node_modules/pi-umbra-skill-matcher/patch.mjs --check--check writes nothing and exits 1 when a patch is missing. Run it after every pi
update. An update replaces the bundle, so all four patches disappear silently and /huh
goes back to "Unknown command".
Nothing here is destructive. Each patch is additive, a patch whose text no longer matches is reported rather than forced, and reinstalling pi returns the bundle to stock.
Set PI_UMBRA_PI if pi lives somewhere this script cannot find it.
pi-umbra-skill-matcher/
├── checks
│ └── umbra-skill-matcher.check.ts
├── extensions
│ └── umbra-skill-matcher.ts
└── patch.mjsMIT.
