@korioinc/pi-skill
Codex-style $skill-name invocation anywhere in a pi prompt
Package details
Install @korioinc/pi-skill from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@korioinc/pi-skill- Package
@korioinc/pi-skill- Version
0.1.0- Published
- Oct 23, 2026
- Downloads
- 308/mo · 11/wk
- Author
- jskorlol
- License
- MIT
- Types
- extension
- Size
- 13.6 KB
- Dependencies
- 0 dependencies · 2 peers
Pi manifest JSON
{
"extensions": [
"./index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
@korioinc/pi-skill
Invoke loaded skills with $skill-name anywhere in a pi prompt.
$code-review Review the latest changes.
Use $code-review and $simplify-codebase to improve the code.
Installation
Requires Pi 1.4.0 or later.
After the first npm release, install the package with:
pi install npm:@korioinc/pi-skill
To use it directly from this repository, run:
pi -e ./packages/pi-skill/index.ts
Behavior
- Uses the global, project, and package skills loaded by pi, including skills specified with
--skill. Skills withdisable-model-invocationcan still be invoked explicitly. - Typing
$at the start of a line or after whitespace shows skill names and descriptions in autocomplete. Continue typing to narrow the results with fuzzy search. - Supports names made of lowercase English letters, digits, and single hyphens. Examples:
code-review,tdd. - Adds each referenced skill's body only once per input. Multiple skills are added in the order of their first reference.
- For ordinary input, preserves the original prompt and displays a native pi
[skill]block for each skill. Expand a block to read its full instructions. - For
steerandfollowUprequests submitted during a response, combines all skill bodies, the original prompt, and images into one queued message. These requests use pi's user-message display instead of separate custom skill blocks. This prevents the instructions from running before the associated request. - Input that starts with
/during a response keeps pi's slash-command handling and does not receive$skillbodies. A warning explains this limit. Use$skillin an ordinary queued prompt, or wait for the response to finish before combining it with a slash command. The native/skill:namecommand remains available. Pi currently has no public API for merging instructions into queued input after template expansion. - Sends the model the same
<skill name="…" location="…">format and skill base directory used by pi's/skill:namecommand. - Leaves unknown names,
$HOME, and$9.99unchanged. A partial match inside another identifier, such as$known_suffix, does not invokeknown. - Leaves
$$nameunchanged without invoking a skill. - If a skill file cannot be read, displays a warning and preserves the reference. Other readable skills are still processed.
Development
Run these commands from the repository root. Development uses Node.js 24 and npm 11.
npm ci
npm run check --workspace @korioinc/pi-skill
npm run pack:check
Tests use the node:test runner. They cover the real pi extension loader, input parsing, autocomplete, queued messages, and rendering regressions.
Follow the independent package release process in the root README. This package's initial version is 0.1.0, with the tag pi-skill-0.1.0.
Changes
Updated the package metadata for @korioinc and adopted this repository's validation and release configuration. Fixed partial skill-name matches, decimal prices mistaken for skill references, instructions separated from requests during responses, handling of other autocomplete providers' $ items, and ignored outputPad settings.
MIT. See LICENSE.