原始内容
pi-skillrefs
pi-skillrefs adds $skill autocomplete to Pi and injects referenced skill bodies as visible turn context.
Install
pi install npm:pi-skillrefs
Or add it directly to Pi settings:
{
"packages": ["npm:pi-skillrefs"]
}
What it does
- Autocompletes discovered skills when you type
$in the editor, with fuzzy matching across separators. - Colors known inline
$skillrefs in the editor with the active theme accent color. - 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 without requiring strict YAML metadata.
- 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>
<skill ref="$day" path="/absolute/resolved/path/to/day/SKILL.md" mode="full">
# Day Skill
...
</skill>
<skill ref="$night" path="/absolute/resolved/path/to/night/SKILL.md" mode="full">
# Night Skill
...
</skill>
</environment_context>
Reminder injections use mode="reminder" and 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
pnpm test
pnpm typecheck
pnpm lint
gate