maestro-orchestrate
Health Pass
- License — License: Apache-2.0
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 261 GitHub stars
Code Fail
- process.env — Environment variable access in claude/lib/config/setting-resolver.js
- process.env — Environment variable access in claude/lib/core/agent-registry.js
- fs.rmSync — Destructive file system operation in claude/lib/core/atomic-write.js
- fs module — File system access in claude/lib/core/atomic-write.js
- fs module — File system access in claude/lib/core/env-file-parser.js
- child_process — Shell command execution capability in claude/lib/core/project-root-resolver.js
- execSync — Synchronous shell command execution in claude/lib/core/project-root-resolver.js
- process.env — Environment variable access in claude/lib/core/project-root-resolver.js
Permissions Pass
- Permissions — No dangerous permissions requested
This tool is a multi-agent orchestration platform that coordinates 22 specialized AI subagents for development tasks like code review, debugging, and security analysis. It acts as an advanced extension for both Gemini CLI and Claude Code.
Security Assessment
Overall Risk: High. The tool actively interacts with the local system and poses several significant security considerations. It accesses environment variables in multiple files, potentially exposing sensitive local configuration data. Most critically, it features hardcoded shell command execution capabilities (including synchronous executions) to resolve project roots. Furthermore, the codebase includes destructive file system operations and direct file system manipulation. While no hardcoded secrets or explicitly dangerous repository permissions were detected, the inherent requirement for this agent to execute local commands and write to the file system makes it a high-risk tool that requires strict sandboxing or explicit user oversight.
Quality Assessment
Overall Quality: High. The project is actively maintained, with its most recent code push occurring today. It enjoys a solid foundation of community trust, evidenced by over 260 GitHub stars. The repository is well-documented and transparent about its capabilities, and it utilizes a permissive, standard open-source license (Apache-2.0).
Verdict
Use with caution — ensure you thoroughly restrict its permissions and review exactly what local shell commands and file operations it attempts to execute.
Multi-agent orchestration platform for Gemini CLI and Claude Code — 22 specialists, parallel subagents, persistent sessions, and built-in code review, debugging, security, SEO, accessibility, and compliance tools
Maestro
Multi-agent development orchestration platform — 22 specialists, 4-phase orchestration, native parallel subagents, persistent sessions, and standalone review/debug/security/perf/seo/a11y/compliance commands. Runs on both Gemini CLI and Claude Code.
Table of Contents
- Overview
- Features
- Getting Started
- Commands
- Configuration
- Architecture
- Agents
- Skills
- Parallel Execution
- Session State & Project Output
- Documentation
- Troubleshooting
- License
Overview
Maestro is a multi-agent orchestration platform for Gemini CLI and Claude Code. Instead of a single AI session handling everything, Maestro delegates work to 22 specialized subagents -- each with its own context, tools, and expertise -- coordinated by a TechLead orchestrator. For simple tasks, Maestro uses an Express workflow that collapses design and planning into a single brief before executing. For medium and complex tasks, Maestro follows a structured 4-phase Standard workflow: Design, Plan, Execute, Complete.
The same orchestration engine, agents, and quality gates run on both platforms. Gemini CLI uses the extension at the repo root; Claude Code uses the plugin in the claude/ subdirectory.
Maestro classifies every task by complexity before choosing a workflow. Simple tasks (single concern, few files) get the Express path. Medium tasks (multi-component, clear boundaries) and complex tasks (cross-cutting, multi-service) enter the Standard path with full design dialogue, implementation planning, and phased execution across 22 agents spanning 8 editorial domains.
Features
- Express Workflow -- Simple tasks skip ceremony: 1-2 clarifying questions, a structured brief, single-agent delegation, code review, and archival. No design document or implementation plan is created.
- Guided Design Dialogue -- Standard workflow includes structured requirements gathering with multiple-choice questions, depth-selectable reasoning (Quick, Standard, Deep), and architectural approach proposals with trade-offs.
- Native Parallel Execution -- Independent phases run concurrently through the active runtime's native subagent scheduler, batching phases at the same dependency depth with non-overlapping file ownership.
- Session Persistence -- All orchestration state is tracked in YAML+Markdown files with machine-readable frontmatter and human-readable logs, enabling reliable resumption after interruptions.
- Hooks-Based Lifecycle Middleware -- Lifecycle hooks for active-agent tracking, session context injection, and handoff validation.
- Least-Privilege Security -- Each subagent receives only the tools required for its role through a 4-tier access model enforced via agent frontmatter declarations.
- Standalone Commands -- Direct access to code review, debugging, security audit, performance analysis, SEO audit, accessibility audit, and compliance check without full orchestration.
- 8-Domain Coverage -- Agents span Engineering, Product, Design, Content, SEO, Compliance, Internationalization, and Analytics domains, selected proportionally to task complexity.
- MCP-First State Management -- Session state operations use MCP tools for structured I/O and atomic transitions, with filesystem fallback when MCP is unavailable.
- Codebase Investigation -- Built-in codebase investigator grounds designs and plans in the actual repository structure, conventions, and integration points before proposing approaches.
Getting Started
Prerequisites
Gemini CLI requires the experimental subagent system. Claude Code users can skip to Installation — subagents are available by default.
Enable subagents in your Gemini CLI settings:
{
"experimental": {
"enableAgents": true
}
}
Warning: Native parallel subagents currently run in autonomous mode. Sequential delegation uses your current Gemini CLI approval mode. Review the subagents documentation for details.
The settings.json file is located at:
- macOS/Linux:
~/.gemini/settings.json - Windows:
%USERPROFILE%\.gemini\settings.json
Maestro does not auto-edit ~/.gemini/settings.json. Enable experimental.enableAgents manually before running orchestration commands.
Installation
Gemini CLI
gemini extensions install https://github.com/josstei/maestro-orchestrate
Or for local development:
git clone https://github.com/josstei/maestro-orchestrate
cd maestro-orchestrate
gemini extensions link .
Verify: gemini extensions list should show maestro.
Claude Code
From Marketplace (recommended):
claude plugin marketplace add josstei/maestro-orchestrate
claude plugin install maestro@maestro-orchestrator --scope user
Development / Testing:
git clone https://github.com/josstei/maestro-orchestrate
claude --plugin-dir /path/to/maestro-orchestrate/claude
Marketplace install is the persistent end-user path. The --plugin-dir flag loads the plugin for a single session and is intended for local development or temporary testing. The Claude Code plugin lives in the claude/ subdirectory (not the repo root).
For installation scopes and plugin management commands, see claude/README.md.
Verify: agents appear with maestro: prefix (e.g., maestro:coder), and /orchestrate, /review, etc. appear in slash-command autocomplete.
Command Names By Runtime
Gemini CLI exposes Maestro as /maestro:* commands. Claude Code exposes the same public entrypoints as top-level slash commands without the maestro: prefix.
| Workflow | Gemini CLI | Claude Code |
|---|---|---|
| Orchestrate | /maestro:orchestrate |
/orchestrate |
| Execute | /maestro:execute |
/execute |
| Resume | /maestro:resume |
/resume |
| Status | /maestro:status |
/status |
| Archive | /maestro:archive |
/archive |
| Review | /maestro:review |
/review |
| Debug | /maestro:debug |
/debug |
| Security Audit | /maestro:security-audit |
/security-audit |
| Performance Check | /maestro:perf-check |
/perf-check |
| SEO Audit | /maestro:seo-audit |
/seo-audit |
| Accessibility Audit | /maestro:a11y-audit |
/a11y-audit |
| Compliance Check | /maestro:compliance-check |
/compliance-check |
Quick Start
Start a full orchestration by describing what you want to build:
Gemini CLI: /maestro:orchestrate Build a REST API for a task management system with user authentication
Claude Code: /orchestrate Build a REST API for a task management system with user authentication
Maestro will walk you through the complete lifecycle:
- Design Dialogue -- Maestro asks structured questions one at a time (problem scope, constraints, technology preferences, quality requirements, deployment context) and presents 2-3 architectural approaches with trade-offs.
- Design Review -- The design document is presented section by section for your approval. Each section is 200-300 words covering requirements, architecture, component specs, team composition, risk assessment, and success criteria.
- Implementation Planning -- Maestro generates a detailed plan with phase breakdown, agent assignments, dependency graph, parallel execution opportunities, and validation criteria. You review and approve before execution begins.
- Execution Mode Selection -- Choose parallel dispatch (independent phases run concurrently as native subagents) or sequential delegation (one phase at a time with intervention opportunities).
- Phase-by-Phase Execution -- Specialized agents implement the plan. Session state is updated after each phase with files changed, validation results, and token usage.
- Quality Gate -- A final code review blocks completion on unresolved Critical or Major findings. The orchestrator remediates and re-validates until resolved.
- Completion & Archival -- Maestro delivers a summary of files changed, token usage by agent, deviations from plan, and recommended next steps. The session is archived automatically.
Express mode example -- For straightforward tasks, Maestro detects low complexity and uses the Express workflow:
Gemini CLI: /maestro:orchestrate Add a health check endpoint to the Express server
Claude Code: /orchestrate Add a health check endpoint to the Express server
Express mode asks 1-2 clarifying questions, presents a structured brief for approval, delegates to a single agent, runs a code review gate, and archives -- all without a full design document or implementation plan.
Commands
| Workflow | Gemini CLI | Claude Code | Purpose |
|---|---|---|---|
| Orchestrate | /maestro:orchestrate |
/orchestrate |
Full orchestration workflow (design, plan, execute, complete) |
| Execute | /maestro:execute |
/execute |
Execute an approved implementation plan, skipping design and planning |
| Status | /maestro:status |
/status |
Display current session status without modifying state |
| Resume | /maestro:resume |
/resume |
Resume an interrupted orchestration session |
| Archive | /maestro:archive |
/archive |
Archive the active session and move artifacts to archive directories |
| Review | /maestro:review |
/review |
Standalone code review with severity-classified findings |
| Debug | /maestro:debug |
/debug |
Standalone debugging session with systematic root cause analysis |
| Security Audit | /maestro:security-audit |
/security-audit |
Standalone security assessment (OWASP, threat modeling, data flow) |
| Performance Check | /maestro:perf-check |
/perf-check |
Standalone performance analysis with optimization recommendations |
| SEO Audit | /maestro:seo-audit |
/seo-audit |
Standalone SEO assessment (meta tags, structured data, crawlability) |
| Accessibility Audit | /maestro:a11y-audit |
/a11y-audit |
Standalone accessibility audit (WCAG compliance, ARIA, keyboard navigation) |
| Compliance Check | /maestro:compliance-check |
/compliance-check |
Standalone regulatory compliance review (GDPR/CCPA, licensing, data handling) |
Orchestration
Orchestrate
Initiates the full Maestro orchestration workflow. Maestro first classifies the task by complexity, then routes to the appropriate workflow.
Usage:
- Gemini CLI:
/maestro:orchestrate <task description> - Claude Code:
/orchestrate <task description>
Behavior:
- Checks for existing active sessions in
<MAESTRO_STATE_DIR>/state/(default:docs/maestro/state/) - If an active session exists, offers to resume or archive it
- Classifies the task as
simple,medium, orcomplex - Routes to the appropriate workflow:
- Simple tasks: Express workflow -- clarifying questions, structured brief, single-agent delegation, code review, archival
- Medium/Complex tasks: Standard 4-phase workflow -- Design Dialogue, Team Assembly & Planning, Execution, Completion
For Standard workflow, Phase 4 includes a final code reviewer quality gate that blocks completion on unresolved Critical or Major findings.
Execute
Executes an existing implementation plan, skipping design and planning phases.
Usage:
- Gemini CLI:
/maestro:execute <path-to-implementation-plan> - Claude Code:
/execute <path-to-implementation-plan>
Behavior:
- Reads the specified implementation plan file
- Creates a session state file for tracking
- Presents an execution summary for user confirmation
- Resolves execution mode (parallel, sequential, or ask) via the execution mode gate
- Executes phases according to the plan with full progress tracking
- Runs a final code reviewer quality gate when execution changed non-documentation files
- Archives the session on completion
Resume
Resumes an interrupted orchestration session.
Usage:
- Gemini CLI:
/maestro:resume - Claude Code:
/resume
Behavior:
- Reads active session state from
<MAESTRO_STATE_DIR>/state/active-session.md - Parses session metadata and phase statuses
- Presents a status summary with completed/pending/failed phases
- If errors exist from the previous run, presents them and asks for guidance
- For Express sessions: re-generates the brief or re-delegates based on phase status
- For Standard sessions: continues execution from the last active phase using the execution and delegation skills
Standalone Tools
Review
Runs a standalone code review on staged changes, last commit, or specified paths.
Usage:
- Gemini CLI:
/maestro:review [file paths or glob patterns] - Claude Code:
/review [file paths or glob patterns]
Behavior:
- Auto-detects review scope: user-specified paths > staged changes > last commit diff
- Confirms detected scope with the user
- Delegates to the code reviewer agent
- Presents findings classified by severity (Critical, Major, Minor, Suggestion)
- Every finding references a specific file and line number
Debug
Focused debugging session to investigate and diagnose an issue.
Usage:
- Gemini CLI:
/maestro:debug <issue description> - Claude Code:
/debug <issue description>
Behavior:
- Delegates to the debugger agent with the issue description
- Follows systematic methodology: reproduce, hypothesize, investigate, isolate, verify
- Presents root cause analysis with evidence, execution trace, and recommended fix
Security Audit
Runs a security assessment on the specified scope.
Usage:
- Gemini CLI:
/maestro:security-audit <scope> - Claude Code:
/security-audit <scope>
Behavior:
- Delegates to the security engineer agent
- Reviews for OWASP Top 10 vulnerabilities, traces data flow, audits authentication/authorization
- Presents findings with CVSS-aligned severity, proof of concept, and remediation steps
Performance Check
Runs a performance analysis on the specified scope.
Usage:
- Gemini CLI:
/maestro:perf-check <scope> - Claude Code:
/perf-check <scope>
Behavior:
- Delegates to the performance engineer agent
- Establishes baseline, profiles hotspots, analyzes bottlenecks
- Presents optimization recommendations ranked by impact-to-effort ratio
SEO Audit
Runs a technical SEO assessment on web-facing deliverables.
Usage:
- Gemini CLI:
/maestro:seo-audit <scope> - Claude Code:
/seo-audit <scope>
Behavior:
- Delegates to the SEO specialist agent
- Reviews meta tags, structured data, crawlability, page speed factors, and canonical URLs
- Presents findings with priority ranking and implementation guidance
Accessibility Audit
Runs a WCAG accessibility audit on user-facing components.
Usage:
- Gemini CLI:
/maestro:a11y-audit <scope> - Claude Code:
/a11y-audit <scope>
Behavior:
- Delegates to the accessibility specialist agent
- Reviews WCAG 2.1 compliance, ARIA usage, keyboard navigation, color contrast, and screen reader compatibility
- Presents findings with conformance level, impact assessment, and remediation steps
Compliance Check
Runs a regulatory compliance review on the specified scope.
Usage:
- Gemini CLI:
/maestro:compliance-check <scope> - Claude Code:
/compliance-check <scope>
Behavior:
- Delegates to the compliance reviewer agent
- Reviews GDPR/CCPA data handling, license compatibility, cookie consent, and privacy policy coverage
- Presents findings with regulatory references and remediation recommendations
Session Management
Status
Displays the current orchestration session status.
Usage:
- Gemini CLI:
/maestro:status - Claude Code:
/status
Behavior:
- Reads the active session state via file injection
- Presents phase-by-phase status, file manifest, token usage, and errors
- Read-only -- does not modify state or continue execution
Archive
Archives the current active orchestration session.
Usage:
- Gemini CLI:
/maestro:archive - Claude Code:
/archive
Behavior:
- Checks for an active session
- Presents a summary and asks for confirmation
- For Standard sessions: moves design document, implementation plan, and session state to archive directories
- For Express sessions: moves session state to archive (no design document or implementation plan to archive)
- Verifies archival was successful
Configuration
Environment Variables
Maestro works out of the box with sensible defaults. To customize behavior, set any of these environment variables in your shell profile or project .env file:
| Variable | Default | Description |
|---|---|---|
MAESTRO_DISABLED_AGENTS |
(none) | Comma-separated list of agent names to exclude from implementation planning |
MAESTRO_MAX_RETRIES |
2 |
Maximum retry attempts per phase before escalating to the user |
MAESTRO_AUTO_ARCHIVE |
true |
Automatically archive session state on successful completion |
MAESTRO_VALIDATION_STRICTNESS |
normal |
Post-phase validation strictness level (strict, normal, or lenient) |
MAESTRO_STATE_DIR |
docs/maestro |
Base directory for session state and plans |
MAESTRO_MAX_CONCURRENT |
0 |
Maximum subagents emitted in one native parallel batch turn (0 = dispatch the entire ready batch) |
MAESTRO_EXECUTION_MODE |
ask |
Phase 3 execution mode: parallel (native concurrent subagents), sequential (one at a time), or ask (prompt each time) |
All settings are optional. The orchestrator uses the defaults shown above when a variable is not set.
Setting resolution precedence: exported env var > workspace .env > extension .env > default.
Gemini CLI only: you can configure extension-scoped settings interactively with gemini extensions config maestro.
Hooks
Maestro uses lifecycle hooks for active-agent tracking, session context injection, and handoff validation. Hook events differ between runtimes:
Gemini CLI (hooks/hooks.json):
| Hook | Purpose |
|---|---|
| SessionStart | Prune stale sessions, initialize hook state when active session exists |
| BeforeAgent | Prune stale sessions, track active agent identity, inject compact session context |
| AfterAgent | Enforce handoff report format (Task Report + Downstream Context), clear agent tracking |
| SessionEnd | Clean up hook state for ended session |
Claude Code (claude/hooks/claude-hooks.json):
| Hook | Purpose |
|---|---|
| SessionStart | Prune stale sessions, initialize hook state |
| PreToolUse (Agent) | Track active agent identity, inject session context |
| PreToolUse (Bash) | Policy enforcement — block destructive shell commands |
| SessionEnd | Clean up hook state for ended session |
Both runtimes share the same business logic in lib/hooks/ — only the I/O adapters differ.
Architecture
Orchestration Flow
flowchart TD
Start([User invokes orchestrate]) --> P1[Phase 1: Design Dialogue]
P1 --> Questions[Structured questions\none at a time]
Questions --> Approaches[Present 2-3 architectural\napproaches with trade-offs]
Approaches --> SectionReview[Section-by-section\ndesign review]
SectionReview --> DesignApproved{Design\napproved?}
DesignApproved -->|No| SectionReview
DesignApproved -->|Yes| P2[Phase 2: Planning]
P2 --> Decompose[Decompose into phases\nassign agents]
Decompose --> Dependencies[Map dependencies\nidentify parallel opportunities]
Dependencies --> PlanApproved{Plan\napproved?}
PlanApproved -->|No| Decompose
PlanApproved -->|Yes| P3[Phase 3: Execution]
P3 --> ModeSelect{Execution mode}
ModeSelect -->|parallel| Parallel[Native parallel subagents\nconcurrent batch]
ModeSelect -->|sequential| Sequential[One agent at a time\nwith intervention]
Parallel --> Validate[Validate phase results\nbuild / lint / test]
Sequential --> Validate
Validate --> PhaseError{Error?}
PhaseError -->|Retry| Parallel
PhaseError -->|Max retries| Escalate[Escalate to user]
Escalate --> Resume([Resume])
Resume --> Parallel
PhaseError -->|Pass| MorePhases{More\nphases?}
MorePhases -->|Yes| Parallel
MorePhases -->|No| P4[Phase 4: Completion]
P4 --> QualityGate[Code review quality gate\nblocks on Critical/Major]
QualityGate --> Archive[Archive session\nstate + plans]
Archive --> Summary[Deliver summary\nfiles, tokens, next steps]
Summary --> Done([Done])
Component Model
Maestro is built from seven primary layers plus shared resources (MCP server, templates, references). See ARCHITECTURE.md for the full nine-layer technical model. The Gemini CLI layout is at repo root; Claude Code mirrors it in claude/ with platform-specific adaptations.
| Layer | Gemini Directory | Claude Directory | Purpose |
|---|---|---|---|
| Orchestrator | GEMINI.md |
claude/skills/orchestrate/SKILL.md |
TechLead persona, workflow routing, phase transitions, delegation rules |
| Commands | commands/maestro/*.toml |
claude/skills/*/SKILL.md |
Gemini uses TOML slash-command files; Claude exposes public skills as slash commands |
| Agents | agents/*.md |
claude/agents/*.md |
22 subagent persona definitions with tool permissions and model config |
| Skills | skills/*/SKILL.md |
claude/skills/*/SKILL.md |
Reusable methodology modules with embedded protocols |
| Scripts | scripts/*.js |
claude/scripts/*.js |
Execution infrastructure (workspace setup, state management, hook adapters) |
| Hooks | hooks/hooks.json |
claude/hooks/claude-hooks.json |
Lifecycle middleware for agent tracking and session context injection |
| Policies | policies/maestro.toml |
claude/scripts/policy-enforcer.js |
Safety rails for deny/ask tool access rules |
Shared resources (lib/, mcp/, templates/, references/) are at repo root and copied into claude/.
Workflow Phases
Complexity Classification
Before entering any workflow, Maestro classifies the task as simple, medium, or complex using heuristics based on scope, example patterns, and codebase size. The classification controls workflow selection and, for Standard workflow, design depth, question coverage, section count, phase limits, and domain analysis scope.
| Signal | Simple | Medium | Complex |
|---|---|---|---|
| Scope | Single concern, few files | Multi-component, clear boundaries | Cross-cutting, multi-service |
| Examples | Static sites, config changes, single-file scripts | API endpoints, feature additions, CRUD apps | New subsystems, multi-service architectures |
The classification is presented to the user with rationale before proceeding. The user can override.
Express Workflow (Simple Tasks)
Express mode replaces the 4-phase Standard ceremony with a streamlined inline flow:
- Clarifying questions (1-2 turns): Covers problem scope and boundaries only
- Structured brief (single approval): Consolidated design+plan showing problem, approach, file manifest, agent assignment, and validation command
- Session creation: Creates session with
workflow_mode: "express"and a single phase - Delegation: Single-agent implementation with protocol injection
- Code review gate: Reviews changes, blocks on Critical/Major findings (1 retry)
- Archival: Archives session state (no design document or plan to archive)
Standard Workflow Phase 1: Design Dialogue
The TechLead engages you in a structured conversation to understand requirements:
- Presents a depth selector (Quick, Standard, Deep) to control reasoning rigour
- Uses the built-in codebase investigator to ground designs in existing repository structure when targeting an existing codebase
- Asks one question at a time, preferring multiple-choice format
- Covers problem scope, constraints, technology preferences, quality requirements, and deployment context (proportional to task complexity)
- Presents 2-3 architectural approaches with pros, cons, and recommendations
- Builds the design document section by section, validating each with you
Standard Workflow Phase 2: Team Assembly & Planning
After design approval, the TechLead:
- Assesses the task across all 8 capability domains (Engineering, Product, Design, Content, SEO, Compliance, Internationalization, Analytics) proportional to task complexity
- Analyzes the design for components, interfaces, and dependencies
- Assigns phases to specialized agents based on task domain
- Identifies parallel execution opportunities and dependency depths
- Generates a detailed implementation plan with validation criteria for your approval
Standard Workflow Phase 3: Execution
With plan approval, the TechLead:
- Resolves execution mode via the mandatory execution mode gate (parallel, sequential, or user choice)
- For parallel: dispatches independent phases as native subagent batches with non-overlapping file ownership
- For sequential: delegates one phase at a time in dependency order
- Updates session state after each phase or batch completion
- Runs post-phase validation (build, lint, tests) based on
MAESTRO_VALIDATION_STRICTNESS - Handles errors with up to
MAESTRO_MAX_RETRIESautomatic retries before escalating
Standard Workflow Phase 4: Completion
After all phases complete:
- Final code reviewer quality gate -- blocks completion on unresolved Critical/Major findings; remediates, re-validates, and re-reviews until resolved
- Session state marked as completed
- Plans and state files archived to
archive/subdirectories (respectingMAESTRO_AUTO_ARCHIVE) - Summary delivered with files changed, token usage, and next steps
Agents
Agent Roster
Maestro coordinates 22 specialized subagents across 8 editorial domains:
All agents share a baseline read/search/question capability set. The tool tiers below summarize effective access levels across runtimes rather than listing literal tool IDs.
| Agent | Domain | Specialization | Tool Tier |
|---|---|---|---|
| Architect | Engineering | System design, technology selection, component design | Read-Only |
| API Designer | Engineering | REST/GraphQL endpoint design, API contracts | Read-Only |
| Coder | Engineering | Feature implementation, clean code, SOLID principles | Full Access |
| Code Reviewer | Engineering | Code quality review, bug detection, security checks | Read-Only |
| Data Engineer | Engineering | Schema design, query optimization, ETL pipelines | Full Access |
| Debugger | Engineering | Root cause analysis, execution tracing, log analysis | Read + Shell |
| DevOps Engineer | Engineering | CI/CD pipelines, containerization, infrastructure | Full Access |
| Performance Engineer | Engineering | Profiling, bottleneck identification, optimization | Read + Shell |
| Refactor | Engineering | Code modernization, technical debt, design patterns | Full Access |
| Security Engineer | Engineering | Vulnerability assessment, OWASP, threat modeling | Read + Shell |
| Tester | Engineering | Unit/integration/E2E tests, TDD, coverage analysis | Full Access |
| Technical Writer | Engineering | API docs, READMEs, architecture documentation | Read + Write |
| Product Manager | Product | Requirements gathering, PRDs, feature prioritization | Read + Write |
| UX Designer | Design | User flow design, interaction patterns, usability evaluation | Read + Write |
| Design System Engineer | Design | Design tokens, component APIs, theming architecture | Full Access |
| Content Strategist | Content | Content planning, editorial calendars, audience targeting | Read-Only |
| Copywriter | Content | Persuasive copy, landing pages, CTAs, brand voice | Read + Write |
| SEO Specialist | SEO | Technical SEO audits, schema markup, crawlability | Read + Shell |
| Accessibility Specialist | Compliance | WCAG compliance, ARIA review, keyboard navigation | Read + Shell |
| Compliance Reviewer | Compliance | GDPR/CCPA auditing, license checks, data handling | Read-Only |
| I18n Specialist | Internationalization | String extraction, locale management, RTL support | Full Access |
| Analytics Engineer | Analytics | Event tracking, conversion funnels, A/B test design | Full Access |
Tool Access Philosophy
Agents follow a 4-tier least-privilege model. All agents can ask clarifying questions when the active runtime allows interactive delegation; native parallel batches remain autonomous.
flowchart LR
subgraph ReadOnly[Read-Only]
A1[Architect]
A2[API Designer]
A3[Code Reviewer]
A4[Content Strategist]
A5[Compliance Reviewer]
end
subgraph ReadShell[Read + Shell]
B1[Debugger]
B2[Performance Engineer]
B3[Security Engineer]
B4[SEO Specialist]
B5[Accessibility Specialist]
end
subgraph ReadWrite[Read + Write]
C1[Technical Writer]
C2[Product Manager]
C3[UX Designer]
C4[Copywriter]
end
subgraph Full[Full Access]
D1[Coder]
D2[Data Engineer]
D3[DevOps Engineer]
D4[Tester]
D5[Refactor]
D6[Design System Engineer]
D7[I18n Specialist]
D8[Analytics Engineer]
end
ReadOnly -.->|Analysis only| Output1[Recommendations]
ReadShell -.->|Investigation| Output2[Diagnostics]
ReadWrite -.->|Modification| Output3[Content & Design]
Full -.->|Implementation| Output4[Complete Features]
- Read-Only (Architect, API Designer, Code Reviewer, Content Strategist, Compliance Reviewer): Produce analysis, recommendations, and strategic direction. Cannot modify files or run commands.
- Read + Shell (Debugger, Performance Engineer, Security Engineer, SEO Specialist, Accessibility Specialist): Investigate and audit. Can run commands but not modify files directly.
- Read + Write (Technical Writer, Product Manager, UX Designer, Copywriter): Create and modify content and design artifacts. No shell access.
- Full Access (Coder, Data Engineer, DevOps Engineer, Tester, Refactor, Design System Engineer, I18n Specialist, Analytics Engineer): Complete implementation capabilities including read, write, shell, and task tracking.
Skills
Maestro uses skills to encapsulate detailed methodologies that are loaded on demand, keeping the base context lean. During orchestration on Gemini CLI, methodology skills are loaded via activate_skill (masking-exempt, expands workspace access), while templates, references, and protocols are loaded via the get_skill_content MCP tool. On Claude Code, all resources are loaded via the native Read tool. Express workflow loads only delegation protocols (agent-base-protocol, filesystem-safety-protocol) and the code-review skill — it does not use the full methodology skills.
The orchestrate command's step sequence lives in references/orchestration-steps.md — a shared reference file loaded by both runtimes as the sole procedural authority.
In the table below, command names are shown in runtime-neutral form. Gemini CLI prefixes them with /maestro:; Claude Code uses the same names without that prefix.
| Skill | Purpose | Used By |
|---|---|---|
design-dialogue |
Structured requirements gathering, depth-selectable reasoning, and architectural design convergence | orchestrate (Phase 1, Standard only) |
implementation-planning |
Phase decomposition, 8-domain agent assignment, dependency mapping, and plan generation | orchestrate (Phase 2, Standard only) |
execution |
Execution mode gate, phase execution protocols, error handling, retry logic, and completion workflows | orchestrate (Phase 3), execute, resume |
delegation |
Subagent prompt construction with protocol injection, scope boundaries, context chain construction, and downstream consumer declaration | Any phase involving subagent delegation |
session-management |
Session creation, state updates, resume protocol, and archival | orchestrate, resume, archive |
code-review |
Scope detection, severity classification (Critical/Major/Minor/Suggestion), and structured review output | review, Phase 4 quality gate |
validation |
Build/lint/test pipeline, project type detection, strictness gating, and result interpretation | Post-phase validation during execution |
Parallel Execution
Maestro uses the active runtime's native subagent scheduler for parallel execution, enabling independent implementation phases to run concurrently instead of sequentially.
How It Works
The TechLead orchestrator identifies phases at the same dependency depth with non-overlapping file ownership and dispatches them as a native parallel batch. The native scheduler only parallelizes contiguous agent tool calls, so batch turns contain agent calls exclusively -- no interleaved shell commands, file writes, or narration.
Dispatch flow:
- The orchestrator identifies the ready batch from the approved implementation plan
- Slices the batch using
MAESTRO_MAX_CONCURRENT(0means dispatch the entire ready batch in one turn) - Marks the current chunk
in_progressin session state and setscurrent_batch - Emits contiguous subagent tool calls for the chunk (agent calls only, no mixed operations)
- Each delegation prompt includes required headers (
Agent:,Phase:,Batch:,Session:) and injected protocols - Subagent results are parsed from
## Task Reportand## Downstream Contextsections in the wrapped response - Results are persisted into session state; the orchestrator advances to the next batch or clears
current_batchwhen the ready batch finishes
When to Use Each Mode
| Use Native Parallel | Use Sequential Delegation |
|---|---|
| Phases at the same dependency depth | Phases with shared file dependencies |
| Non-overlapping file ownership | Phases that may need interactive clarification |
| Fully self-contained delegation prompts | Single-phase execution |
| Well-defined tasks with clear boundaries | Fallback when parallel execution stalls |
The execution mode gate analyzes the implementation plan and recommends a mode based on the ratio of parallelizable phases to total phases. When MAESTRO_EXECUTION_MODE is set to ask (default), the user is prompted with this recommendation. Setting it to parallel or sequential bypasses the prompt.
Constraints
- Native parallel subagents currently run in autonomous mode (YOLO) -- all tool calls are auto-approved
- Avoid overlapping file ownership across agents in the same batch
- Each delegation prompt must be complete and self-contained -- agents cannot access results from other agents in the same batch
- If execution is interrupted, unfinished
in_progressphases are restarted on resume rather than attempting to restore in-flight subagent dialogs - Express workflow bypasses the execution mode gate entirely and always dispatches sequentially
Session State & Project Output
Maestro creates the following directories in your project:
<your-project>/
└── docs/maestro/
├── plans/ # Active design docs and implementation plans
│ ├── archive/ # Completed plans
│ ├── YYYY-MM-DD-<topic>-design.md
│ └── YYYY-MM-DD-<topic>-impl-plan.md
└── state/ # Session tracking
├── archive/ # Completed sessions
└── active-session.md # Current orchestration state
Maestro tracks orchestration progress in <MAESTRO_STATE_DIR>/state/active-session.md (default: docs/maestro/state/active-session.md) with:
- Phase status tracking: pending, in_progress, completed, failed, skipped
- File manifest: Files created, modified, and deleted per phase
- Error tracking: Per-phase error logs with retry counts and resolution records
- Token usage: Per-agent, per-phase token consumption metrics
- Workflow mode:
expressorstandard, set at session creation - Execution mode:
parallelorsequential, recorded after mode gate resolution (Standard only) - Current batch: Active parallel batch identifier during native parallel execution
All state files use YAML frontmatter for machine-readable metadata and Markdown body for human-readable logs.
Express sessions have workflow_mode: "express" with design_document: null and implementation_plan: null in session state. Standard sessions include paths to both documents.
Documentation
- Usage Guide -- Comprehensive guide to installing, configuring, and using Maestro
- System Overview -- High-level explanation of how Maestro works, its agent system, and execution model
- Architecture — Runtime internals: hooks, MCP server, file formats, policies, and extension/plugin manifest
- Claude Code Plugin — Claude Code-specific setup, commands, agent naming, and MCP tool mapping
Troubleshooting
Runtime Not Loading
- Gemini CLI: verify the extension is linked with
gemini extensions list - Claude Code: start a fresh session with
claude --plugin-dir /path/to/maestro-orchestrate/claude - Check that the runtime manifest exists:
gemini-extension.jsonfor Gemini CLI,claude/.claude-plugin/plugin.jsonfor Claude Code
Subagents Not Enabled (Gemini CLI Only)
- Verify
experimental.enableAgentsistruein~/.gemini/settings.json - If the file does not exist, create it with the
experimentalsection - Restart Gemini CLI after updating settings
Maestro does not auto-edit ~/.gemini/settings.json; enable experimental.enableAgents manually.
Session State Corrupted
- Check the YAML frontmatter in
<MAESTRO_STATE_DIR>/state/active-session.mdfor syntax errors (unmatched quotes, invalid indentation) - Manual Fix: Edit the file to fix YAML syntax
- Archive and Restart: use Gemini CLI
/maestro:archiveor Claude Code/archive, then start fresh with Gemini CLI/maestro:orchestrateor Claude Code/orchestrate - Delete State: Remove
active-session.mdand start fresh (loses progress)
Parallel Execution Issues
Agents stalling or not batching correctly:
- Check session state to verify the current batch actually started
- Look for overlapping file ownership or dependency mistakes in the implementation plan
- Check whether an agent asked a follow-up question that paused the batch
Reducing batch problems:
- Reduce batch size:
export MAESTRO_MAX_CONCURRENT=1 - Fall back to sequential mode:
export MAESTRO_EXECUTION_MODE=sequential - Resume after tightening the plan: Gemini CLI
/maestro:resumeor Claude Code/resume
Validation Failures
- Check session state for validation error logs
- Common causes: lint errors, test failures, build errors
- Manually fix the issue, then rerun resume: Gemini CLI
/maestro:resumeor Claude Code/resume - Adjust strictness if needed:
export MAESTRO_VALIDATION_STRICTNESS=lenient
File Conflicts
- Multiple agents tried to modify the same file during parallel execution
- Maestro will stop and report conflict details
- Manually resolve conflicts
- Resume with sequential mode:
export MAESTRO_EXECUTION_MODE=sequential, then use Gemini CLI/maestro:resumeor Claude Code/resume
Cannot Find Active Session
- Check if
active-session.mdexists under your configured state directory (docs/maestro/state/by default) - If the file is in archive, start fresh with Gemini CLI
/maestro:orchestrateor Claude Code/orchestrate - Check
MAESTRO_STATE_DIRif you have customized it:echo $MAESTRO_STATE_DIR
Getting Help
If you encounter issues not covered here:
- Review session state logs in
<MAESTRO_STATE_DIR>/state/active-session.md - Check Maestro version in the runtime you are using:
gemini extensions listfor Gemini CLI, or inspect the loaded plugin metadata for Claude Code - Review runtime logs for the environment where the issue occurs
- Report issues on GitHub: https://github.com/josstei/maestro-orchestrate/issues
Include: Maestro version, runtime (Gemini CLI or Claude Code) and version, session state file (redact sensitive data), error messages, and steps to reproduce.
License
Apache-2.0
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found