pi-pinata
Pi subagents you can watch work: parallel agents in Herdr workspaces, reviewed changes, and automatic cleanup.
Package details
Install pi-pinata from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-pinata- Package
pi-pinata- Version
0.7.0- Published
- Oct 8, 2026
- Downloads
- 1,556/mo · 717/wk
- Author
- funsaized
- License
- MIT
- Types
- extension, skill, prompt
- Size
- 472.7 KB
- Dependencies
- 0 dependencies · 3 peers
Pi manifest JSON
{
"skills": [
"./skills/subagents",
"./skills/engmgmt"
],
"themes": [],
"prompts": [
"./prompts/scout.md",
"./prompts/research.md",
"./prompts/planner.md",
"./prompts/builder.md",
"./prompts/reviewer.md",
"./prompts/pinata-review.md",
"./prompts/pinata-fix.md"
],
"extensions": [
"./lib/extension.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
piñata
Fast, observable subagents for Pi.
Ask for a scout, a researcher, a planner, a builder, or a reviewer, and each one opens in its own Herdr workspace where you can watch it work. When they finish, Pi brings their results back. Every builder change gets a separate review before it reaches your checkout.
https://github.com/user-attachments/assets/d1b45899-beef-4dcc-9b0e-d59ab28c6a5d
Install
pi install npm:pi-pinata
Then enable Herdr's Pi integration, so Pi can resume on its own when the agents finish:
herdr integration install pi
Reload Pi, run it inside a Herdr session, and you're ready. You'll need Pi 1.0.2+, Herdr 0.9.1+, Node 22.19+, and Git; research also uses pi-web-access. Setup covers models, sessions, and checking your install.
Try this first
Ask Pi in plain language:
Have a scout figure out how request validation works in this repo.
Send two scouts out in parallel, one on the retry logic and one on its tests.
Then have research check both reports against the official docs.
/skill:engmgmt Fix this bug, test it, and have a reviewer sign off before it
touches my checkout.
/pinata-fix Correct the seconds-to-milliseconds conversion in src/duration.mjs.
/pinata-review Focus on the error handling.
That's enough to start. Pi picks the agents, writes their briefs, and decides who waits for whom.
Meet the team
| Agent | What it does |
|---|---|
Scout (scout) |
Finds where the behavior lives. |
Researcher (research) |
Checks the docs and brings sources. |
Planner (planner) |
Turns findings into a workable plan. |
Builder (builder) |
Makes the change and runs the checks. |
Reviewer (reviewer) |
Checks the diff and challenges the assumptions. |
Rule of thumb: scout before you understand the code, research before you trust an outside fact, plan when the change is big, build when the path is clear, and always review before you merge.
What it's like to use
- Watch any agent. Each agent is a real Pi session in its own Herdr workspace. Switch to one whenever you like and see what it's reading and running.
- Pi picks up the results. With Herdr's Pi integration enabled, Pi resumes on its own when the agents finish and reads their reports. While they work, it sits idle and uses no tokens.
- Agents work from your current files. Uncommitted edits and new files come along, so agents see the same code you're looking at.
- Agents can wait on each other. Ask for "research once both scouts are done" and Pi sets up the order. Anything that doesn't depend on other work runs in parallel.
- Builder changes are reviewed before they land. Each builder works in its own worktree, and a separate reviewer has to approve that exact change before pinata applies it to your checkout. You can roll an integration back as long as you haven't edited those files since. Committing is left to you.
- Review your own work, too.
/pinata-reviewpoints several reviewers at your uncommitted changes, a branch, or a GitHub pull request and gives you one combined list of findings. - Cost and memory are visible. Above the editor, Pi lists each running agent
with time, tokens, cost, and sampled memory usage. Set
limits.costUsdto stop a run at a dollar amount. - Cleanup is automatic. Finished workspaces close, and worktrees are removed once their work is done or merged. Results are kept, so you can go back and read what each agent found.
- Same model as you. Agents use your current Pi model by default. You can give each role its own model and thinking level.
Common asks
| Want | Ask naturally |
|---|---|
| Understand unfamiliar code | "Have a scout map how payments flow through this service." |
| Investigate from several angles | "Send three scouts in parallel: API, database, and tests." |
| Check facts against sources | "Have research verify these claims against the official docs." |
| Review your changes | "/pinata-review", "/pinata-review main", or "/pinata-review 123" |
| Fix an understood bug | "/pinata-fix Correct the conversion in src/duration.mjs; run npm test." |
| Plan before changing anything | "Have a planner propose the smallest fix for this issue." |
| Build, review, and apply | "/skill:engmgmt Implement the approved plan with an independent review." |
| Check on a run | /pinata (no model turn), or "How is the pinata run going?" |
| Watch the mascot and agents | /pinata live (Space to bonk), or /pinata live demo to try it |
| Undo the last integration | "Roll back the latest pinata integration." |
| Tidy up old runs | "Preview cleanup of old pinata runs, then clean up what's safe." |
Where to look while it runs
Each agent gets its own Herdr workspace in the sidebar. Open one to watch that agent think, read files, and call tools as it goes.
While a run is going, Pi shows each agent's state, time, tokens, cost, and sampled
memory above the editor, and a one-line summary in the footer. Type /pinata
for the same view in the transcript, or /pinata runs for past runs in this repository.
Neither sends anything to the model.
For a little paper magic, open /pinata live: a turning 3D terminal piñata with
colored ribbons and the actual task statuses beside it. Press Space to bonk,
M to toggle motion, and Esc to return to Pi; workers keep going. In
fullscreen Pi you can also click the small companion above the editor to open it.
The victory confetti waits for successful tasks and, for builder runs, verified
integration. Try /pinata live demo without starting agents, then follow the
live mascot walkthrough.
If something feels off
Ask Pi for the run's status first; it says which agent is stuck and why. Recovery covers resuming, repairing, and cleaning up a run, and setup helps when an agent won't start.
Process overhead
Each agent runs in its own Pi process. For a tiny task, starting the agent can take longer than doing the work. piñata is built for jobs with several independent tasks, where running them in parallel can make up for that overhead.
Good to know
- Agents get a copy of your files as they were when you asked, uncommitted
changes included. Ignored files like
node_modulesand.envare left out unless you list them in.worktreeinclude. - Builders run commands with your permissions, so read a builder's task before you approve it. Concepts has details.
- Tested on Linux; macOS should work. See validation.
Documentation
| I want to… | Start here |
|---|---|
| Learn with a small, read-only run | Run your first scout |
| Learn the build and review cycle | Build and review a change |
| Choose a task for each agent | Agent examples |
| Copy a model config or a complete job | Example configs and jobs |
| Give builders their dependencies | Dependencies |
| Install or configure pinata | Setup |
| Resume, repair, or clean up a run | Recovery |
| See every command and tool | Commands |
| Use the helper directly | Helper tutorial |
| Understand worktrees, reviews, and safety | Concepts |
The documentation index also links to contributor testing, recorded validation, and npm publication instructions.
MIT licensed. Made w/ Opus 5.5, a bit of hand crafted code, and a lot of stepping through & debugging :P