@emiliosp/pi-maestro
v0.7.4
Published
A spec-driven multiagent development workflow for Pi.
Maintainers
Readme
pi-maestro
Pi extension for a spec-driven multiagent development workflow.

The idea
A specification (spec) describes one reversible change. The builder implements it. An independent verifier checks every acceptance criterion. The owner performs the final review.
Four principles hold the workflow together:
- The approved
specdefines the required work for thebuilderandverifier. - No agent approves its own work.
- Every
acceptance criterionis checked independently. - The
ownerdecides requirements, scope, and unresolved questions.
The roles
| Role | Responsibility |
|---|---|
| Owner | Brings the problem, approves the spec, decides questions and findings, and reviews the final code. |
| Maestro | Works directly with the owner, prepares the spec, runs the other agents, records decisions, and summarizes results. |
| Builder | Implements the approved spec and checks each acceptance criterion. |
| Verifier | Independently checks the project files against the spec and reports technical issues. |
An escalation asks the owner to decide an implementation question. A finding records a technical issue reported by the verifier. The owner discusses both with Maestro, not directly with the builder or verifier.
Prerequisites
- macOS.
- Node.js 26 or later.
- Pi 1.0.0 or later.
pi-subagentsinstalled and enabled in Pi.- Access to the configured
builderandverifiermodels. - A project directory that Pi trusts.
Installation
The owner installs pi-subagents and Maestro with these commands:
pi install npm:pi-subagents
pi install npm:@emiliosp/pi-maestroUsage
The owner starts Pi from the project directory:
cd /path/to/project
piActivate Maestro:
/maestroDuring activation, Maestro checks project trust, configuration, models, and agent availability. If a check fails, Maestro stays disabled and reports the problem.
The owner follows this workflow:
- Describes one change to
Maestro. - Reviews the
spec, including itsacceptance criteriaand concrete examples. - Replies
GREEN FLAGwhenMaestroasks for approval.Maestrorecords the approval and starts thebuilder. - Reviews every current
builderescalationand givesMaestroan answer and reason for each question. - Reviews
verifierfindingsand chooses an action for everyfinding. - Reads Maestro's summary at
candidate-readyand performs the final review.
Maestro starts the verifier after a successful builder run.
Both agents run in the foreground: Pi waits for each run to finish and Maestro shows the current phase in Pi's status, while pi-subagents FleetView and /subagents-fleet show agent activity and transcripts.
The owner must not edit product files while the workflow runs.
Maestro can perform temporary experiments with owner agreement during spec preparation and permitted revisions. See Workflow.
An escalation asks the owner to decide an implementation question, and a finding records a technical issue reported by the verifier. The owner discusses both with Maestro, never directly with the builder or verifier.
If a spec change is needed during an escalation or finding decision, the owner reviews the revised spec and replies GREEN FLAG again. Maestro then starts another builder run.
The workflow ends at candidate-ready. Rejected findings retain their reasons. Later changes are outside the completed verification. The owner controls any later Git use, pull request, and merge.
The same /maestro command disables Maestro and leaves project files unchanged. Disabling Maestro, restarting Pi, or using /resume clears live session state. Saved files do not automatically restore or resume an incomplete workflow. The owner handles it manually.
Configuration
Maestro uses default values when .pi/maestro.json is absent from the project root. The owner can add this file to change the spec directory, models, thinking levels, or timeouts. See Configuration.
Documentation
The reading order is:
- Glossary: terms and identifiers used in
specs, reports, andMaestromessages. Read this before the first workflow. - Workflow: approvals, decisions, and how each
runproducesartifacts. - Configuration: project paths, models, and timeouts.
- Subagent integration: agent context, execution, and activity tracking.
Project constitution
- Mission: purpose, scope, and
ownerresponsibilities. - Tech stack: runtime technologies and development tools.
- Roadmap: completed outcomes and planned priorities.
- Changelog: meaningful codebase changes and breaking changes.
- Design decisions: recorded choices, reasons, alternatives, and constraints.
