# Pi Package Authoring

> Pi packages — npm/git distribution of extensions, skills, prompts, themes via keywords pi-package and package.json pi manifest; pi install paths and security expectations. Use when shipping or consuming pi-package, adding pi.skills entries, or explaining install vs project-local -l. Use for "publish pi skills on npm", "pi install", "pi-package.json", even without naming this skill.

- Skill: `romiluz13/pi-package-authoring` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add romiluz13/pi-package-authoring`
- Raw SKILL.md: https://api.skillmd.com/api/skills/romiluz13/pi-package-authoring/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- Author: romiluz13 (https://skillmd.com/u/romiluz13)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/romiluz13/pi-package-authoring

---


# Pi package authoring

## Grounding

1. `pi-mono/packages/coding-agent/docs/packages.md` — manifest, install commands, layout.
2. `pi-mono/packages/coding-agent/README.md` — Pi Packages section (`pi install`, `package.json` `pi` key, keywords).
3. `pi-mono/packages/coding-agent/src/core/package-manager.ts` — `resourcePrecedenceRank` (package-origin resources sort after user/project).

## Invariants

- Packages integrate through the same resource resolution pipeline as local dirs; **package-origin** metadata ranks after user/project auto paths — see `resourcePrecedenceRank` in `pi-mono/packages/coding-agent/src/core/package-manager.ts`.
- Third-party packages execute code; skills can instruct arbitrary actions — security notes are first-party in `docs/packages.md` and coding-agent README.

## Workflows

- **Define a package**: Mirror the `package.json` example from `docs/packages.md` / README; verify conventional dirs (`skills/`, `extensions/`, etc.) against those docs.
- **Predict overrides**: Combine package-manager precedence with `loadSkills` “first name wins” (`pi-mono/packages/coding-agent/src/core/skills.ts`).

## Anti-patterns

- Do not invent CLI flags not documented in `docs/packages.md` / README.

