@astrofoundry/pi-astro
Personal pi customizations (extensions, subagents, 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.18.2- Published
- Sep 15, 2026
- Downloads
- 333/mo · 57/wk
- Author
- astronaute
- License
- ISC
- Types
- extension, skill, theme, prompt
- Size
- 744.6 KB
- Dependencies
- 2 dependencies · 5 peers
Pi manifest JSON
{
"skills": [
"./skills"
],
"themes": [
"./themes"
],
"prompts": [
"./prompts"
],
"extensions": [
"./extensions"
]
}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: 19 subagents (8 general-purpose, 8 Flourish-pipeline, 3 homelab specialists) run by the bundled astro-subagents extension, a grimoire docs tool, a caveman compressed-output toggle, an astro-footer status bar, 8 skills, and an astro theme.
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
Agents load straight from the package: bundled agents are named astro.<name> (for example astro.code-reviewer), your own agents in ~/.pi/agent/agents/*.md keep their plain names. If an earlier version copied bundled agents into that folder as astro.*.md, the first session removes those copies.
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-subagents, grimoire, astro-footer, specialist-gate, etc.
What's inside
Tools (LLM-callable):
subagent- delegate a task to any agent, run several in parallel, or chain them ({previous}carries the prior output). Each agent runs in its ownpiprocess with its own tool allowlist and skills;/run <agent> -- <task>does the same from the prompt,/agentslists what is availablegrimoire- 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-subagents- thesubagenttool,/run, and/agents. Readsagents/*.mdfrom this package and~/.pi/agent/agents; a child may delegate one more level by default (maxSubagentDepthin an agent tightens it)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|testspecialist-gate- gives each specialist agent (astro.arcane,astro.identity,astro.network) its single tool, which runs the matching CLI wrapper as a dedicated macOS user throughsudo, and blocks every other agent from calling those CLIs or reading their credentials. Inactive until the host has~/.pi/agent/specialists.json./specialistsprints the status. Host setup is described in specialists/README.md.notify-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 (call them as astro.<name>):
- General-purpose:
code-reviewer,google-tech-lead,spec-writer,tester-api,tester-ui,ui-architect,ui-design-system,ui-frontend-developer - Specialists (one homelab area each, need the host setup in specialists/README.md):
arcane(Arcane container platform, GitOps first),identity(Zitadel, Pomerium, certificates),network(UniFi, FreeRADIUS, Tailscale, read-only) - 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,arcane,identity,network(the last three are injected into their specialist agents)
Theme:
astro- dark, gold accent, GitHub-dark-inspired
Usage
Delegate to a subagent:
use astro.code-reviewer to review src/routes/products.ts
Run several agents in parallel:
run astro.code-reviewer and astro.tester-api in parallel on the auth middleware changes
Or from the prompt line:
/run astro.arcane -- list the Arcane projects and their state
Search docs:
look up Firestore batched writes in the docs
Invoke a skill explicitly:
/skill:playwright-cli
License
ISC