pi-extension-authoring
Installation
SKILL.md
Pi Extension Authoring
Use this before changing Pi extension code or debugging Pi startup warnings.
Canonical surfaces
- Repo-local joelclaw extensions:
~/Code/joelhooks/joelclaw/pi/extensions/<name> - Active symlinks:
~/.pi/agent/extensions/<name>→ repo-local source - Package extensions:
~/.pi/agent/git/github.com/<owner>/<repo> - Package config:
~/.pi/agent/settings.json - Pi SDK/docs: global package under
~/.local/share/fnm/node-versions/*/installation/lib/node_modules/@earendil-works/pi-coding-agent/(older installs used@mariozechner/pi-coding-agent)
Rules
- Do not keep using captured session-bound objects after session replacement.
ctx.newSession(),ctx.fork(),ctx.switchSession(), andctx.reload()invalidate oldpiandctxobjects.- For replacement commands, move post-switch work into the method's
withSessioncallback and use only the callbackctx. - For reload commands, treat
await ctx.reload(); return;as terminal.