Agent Maestro
🎼 Multi-agent task orchestration — delegate work from an orchestrator to specialized sub-agents via a file-based queue.
Architecture
Orchestrator (Antigravity) → maestro delegate → .agent_bridge/pending/ → watcher → Copilot CLI → .agent_bridge/completed/
↓
--agent <name>
↓
.github/agents/*.agent.md
Custom Agents
Agent Maestro leverages VS Code Copilot's custom agents for specialized roles:
| Agent | Role | Handoffs |
|---|---|---|
| Orchestrator | Plan tasks, coordinate sub-agents | → Implementer, Tester, Reviewer |
| Implementer | Write code changes | (worker) |
| Tester | Write and run tests | (worker) |
| Reviewer | Read-only code review | (worker) |
Agent definitions live in .github/agents/ and are routed via --agent <name> when the watcher invokes Copilot CLI.
Installation
Option 1: From PyPI (Recommended)
pip install agent-maestro
Option 2: From GitHub (Latest)
pip install git+https://github.com/migoueel/multi_agents.git
Option 3: For Development
git clone https://github.com/migoueel/multi_agents.git
cd multi_agents
pip install -e ".[dev]"
Quick Start
# 1. Scaffold config + custom agents (in your project)
maestro init
# 2. (Optional) Edit config.yaml and .github/agents/*.agent.md
# 3. Start the watcher daemon
maestro start
# 4. Delegate a task
maestro delegate "Add error handling to auth module" \
--files src/auth.py \
--agent-type implementer
# 5. Check status
maestro status <task-id>
maestro list
maestro stats
CLI Reference
| Command | Description |
|---|---|
maestro init |
Scaffold .agent_bridge/, config.yaml, .github/agents/ |
maestro start |
Start the background watcher daemon |
maestro delegate "<instructions>" |
Delegate a task to a sub-agent |
maestro status <id> |
Check task status |
maestro list [--status PENDING] |
List all tasks |
maestro stats |
Show queue statistics |
Delegate Options
maestro delegate "..." [OPTIONS]
--files, -f Target files for the agent
--action, -a Task type: implement, test, refactor, fix, review
--agent-type, -t Custom agent: orchestrator, implementer, tester, reviewer
--context, -c Extra context string
--priority Priority level (0=normal, higher=urgent)
Configuration
Edit config.yaml in your project root:
bridge:
poll_interval_seconds: 3
max_concurrent_tasks: 1
task_timeout_seconds: 300
agent_bridge_dir: ".agent_bridge"
runners:
default: "copilot-cli"
copilot_cli:
command: "copilot" # path to copilot.bat
model: "gpt-5-mini"
allow_all_tools: true
Package Structure
agent_maestro/
├── __init__.py # Public API: delegate_task, check_status, list_tasks
├── __main__.py # python -m agent_maestro
├── cli.py # maestro CLI commands
├── protocol.py # Task, TaskStatus, RunResult schemas
├── queue.py # File-based task queue
├── config.py # YAML config loader
├── watcher.py # Background watcher daemon
├── runners/
│ ├── base.py # Abstract BaseRunner
│ └── copilot_runner.py # Copilot CLI runner with --agent support
└── scaffold/
├── config.yaml # Default config template
└── agents/ # Custom agent templates
├── orchestrator.agent.md
├── implementer.agent.md
├── tester.agent.md
└── reviewer.agent.md
How It Works
- Task Creation:
maestro delegate(ordelegate_task()from Python) writes a JSON file to.agent_bridge/pending/ - Watcher Pickup: The background watcher polls for pending tasks, claims the highest-priority one
- Runner Dispatch: The
CopilotRunnerinvokescopilot -p <prompt> --agent <agent_type> - Custom Agent: Copilot CLI loads the matching
.github/agents/<name>.agent.mdfor specialized behavior - Result Recording: Output moves to
.agent_bridge/completed/(orfailed/)
Testing
pytest tests/ -v
License
MIT
Release files for agent-maestro 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agent_maestro-0.1.1.tar.gz | 42.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agent_maestro-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 76.1 kB
Release files / agent_maestro-0.1.1.tar.gz
| Download URL | agent_maestro-0.1.1.tar.gz |
|---|---|
| Size | 42.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
be2ac715e6a5d0d3ed1512e0afa56a5cbc6deab9c556373c061a9023f9b5936c
|
|
BLAKE2b-256 checksum How to use checksums |
b70da383f08f3a72db6760af6caf2b034fdd0cbf24e3e432b3a02853714f2d46
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 11, 2026.
Transparency logRelease files / agent_maestro-0.1.1-py3-none-any.whl
| Download URL | agent_maestro-0.1.1-py3-none-any.whl |
|---|---|
| Size | 33.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6efa8c45455adfb4b811dfb036a2036833381739296a1ea95f13571b317869f2
|
|
BLAKE2b-256 checksum How to use checksums |
efc4237ca8bf471c811cbe483042a88130d9ba2e2f427ec3d85046c198491365
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 11, 2026.
Transparency log