From maestro
Implements base procedures for Maestro mission agents: startup (read mission/feature context, init env, baseline validation), cleanup, and handoff. Required for all feature agents.
npx claudepluginhub reinamaccredy/maestro --plugin maestroThis skill uses the workspace's default tool permissions.
You are an agent in a multi-agent mission. This skill defines the procedures that ALL agents must follow. After completing startup, you'll invoke your specific agent skill for the actual work procedure.
Enters conductor mode to plan, decompose, dispatch, and monitor sub-agents for code implementation without writing it yourself. Use for mission execution or ad-hoc decomposition on delegation requests.
Bootstraps agentic dev environment from agent.toml: validates required env vars/commands/runtimes, configures Claude Code plugins/MCP servers. Use for new repos, misconfigs, or new machines.
Share bugs, ideas, or general feedback.
You are an agent in a multi-agent mission. This skill defines the procedures that ALL agents must follow. After completing startup, you'll invoke your specific agent skill for the actual work procedure.
Your feature has been pre-assigned by the system and is shown in your bootstrap message. The feature includes:
id - Feature identifierdescription - What to buildagentType - The skill you must invoke for the work procedureexpectedBehavior - What success looks likeverificationSteps - How to verify your workfulfills - Validation contract assertion IDs (if present)Your feature's fulfills field lists validation contract assertions that must be true after your work. Read these assertions carefully before starting — they define what "done" means for your feature. Before completing, ensure that each assertion would pass. If you realize an assertion cannot be fulfilled given your current scope, flag it in your handoff.
.maestro/bootstrap/ is the project bootstrap layerDo not remove or corrupt .maestro/bootstrap/ while a project relies on Maestro bootstrap assets. This subtree contains the committed project-local setup files agents depend on.
The .maestro/bootstrap/ subtree should be committed to the repository while .maestro/missions/, .maestro/sessions/, and other runtime state remain ignored.
You MAY read and update these files:
.maestro/bootstrap/services.yaml - Add new services/commands if discovered during work.maestro/bootstrap/library/ - Add knowledge for future agentsPERFORMANCE TIP: Parallelize your startup by reading all context files in a single tool call batch:
mission.md - The accepted mission proposal.maestro/AGENTS.md - Guidance from orchestrator/bootstrap (includes Mission Boundaries)validation-contract.md - If your feature has fulfills, read those assertions.maestro/bootstrap/services.yaml - Commands and services (single source of truth)features.json - Feature list and status.maestro/bootstrap/init.sh if it exists (one-time setup, idempotent)Run commands.test from .maestro/bootstrap/services.yaml. This verifies the mission is in a healthy state before you start.
CRITICAL: Do NOT pipe validator output through | tail, | head, or similar. Pipes can mask failing exit codes.
If baseline fails:
EndFeatureRun with returnToOrchestrator: true and explain the broken baselineView all features in your feature's milestone:
jq --arg m "YOUR_MILESTONE" '.features | map(select(.milestone == $m)) | map({id, description, status})' features.json
Refer to .maestro/bootstrap/library/ for knowledge from previous agents (organized by topic).
Start any services you'll need from .maestro/bootstrap/services.yaml:
depends_on and start dependencies firststart commandhealthcheck to passAfter completing startup, invoke the skill specified in your feature's agentType field.
If the skill does not exist (Skill tool returns error), do NOT proceed. Return to orchestrator via EndFeatureRun with returnToOrchestrator: true.
That skill will guide you through the actual work procedure.
All validators from .maestro/bootstrap/services.yaml must pass before handoff.
Scope note: your responsibility here is the per-feature baseline only. Milestone-level validation (code scrutiny and user-flow testing) is run separately by the conductor via maestro:scrutiny-validator and maestro:user-testing-validator after all features in the milestone are complete. Do not attempt to run those skills yourself.
stop commandsIf you discovered reusable services/commands, ADD them to .maestro/bootstrap/services.yaml.
When completing work, your handoff via EndFeatureRun must include:
{
successState: "success" | "partial" | "failure",
returnToOrchestrator: boolean,
commitId: string, // required if success
validatorsPassed: boolean, // required true if success
handoff: {
salientSummary: string, // 1-4 sentences, under 500 chars
whatWasImplemented: string, // min 50 chars
whatWasLeftUndone: string, // empty if complete
verification: {
commandsRun: Array<{
command: string,
exitCode: number,
observation: string // be specific!
}>,
interactiveChecks?: Array<{
action: string,
observed: string
}>
},
tests: {
added: Array<{
file: string,
cases: Array<{
name: string,
verifies: string
}>
}>,
coverage: string
},
discoveredIssues: Array<{
severity: "blocking" | "non_blocking" | "suggestion",
description: string,
suggestedFix?: string
}>,
skillFeedback?: {
followedProcedure: boolean,
deviations: Array<{
step: string,
whatIDidInstead: string,
why: string
}>
}
}
}
Set returnToOrchestrator: true when:
.maestro/bootstrap/services.yaml is the single source of truth for all commands.
Using the manifest:
start, stop, healthcheck commands exactly as declaredcommands.test)Starting services:
depends_on and start dependencies firststart command from the manifesthealthcheck to passCRITICAL: Never Kill User Processes
FORBIDDEN:
pkill node, killall, kill by process name.maestro/bootstrap/services.yamlALLOWED:
stop commandnon_blocking with "Pre-existing:" prefix