Copy of the legacy ~/.pi/agent/docs tree rebuilt as the command-center knowledge base: concept files promoted to path identity, index listings stripped of frontmatter, all wikilinks/relative links resolved, every checkable claim verified against the live fleet (Dankserver = Ryzen 7 7700X + RTX 3090; Strix Halo is Dankclaw), unverifiable claims tagged. kb-lint exits 0.
80 lines
2.1 KiB
Markdown
80 lines
2.1 KiB
Markdown
---
|
|
type: reference
|
|
title: Pi Package Structure
|
|
description: How pi packages bundle skills, extensions, prompts, and themes into a single npm package with a pi manifest.
|
|
tags:
|
|
- unverified
|
|
- packages
|
|
- npm
|
|
- distribution
|
|
timestamp: 2026-07-18
|
|
verified: 2026-08-28
|
|
---
|
|
|
|
# Pi Packages — The Distribution Mechanism
|
|
|
|
Pi packages are npm packages that declare resources via a `pi` manifest in `package.json`. They are the primary way to distribute skills (along with extensions, prompts, and themes) through npm.
|
|
|
|
## Package Structure
|
|
|
|
```
|
|
my-pi-package/
|
|
├── package.json # npm metadata + pi manifest
|
|
├── skills/ # Conventional directory (auto-discovered)
|
|
│ ├── my-skill/
|
|
│ │ └── SKILL.md
|
|
│ └── another-skill/
|
|
│ └── SKILL.md
|
|
├── extensions/ # TypeScript extensions
|
|
├── prompts/ # Prompt templates
|
|
├── themes/ # TUI themes
|
|
└── README.md
|
|
```
|
|
|
|
## Package.json with pi Manifest
|
|
|
|
```json
|
|
{
|
|
"name": "my-pi-package",
|
|
"keywords": ["pi-package"],
|
|
"pi": {
|
|
"extensions": ["./extensions"],
|
|
"skills": ["./skills"],
|
|
"prompts": ["./prompts"],
|
|
"themes": ["./themes"]
|
|
}
|
|
}
|
|
```
|
|
|
|
## Gallery Metadata
|
|
|
|
Packages tagged with `pi-package` appear on the [pi.dev/packages gallery](https://pi.dev/packages). Add preview media:
|
|
|
|
```json
|
|
{
|
|
"pi": {
|
|
"skills": ["./skills"],
|
|
"video": "https://example.com/demo.mp4",
|
|
"image": "https://example.com/screenshot.png"
|
|
}
|
|
}
|
|
```
|
|
|
|
## Two-Layer Model
|
|
|
|
```
|
|
npm package (tagged pi-package)
|
|
├── pi.skills manifest → points to ./skills/
|
|
└── skills/
|
|
├── brave-search/SKILL.md
|
|
├── browser-tools/SKILL.md
|
|
└── tdd-workflow/SKILL.md
|
|
```
|
|
|
|
Skills are the **content** (SKILL.md + scripts). Pi packages are the **delivery mechanism** (npm tarball with a `pi` manifest).
|
|
|
|
## Related
|
|
|
|
* [Installation](/tools/npx-skills/installation.md) — How to install pi packages
|
|
* [Skill File Structure](/tools/npx-skills/skill-file-structure.md) — What goes inside a skill
|