@astrofoundry/pi-astro
Personal pi customizations (extensions, skills, prompts, themes) for the pi coding agent.
Package details
Install @astrofoundry/pi-astro from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@astrofoundry/pi-astro- Package
@astrofoundry/pi-astro- Version
0.16.1- Published
- May 13, 2026
- Downloads
- 5,624/mo · 181/wk
- Author
- astronaute
- License
- ISC
- Types
- extension, skill, theme, prompt
- Size
- 4.6 MB
- Dependencies
- 3 dependencies · 5 peers
Pi manifest JSON
{
"extensions": [
"./extensions",
"node_modules/pi-subagents/src/extension/index.ts"
],
"skills": [
"./skills",
"node_modules/pi-subagents/skills"
],
"prompts": [
"./prompts",
"node_modules/pi-subagents/prompts"
],
"themes": [
"./themes"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
@astrofoundry/pi-astro
Personal customizations for the pi coding agent: 16 curated subagents (8 general-purpose + 8 Flourish-pipeline) orchestrated by the bundled pi-subagents, a grimoire docs tool, a caveman compressed-output toggle, an astro-footer status bar, 5 skills, and an astro theme. pi-subagents ships inside this package (bundledDependencies), so a single pi install brings everything.
Full setup
1. Install pi
npm install -g @earendil-works/pi-coding-agent
If you previously installed the older @mariozechner/pi-coding-agent (now deprecated, same code under the new scope), uninstall it to clear deprecation warnings: npm uninstall -g @mariozechner/pi-coding-agent.
2. Install this package
pi install npm:@astrofoundry/pi-astro
pi-subagents is bundled inside this package. It loads automatically from node_modules/pi-subagents/ and registers the subagent tool. Do not also run pi install npm:pi-subagents separately, that would load a second copy and pi would refuse the duplicate tool registration. The astro-agents-loader extension syncs each agents/*.md into ~/.pi/agent/agents/astro.<name>.md on session start so pi-subagents picks them up.
3. Install CLI prerequisites
# grimoire (required by the `grimoire` tool, docs lookup)
npm install -g @astrofoundry/grimoire
# Playwright CLI (required by the `playwright-cli` skill / tester-ui agent)
npm install -g @playwright/cli@latest
# Postman CLI (required by the `postman-cli` skill / tester-api agent)
npm install -g postman-cli
Optional:
- Raycast app, required only if you use the
raycast-script-creatorskill. - Flourish SDK (
npm install -g @flourish/sdk), required only if you use theflourish-template-developerorflourish-preview-runneragents. If missing, those two agents will attempt to install it for you and stop with the install command if they cannot.
4. Activate the astro theme
Add to ~/.pi/agent/settings.json:
{ "theme": "astro" }
Or run /settings inside pi and select astro.
5. Verify
pi list # confirm @astrofoundry/pi-astro is installed
pi # launch; confirm [Extensions] lists astro-agents-loader, grimoire, astro-footer, subagent, etc.
What's inside
Tools (LLM-callable):
subagent(from the bundledpi-subagents) - delegate tasks to any of the bundled agents, run them in parallel, chain them, or run them async with status/interrupt/resumegrimoire- search indexed technical documentation via the grimoire CLIedit- replaces pi's built-in with batch multi-file edits and Codex-style patch mode, preflight validation, atomic rollbackgemini_image- generate or edit images via Google Gemini native models and Imagen 4; cost-estimated confirmation before every call
Extensions:
astro-agents-loader- copies bundled agent definitions into~/.pi/agent/agents/astro.<name>.mdon session start sopi-subagentsdiscovers them. Idempotent, namespaced, prunes stale entries.grimoire- registersgrimoiretoolmulti-edit- registers the enhancededittoolgemini-image- registersgemini_imagetool (requires a Gemini API key; prompts and saves on first use)security-guard- blocks/prompts destructive bash commands and sensitive file access; configure at~/.pi/agent/security-guard.json(example written on first run);/security-guard status|reload|testnotify-on-stop- runs a shell command when the agent finishes a turn (sound, voice, desktop notification). Default: off. Enable with/notify on(state persists in~/.pi/agent/notify-on-stop.json); disable with/notify off. macOS default command: plays the Glass system sound and speaks "Agent done" viasayusing theSamantha (Enhanced)voice. Linux default:notify-send "pi" "Agent done". Override the voice withPI_STOP_NOTIFY_VOICE=<voice-name>(macOS only; e.g.Alex,Karen,Daniel (Enhanced)). Replace the full command withPI_STOP_NOTIFY='afplay /System/Library/Sounds/Glass.aiff && say "Done"'. Hard-kill (overrides/notify on) withPI_STOP_NOTIFY_OFF=1. Commands:/notify [on|off|status|test]. See extensions/notify-on-stop/README.md for full details.- macOS voice install (required once for the default): open System Settings, Accessibility, Spoken Content, System Voice, Manage Voices..., expand English, check Samantha (Enhanced), click Done to download (~500 MB to 1 GB). Verify with
say -v "Samantha (Enhanced)" hi. If the voice is missing,sayerrors silently and you'll only hear the Glass sound.
- macOS voice install (required once for the default): open System Settings, Accessibility, Spoken Content, System Voice, Manage Voices..., expand English, check Samantha (Enhanced), click Done to download (~500 MB to 1 GB). Verify with
vscode-image- only active inside VS Code's integrated terminal (TERM_PROGRAM=vscode). Switches pi-tui's image output to the Kitty graphics protocol so images returned by tools likegemini_imagerender as real pixels instead of the[Image: ...]text fallback. Requires enablingTerminal > Integrated: Enable Imagesin VS Code settings (off by default); restart the integrated terminal after flipping it. Disable withPI_VSCODE_IMAGE_OFF=1./vscode-imageprints current status.astro-footer- two-line powerline-style footer (row 2 only when there's info to show). Row 1: pi, pretty-printed model, thinking, path, git branch +±counts, tokens (in/out split), cost (or(sub)for OAuth-authed plans), context %/total + auto-compactAC. Row 2: session time, session name, cache read/write, any extension status keys. Auto-detects Nerd Fonts (iTerm/WezTerm/Kitty/Ghostty/Alacritty) with ASCII fallback. Env overrides:ASTRO_FOOTER_NERD_FONTS=0|1,ASTRO_FOOTER_PATH=basename|abbreviated|full. Toggle with/footer [on|off|status]. See extensions/astro-footer/README.md.astro-snake-/snakelaunches an in-pi Snake game (Astro-themed, theme-aware colours, speed ramp, no persistence). See extensions/astro-snake/README.md.astro-welcome- pixel-art astronaut welcome screen (24-bit colour, twinkling starfield, rotating funny tagline, live stats) rendered on session start; auto-dismisses after 6 s, on first keystroke, or on first prompt submit. See extensions/astro-welcome/README.md.caveman-/caveman [lite|full|ultra|wenyan-lite|wenyan-full|wenyan-ultra|off|status]toggles a persistent compressed-output mode. No argument toggles between off and the default level (full). Active level is shown as a footer badge and survives/reload. The skill body atskills/caveman/SKILL.mdis also available as a one-shot via/skill:caveman.
Bundled subagents (callable via the subagent tool from pi-subagents):
- General-purpose:
code-reviewer,google-tech-lead,spec-writer,tester-api,tester-ui,ui-architect,ui-design-system,ui-frontend-developer - Flourish pipeline:
flourish-input-vision(image to spec),flourish-input-narrative(text to spec),flourish-input-codebase(HTML to spec),flourish-architect(spec to plan),flourish-template-developer(plan to SDK template, needs@flourish/sdk),flourish-example-builder(template to realistic example),flourish-preview-runner(multi-breakpoint preview + screenshots, needs@flourish/sdk),flourish-reviewer(audit)
Skills (loadable via /skill:<name>):
playwright-cli,postman-cli,raycast-script-creator,caveman,flourish-chart-spec
Theme:
astro- dark, gold accent, GitHub-dark-inspired
Usage
Delegate to a subagent:
use the code-reviewer agent to review src/routes/products.ts
Run several agents in parallel via pi-subagents:
run reviewer and tester-api in parallel on the auth middleware changes
Search docs:
look up Firestore batched writes in the docs
Invoke a skill explicitly:
/skill:playwright-cli
License
ISC