agents/skills/extend-pi/SKILL.md
Use when working on the pi coding agent harness or writing pi extensions.
npx skillsauth add timofreiberg/dotfiles extend-piInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Pi is a minimal coding agent harness by @mariozechner. The docs and examples shipped with the pi package are the contract for hooking into it — read them before guessing at APIs.
This skill exists for setups that use a custom system prompt and therefore drop pi's default "where to find pi docs" block. Without that pointer, the agent has no idea where the surface area lives.
The npm-installed package ships README.md, docs/, and examples/ under
its install root. Find the root with:
echo "$(npm root -g)/@earendil-works/pi-coding-agent"
If that path doesn't exist (pi installed via pnpm/bun/curl), try
pnpm root -g / bun pm ls -g, or ask the user where pi is installed.
All paths in the table below are relative to that directory. The package's
own docs/index.md is the authoritative index — trust it over the table
below if they disagree.
| Topic | Docs | Examples |
|---------------------|----------------------------|-----------------------------------------------|
| Extensions | docs/extensions.md | examples/extensions/ |
| Custom tools | docs/extensions.md | examples/extensions/tools.ts, dynamic-tools.ts |
| Skills | docs/skills.md | examples/sdk/04-skills.ts |
| Prompt templates | docs/prompt-templates.md | examples/sdk/08-prompt-templates.ts |
| Themes | docs/themes.md | — |
| TUI components | docs/tui.md | examples/extensions/ (UI-heavy ones) |
| Keybindings | docs/keybindings.md | — |
| SDK integration | docs/sdk.md | examples/sdk/ |
| RPC mode | docs/rpc.md | examples/extensions/rpc-demo.ts |
| JSON event stream | docs/json.md | — |
| Custom providers | docs/custom-provider.md | examples/extensions/custom-provider-*/ |
| Custom models | docs/models.md | — |
| Pi packages | docs/packages.md | — |
| Settings | docs/settings.md | — |
| Sessions | docs/sessions.md, docs/session-format.md | — |
| Compaction | docs/compaction.md | examples/extensions/custom-compaction.ts |
examples/extensions/README.md and examples/sdk/README.md index the example
files with one-line summaries each — read those first to find the closest
existing pattern.
docs/*.md completely. Pi's docs are short; skimming
loses the constraint that bites you.tui.md from
extensions.md; provider work pulls in models.md from
custom-provider.md.examples/extensions/ or examples/sdk/ and
adapt it. The examples are the canonical "how to wire it up" reference.databases
Use when a judgment forms during work that a future session would benefit from — a fork you resolved, a correction from the user, a wrong assumption about the environment, something you had to rediscover. Appends one timestamped entry to the journal staging dir.
development
Use when starting your work day: groom the todo list to a trusted state, archive finished work, surface today's candidates, and propose a concrete first move. Stab-then-confirm, ~5 min.
data-ai
Use when reviewing local changes — the working-copy diff, a branch, a commit, or a GitHub PR by number — with a fresh subagent that returns a structured findings report.
tools
Use when a question needs current internet information — docs, news, releases, prices. Prefer a built-in web search tool for quick lookups if the harness has one; this script returns a model-summarized answer with source URLs and works without one.