nano-team
A tiny pi.dev extension. It doesn't really do much — just runs your subagents and shows them as a compact little chip row above the editor so you can see who's working.
Package details
Install nano-team from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:nano-team- Package
nano-team- Version
1.0.1- Published
- Apr 30, 2026
- Downloads
- not available
- Author
- daynin
- License
- MIT
- Types
- extension
- Size
- 778.9 KB
- Dependencies
- 1 dependency · 2 peers
Pi manifest JSON
{
"extensions": [
"./index.ts"
],
"image": "https://github.com/daynin/nano-team/blob/main/imgs/example.png?raw=true"
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
NANO TEAM
A tiny pi.dev extension that runs your subagents and shows them as a compact chip row above the editor.
What it is
You define a roster of subagents in YAML. The main pi agent can then spawn them, kill them, or check on them with three small tools. They run as isolated pi subprocesses, in parallel if you want, and a widget pinned above the editor animates each one's face while it thinks, works, finishes, or blows up.
That's the whole thing. No queues, no scheduling, no orchestration DSL.
In action
Two agents spawned in one turn, working in parallel:
Tools
Three of them, that's it:
nano_agent_spawn(name, task?)— run a team member.taskoverrides the YAML default.nano_agent_kill(name)— abort a running agent.nano_agent_status(name?)— markdown table of everyone, or one agent's full transcript.
Issue several spawn calls in one turn and they go off in parallel. Chain them by feeding one's output into the next one's task.
Adding an agent
Drop a YAML file at .pi/nano-team/team/<name>.yaml:
name: developer
role: developer
model: inception/mercury-2
instructions: |
You write TypeScript that meets this project's standards.
- strict mode; no `any`; functional style; immutable data
- no comments unless the WHY is non-obvious
task: |
Implement the requested change end-to-end. State the file paths touched in the summary.
The required fields:
name— what you'll call them innano_agent_spawnrole— one lowercased word (developer, reviewer, analyst…)model— any model id pi knows aboutinstructions— system prompt for the subagenttask— default task; can be overridden per spawn
Run /reload after editing. A few starter agents live in examples/team/ if you want to copy from.
Install
From npm:
pi install npm:nano-team
Or from GitHub:
pi install git:github.com/daynin/nano-team
That writes to your global pi settings (~/.pi/agent/settings.json). Pass -l to install only for the current project. Other install sources work too — local path, https URL — see the pi packages docs for the full list.
Verify with pi list. Remove with pi remove nano-team.
The faces
Each agent gets its own color, picked from a 12-color palette so they don't blur into each other on the row. Five states (idle, thinking, working, done, error), four variants per state, animating frame by frame. Errors get crossed-out eyes and a frown. It's not load-bearing — it's just nicer to look at than a status bar.
Stack
- TypeScript strict, no build step. The extension loads as
.tssource via jiti. - Deps:
@mariozechner/pi-coding-agent,yaml,typebox. Nothing else.
License
MIT — see LICENSE.
