Load your skills on demand from any location. Keep your pi agent lean — don't load all your skills when you don't need them, add only the ones you need for that session.
- Load skills on-demand: Load individual skills or entire skill directories from any path
- Session-scoped: Skills persist in the session file and are restored automatically on
/reload,/resume,/fork, and pi restart - Native injection: Loaded skills appear in the system prompt with name, description, and location — the agent can read the full skill content on demand
- Unload skills: Remove loaded skills when no longer needed
pi install npm:pi-load-skillpi -e ./extensions/load-skills.tsLoad all skills from a directory:
/load-skills ./path/to/skills-folder
Load a single skill:
/load-skills ./path/to/skill-folder
The extension will:
- Find all skills in the directory (or validate a single skill)
- Add them to pi's skill discovery system via
resources_discover - They appear in the
<available_skills>section of the system prompt with their file location - The agent can read the full skill content on demand using the
readtool
/list-loaded-skills
Unload a specific skill:
/unload-skills skill-name
Unload all loaded skills:
/unload-skills
# Start pi
pi
# In the pi session:
/load-skills ./my-skills
# Skills now appear in the system prompt — the agent can use them
What skills do you have available?
# Unload when done
/unload-skills- On
/load-skills: Skills are validated, added to the in-memory map, a snapshot is appended to the session file viapi.appendEntry(), and pi reloads - On any session transition (
/reload,/resume,/fork, pi restart):session_startfires, the extension replays the current branch viactx.sessionManager.getBranch(), finds the lastpi-load-skillsnapshot entry, and restores the map from it - On
/new: A fresh session has no prior entries — the map starts empty
| Event | Skills in session |
|---|---|
/load-skills |
snapshot appended to session + reload triggered |
/unload-skills |
snapshot appended to session + reload triggered |
/reload |
branch replayed → skills restored ✓ |
/new |
fresh session, no entries → map empty ✓ |
/resume |
branch replayed → skills restored ✓ |
/fork |
branch up to fork point replayed ✓ |
| pi restart + resume | branch replayed → skills restored ✓ |
| pi restart (no resume) | fresh session → map empty ✓ |
Skills must follow the Agent Skills standard:
---
name: my-skill
description: What this skill does and when to use it.
---
# My Skill
## Usage
Instructions for using the skill...- pi >= 0.65.0
- Node.js >= 18
MIT
Made with reespec and ❤️ in EU