pi-skillrefs
v0.1.3
Published
Pi extension package that autocompletes $skill refs and injects referenced skill bodies as visible environment context.
Downloads
73
Maintainers
Readme
pi-skillrefs
pi-skillrefs adds $skill autocomplete to Pi and injects referenced skill bodies as visible turn context.
Install
pi install npm:pi-skillrefsOr add it directly to Pi settings:
{
"packages": ["npm:pi-skillrefs"]
}What it does
- Autocompletes discovered skills when you type
$in the editor. - Keeps the
$skill-nametoken in the user prompt. - Injects one visible
pi-skillrefscustom message per turn immediately after the referenced user message. - Stores compact content like
$day, $nightso/treerows stay short. - Renders chat messages as skill summaries with token counts, while sending the model the full referenced skill bodies inside one
<environment_context>wrapper. - Strips YAML frontmatter from full skill injections.
- Resolves every skill
pathto an absolute symlink-resolved path. - Sends a reminder block instead of reinjecting the full body when that skill is already on the active session path.
Injected model context shape
<environment_context>
<injected_skill ref="$day" path="/absolute/resolved/path/to/day/SKILL.md">
# Day Skill
...
</injected_skill>
<injected_skill ref="$night" path="/absolute/resolved/path/to/night/SKILL.md">
# Night Skill
...
</injected_skill>
</environment_context>Reminder injections keep the same wrapper and attributes, but replace the body with a short reminder string.
Transcript behavior
- The user-visible prompt text stays unchanged.
/treenavigation to a referenced user message excludes that turn's skill injection until the prompt is submitted again.- The chat transcript shows one compact aside summary per visible referenced skill, with token counts.
/treeshows the stored compact row:[pi-skillrefs]: $skill.- Expanding the custom message reveals the raw injected XML.
Compatibility
- Composes with
pi-fzfpthrough its editor handshake. - Uses Pi package metadata in
package.json, so it loads throughpi installand appears in the Pi package gallery contract for npm packages tagged withpi-package.
Development
npm test
npm run typecheck
npm run lint
gate