Docs/Extend pi-kit

Skills and packages

Resource types, package installation, scope, skill files, and composer selection.

Skills are reusable instructions in SKILL.md files. Prompt templates provide reusable message text. Extensions add tools, commands, and event handlers. A pi package can distribute these resources together, along with themes.

Install a package#

  1. Open Settings → Extensions → Packages.
  2. Choose +.
  3. Use Browse, From git, or From a folder.
  4. Select a package and review its source, README, and resources.
  5. Choose the available scope and install.
Browse searches npm's pi-package ecosystem and pi-kit's package list. Packages containing extensions execute code when loaded.
Package browser with npm, Git, and local-folder sources.
Package browser with npm, Git, and local-folder sources.
The confirmation step lists what the package adds and the command used to install it.
Package contents and installation confirmation.
Package contents and installation confirmation.

Resource scope#

User resources are available across projects. Project resources belong to that repository/workspace and require project trust before loading.
Settings separates resources into:
SectionTabs
ExtensionsPackages; Local files for extensions and prompt templates.
SkillsLibrary; Commands for skill-command registration.
Installed packages and their enabled state.
Installed packages and their enabled state.

Select a skill#

Choose a skill from /, the add menu, the command palette, or Skills → Library. It appears as a composer chip. Multiple skills can be selected for one message. Pin a chip to include it in subsequent messages in the thread.
Typing /skill:name at the start of a message uses pi's normal skill expansion. Removing a composer chip does not uninstall its package.
Skills library with Add to composer actions.
Skills library with Add to composer actions.

Write a skill#

Create .pi/skills/review-api-change/SKILL.md in a project, for example:
---
name: review-api-change
description: Review API changes for validation, compatibility, and tests.
---

1. Read the changed endpoint and its callers.
2. Check input validation and error handling.
3. Add or update tests for the changed behavior.
4. Run the tests and report any failures.
The frontmatter supplies a name and description. The body contains instructions. Use relative project paths where possible and keep credentials out of the file.
Reload resources after adding or editing a skill. If it is missing, check the active project, file location, frontmatter, resource state, and project trust.

Update or remove a package#

Installed package controls support update checks, enable/disable, and removal. CLI operations are also available:
pi list
pi install npm:pi-subagents
pi remove npm:pi-subagents
The install/remove examples change package configuration. Use the source identifier of the package you intend to manage. For skills derived from a thread, see Learning.