pi-nested-skills
Pi extension for recursive nested-skill discovery and aliases
Package details
Install pi-nested-skills from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-nested-skills- Package
pi-nested-skills- Version
0.4.1- Published
- Sep 19, 2026
- Downloads
- 506/mo · 504/wk
- Author
- maplezzk
- License
- MIT
- Types
- extension, skill
- Size
- 36.1 KB
- Dependencies
- 1 dependency · 2 peers
Pi manifest JSON
{
"skills": [
"./SKILL.md"
],
"extensions": [
"./index.ts",
"../pi-extensions-i18n/index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-nested-skills
A Pi extension that discovers skills recursively and provides convenient aliases for nested skill directories.
Features
- Recursively discovers
SKILL.mdfiles below one or more configurable skill roots. - Supports package-style aliases such as
/development:code-reviewerand/design:icons.favicon. - Keeps Pi's native skill loader responsible for frontmatter validation and skill-body expansion; this package does not duplicate
readcompatibility or skill expansion. - Extends the native slash-command completion list and preserves built-in Pi command suggestions.
- Provides
/skillsto list discovered aliases. - Provides
/config:nested-skillsto edit the skill roots through the normal TUI input; useresetfor the defaultskillsroot. - Contributes discovered skill files through Pi's
resources_discoverevent. - Uses
pi-extensions-i18nfor all user-visible messages.
Install
pi install npm:pi-nested-skills
Then run /reload in Pi.
Configure skill roots
Start from config.example.json and write it to:
<pi-agent-dir>/extensions/pi-nested-skills/config.json
<pi-agent-dir> is Pi's configured agent directory, normally ~/.pi/agent. The PI_CODING_AGENT_DIR override is respected by Pi and by this extension.
{
"skillRoots": [
"~/shared-skills",
"skills"
]
}
A relative root is resolved relative to the Pi agent directory. Each direct child of a root is treated as a skill package, and every visible descendant containing SKILL.md is discovered. A root containing SKILL.md itself is also accepted as one package.
Use /config:nested-skills to change the roots in the normal TUI input. Enter comma-separated paths, or use reset for the default root. Run /reload after saving.
Aliases and native expansion
For a skill at development/code-reviewer/SKILL.md, the extension offers:
/development:code-reviewer [arguments]
/skill:development.code-reviewer [arguments]
The input hook converts the alias to Pi's native /skill:<frontmatter-name> form. Pi then reads the skill body and resolves relative references using its normal skill mechanism. If a frontmatter name is shared by multiple discovered skills, the name-only native form is not guessed; use an unambiguous package/path alias.
Use /skills to inspect the complete list. Type / to search the merged native and nested-skill completion candidates.
Portability and privacy
The package does not access credentials, make network requests, start processes, or assume a particular home directory. It follows Pi's agent-directory setting and accepts explicit roots for project or team layouts.
Requirements
- Node.js 22 or newer.
- Pi
>=0.80.0.
License
MIT — see the repository license.