Agent skill

Maestro Graph

by ReinaMacCredy in ReinaMacCredy/maestro

Drive a pre-known multi-agent path as a maestro graph - run it by name or from a file you just wrote, pull each agent node with graph next, spawn it as a sub-agent under its maestro-<profile…

MITAuto-check passedMobile

Install Maestro Graph

skills CLI
$ npx skills add ReinaMacCredy/maestro --skill maestro-graph -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ReinaMacCredy/maestro maestro-graph --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ReinaMacCredy/maestro.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/plugins/skills/maestro-graph .claude/skills/maestro-graph && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
maestro-graph
GitHub stars
233
Token cost
~2.1k tokens
SKILL.md length
955 words
Files
2 (incl. references)
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

Drive a pre-known multi-agent path as a maestro graph - run it by name or from a file you just wrote, pull each agent node with graph next, spawn it as a sub-agent under its maestro-<profile…

  • Tasks that involve Mobile testing and debugging
  • SKILL.md covers Pick or write the graph, The pull loop (executor…, Spawning an agent node and Executor team, plus 1 more section
  • Calls python3, claude and codex
  • Tasks that involve Subagents

What it does

Maestro Graph is an agent skill from ReinaMacCredy/maestro. Drive a pre-known multi-agent path as a maestro graph - run it by name or from a file you just wrote, pull each agent node with graph next, spawn it as a sub-agent under its maestro-<profile definition, hand the result back with graph result, repeat until the verdict. A sub-agent node is read-only scouting; a node that writes files or is accepted is opened as a pane instead. Author a new graph from the reference when no preset fits.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/authoring.md`).

It sits in Mobile, covering Mobile testing and debugging and Subagents. The repository describes itself as: Local-first coordination for human and agent work: durable work, decisions, dispatches, evidence, and prompt-first methods, powered by TypeScript and Bun. The licence is MIT.

When your agent uses it

  • Tasks that involve Mobile testing and debugging
  • Tasks that involve Subagents

Example prompts

  • “/maestro-graph”

Requirements

  • Python 3

What it can do on your machine

Read from SKILL.md and the folder at commit 2412403. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python3
    • claude
    • codex

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Maestro Graph loads about 2.1k tokens when it runs, and up to ~4k if it reads all its reference files. Until then it costs about 113 tokens; SKILL.md has 955 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~113
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ReinaMacCredy/maestro at commit 2412403, republished under its MIT licence (© ReinaMacCredy). 955 words, ~2,081 tokens.

Download SKILL.mdSave it as .claude/skills/maestro-graph/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
maestro-graph
description
Drive a pre-known multi-agent path as a maestro graph - run it by name or from a file you just wrote, pull each agent node with graph next, spawn it as a sub-agent under its maestro-<profile> definition, hand the result back with graph result, repeat until the verdict. A sub-agent node is read-only scouting; a node that writes files or is accepted is opened as a pane instead. Author a new graph from the reference when no preset fits.
review-date
2026-11-28
<!-- maestro-skill-version: dev -->

maestro-graph

Use when a task is a pre-known path with several agent steps: a review gate, a research sweep, a judge panel, a fix loop. The path is one markdown graph file; maestro holds the run, executes the deterministic nodes itself and hands you only the agent and human nodes to spawn. maestro never starts a model (Hub d78), so the loop below is yours on every harness. Design, diagnosis and the SLP seat protocol stay outside graphs.

Pick or write the graph

  • maestro graph list shows every graph across the repo (<repo>/.maestro/graphs), the room (~/maestro/graphs) and the shipped set; a nearer file shadows a farther one by name. maestro graph show <name> prints one.
  • A shipped preset fits: run it by name. review-gate takes range=<git range> and tier=light|full; fix-loop takes scope=<what to fix> and check=<command that must pass> and drives a writing fixer for at most three rounds; council takes brief=<neutral brief> and tier=lens|debate|debate-with-proof|high-risk and runs the maestro-council protocol with you (the Lead) answering the draft and verdict nodes.
  • Nothing fits: write a graph for the task from references/authoring.md and run it with --file <path>. Keep a good one by copying the file into a graphs directory (Hub d100; there is no save verb).

The pull loop (executor subagent)

text
maestro graph run <name>|--file <path> [key=value ...] [--limit k=v] --json > run.json
loop:
  envelope = read run.json (or maestro graph next <run> --json > run.json)
  if envelope.done: stop; the verdict, LIMIT stop or failed node is in it
  for each node in envelope.nodes (all at once, they are independent):
    kind human  -> stop and ask the user the prompt; feed the answer back
    kind agent  -> spawn a read-only scouting sub-agent with the node's profile and brief
  for each returned sub-agent:
    maestro graph result <run> <ref> --file <path>|--text "<result>"
  maestro graph next <run> --json
  • A sub-agent node is read-only scouting that returns text and writes nothing; a node whose work writes files, returns or is accepted is opened as a pane with maestro work add --to <peer> and its result handed back with graph result as before.
  • run returns the first envelope, so the first next is implicit.
  • Redirect every --json envelope to a file and read the fields you need out of it (jq, or one python3 -c line); never let it land inline. An envelope carrying several node briefs and their schemas routinely passes a harness output cap, and a truncated envelope costs a second read of the same bytes before the loop can continue.
  • Every node in nodes is ready now; spawn them in parallel. Nodes that depend on one of them appear on a later next, as soon as their own inputs are in: only a join waits for a whole fan-out (Hub d82).
  • ref is the node id, or node@key for one instance of a foreach.
  • A node with a schema must return JSON of that shape. Write the sub-agent's answer to a file and pass --file; maestro extracts the first JSON block from prose or a fence. PARSE_FAILED with retry: true means re-ask that sub-agent for JSON matching the schema carried in the error (two retries); the third failure marks the node failed and the run ends with failed.
  • stopped: "LIMIT" ends the run at a structural limit (nodes, loops, fanout, Hub d84) with partial state; rerun with --limit <k>=<N> when the cap, not the graph, was wrong.
  • GRAPH_UNTRUSTED on a repo graph's function node: review the file the error names, then run the maestro graph trust command it gives and graph next again. Home and shipped graphs never ask.
  • maestro trace <run> is the journal: every node transition and round.
Show full SKILL.md (442 more words)Show less

Spawning an agent node

The profile is a definition maestro install rendered for both harnesses (Hub d83): ~/.claude/agents/maestro-<profile>.md and ~/.codex/agents/maestro-<profile>.toml.

  • Claude Code: the Agent tool with subagent_type: "maestro-<profile>", model: "opus", and the node's brief verbatim as the task. A profile whose harness is codex (challenger, verifier, auditor) opens as a Codex pane with --profile maestro-<profile> instead; the Agent tool rejects its model.
  • Codex: spawn_agent with agent type maestro-<profile> and the node's brief verbatim.

Send the brief, never the bare prompt: the brief is the prompt plus, when a schema is declared, one sentence naming the required keys and any optional keys, then the schema as a JSON block (Hub d843), so the agent answers in the declared shape instead of its harness habit. It already carries the run state the graph author placed in it. Add only what the harness needs to return the answer (for example, "write your JSON answer to <path>"). Never merge two nodes into one spawn and never run a function node's command yourself; maestro already did.

Executor team

graph run reports executor in every envelope (Hub d88): subagent from a plain session, claude -p, codex exec or a desktop app; team when the driver is a role pane of a running SLP team. Under team the Lead is the driver and each agent node is one Peer work item (Hub d89); the Lead is never a node and maestro still spawns nothing.

text
Team Supervisor: maestro work add "run graph <name> <key=value ...>" \
                   --acceptance "the run's verdict"
Lead:            maestro work take <item>
                 maestro graph run <name> [key=value ...] --json
loop:
  envelope = the JSON just returned (or maestro graph next <run> --json)
  if envelope.done: maestro work return <item> "<verdict JSON>"; stop
  for each node in envelope.nodes without a work field:
    kind human -> answer it yourself: maestro graph result <run> <ref> --text "<answer>"
    kind agent -> maestro work add "<node.brief>" --to peer-<node.profile> \
                    --acceptance "one JSON object matching the schema in the brief" --json
                  maestro graph result <run> <ref> --work <new item id>
  for each node with a retry field (its item's body failed the schema):
    open a fresh item with node.brief and rebind exactly as above; two
    retries, the third failure fails the node
  for each node with a work field whose workState is RETURNED:
    read it (maestro status <item>), then maestro work accept <item>
    (or maestro work note <item> "<gap>" --rework for one retake)
  maestro graph next <run> --json
Team Supervisor: maestro work accept <item>
  • One pane per profile: --to peer-<profile> opens the Peer lazily on the first item and sends later nodes of that profile to the same pane; each work add wakes the pane with [from lead][<id> OPEN], so no hand prompt.
  • A bound node stays in nodes with work and workState until its item is DONE; next then parses the item's returned body like any result (schema and all) and issues what depended on it. A body that fails the schema unbinds the node and lists it with retry: {error, schema, work}, twice at most (d843); a cancelled item fails the node.
  • Bound nodes count toward limits.fanout; keep the fan-out under the number of Peers you are willing to open.
  • Prompts to a Peer must open with a lowercase plain sentence; a brief that opens "You are ..." is swallowed as a slash command. The node prompts in the shipped presets already do.
  • The graph runtime writes no SLP state: every work add, accept and return above is yours (A7).

Hand-off

The verdict is the run's evidence on its work item (maestro work show <run>); quote it in the return that asked for the gate. A graph that misbehaved is a finding for the handback, not a card.

© ReinaMacCredy, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in src/plugins/skills/maestro-graph of ReinaMacCredy/maestro.

  • SKILL.md
  • references/authoring.md

Open the folder on GitHubat commit 2412403

Compare with similar skills

Maestro Graph next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Maestro Graph compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Maestro Graph this skillReinaMacCredy/maestro233—~2.1kAutomated safety check: PassMIT
Phone HarnessShawnPana/phone-harness3.2k—~7.7kAutomated safety check: PassMIT
Maa Issue Log AnalysisMaaAssistantArknights/MaaAssistantArknights24k—~4kAutomated safety check: PassAGPL-3.0
Mobile QAtloncorp/tlon-apps107—~2.4kAutomated safety check: PassMIT
Store Listing Screenshotstherxmv/Telegram-Themer119—~2.5kAutomated safety check: PassNone
Androidyang1ming/android-harness176—~259Automated safety check: PassMIT

Similar skills

  • Phone Harness

    ShawnPana/phone-harness

    Control the user's phone - an iPhone through the Mac's iPhone Mirroring window, an Android over adb, a rented cloud Android, or a cloud iPhone over HTTPS: open apps, tap, type, swipe, read the screen.

    3.2k GitHub stars~7.7k tokensUpdated today
    MobileAuto-check passed
  • Maa Issue Log Analysis

    MaaAssistantArknights/MaaAssistantArknights

    分析 MaaAssistantArknights 上游仓库公开 Issue(https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/...

    24k GitHub stars~4k tokensUpdated today
    MobileAuto-check passed
  • Mobile QA

    tloncorp/tlon-apps

    Run a mobile QA checklist on a physical Android device over adb for tlon-apps, then triage what fails into fixes.

    107 GitHub stars~2.4k tokensUpdated today
    MobileAuto-check passed
  • Store Listing Screenshots

    therxmv/Telegram-Themer

    Generate TelegramThemer's Play Store listing images — capture the 8 required app screenshots on a running emulator/device by driving the real UI with adb, then composite them into the final…

    119 GitHub stars~2.5k tokensUpdated 29 days ago
    MobileAuto-check passed
  • Android

    yang1ming/android-harness

    Direct Android device control through ADB. An agent skill from yang1ming/android-harness.

    176 GitHub stars~259 tokensUpdated 2 mo ago
    MobileAuto-check passed
  • Dongle Crash Analysis

    haumacher/phoneblock

    Decode and analyze an ESP32 dongle crash report (uploaded .coredump).

    367 GitHub stars~1.9k tokensUpdated 7 days ago
    MobileAuto-check: notes

More from ReinaMacCredy/maestro

All 11 skills in this repo
  • Maestro Improve

    ReinaMacCredy/maestro

    Turn filed lessons into the smallest doctrine edit. An agent skill from ReinaMacCredy/maestro.

    233 GitHub stars~1.9k tokensUpdated 13 days ago
    Auto-check passed
  • Maestro Council

    ReinaMacCredy/maestro

    Lead-only council for a hard-to-reverse fork - a neutral brief, sealed independent seats, one premise verifier on unanimity, bounded verifiers, one cross-examination round, a draft-verdict audit…

    233 GitHub stars~2.9k tokensUpdated 13 days ago
    Auto-check passed
  • Maestro Design

    ReinaMacCredy/maestro

    Resolve material unknowns blocking the next authorized slice, using research, grilling, prototypes, models, or wayfinding.

    233 GitHub stars~2.1k tokensUpdated 13 days ago
    Auto-check passed
  • Maestro Verify

    ReinaMacCredy/maestro

    Verify and close - cross-check coverage, run the VERIFY table, deliver the verdict, harvest durable lessons into decisions, close the bundle, and never claim remote state from local evidence.

    233 GitHub stars~1.9k tokensUpdated 13 days ago
    Auto-check passed
  • Maestro Work

    ReinaMacCredy/maestro

    Implement or fix one authorized unit with minimal edits and sufficient evidence.

    233 GitHub stars~2.6k tokensUpdated 13 days ago
    Auto-check passed
  • Maestro Bundle

    ReinaMacCredy/maestro

    Route work into the right maestro tier and drive the SPEC/NOTES/VERIFY bundle lifecycle - open, resume, close, recall.

    233 GitHub stars~1.3k tokensUpdated 13 days ago
    Auto-check passed

Categories

Questions about Maestro Graph

What does Maestro Graph do?

Drive a pre-known multi-agent path as a maestro graph - run it by name or from a file you just wrote, pull each agent node with graph next, spawn it as a sub-agent under its maestro-<profile…. Maestro Graph is an agent skill from ReinaMacCredy/maestro. Drive a pre-known multi-agent path as a maestro graph - run it by name or from a file you just wrote, pull each agent node with graph next, spawn it as a sub-agent under its maestro-<profile definition, hand the result back with graph result, repeat until the verdict.

When should I use Maestro Graph?

Maestro Graph fits situations like: tasks that involve Mobile testing and debugging; tasks that involve Subagents.

How do I install Maestro Graph in Claude Code?

Run `npx skills add ReinaMacCredy/maestro --skill maestro-graph -a claude-code`. Or copy the skill folder (src/plugins/skills/maestro-graph in ReinaMacCredy/maestro) into .claude/skills/maestro-graph in your project. Claude Code loads it when a task matches its description.

How do I install Maestro Graph in Codex?

Run `npx skills add ReinaMacCredy/maestro --skill maestro-graph -a codex`. Or copy the skill folder (src/plugins/skills/maestro-graph in ReinaMacCredy/maestro) into .agents/skills/maestro-graph in your project. Codex loads it when a task matches its description.

Can I use Maestro Graph in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ReinaMacCredy/maestro --skill maestro-graph -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/maestro-graph, .gemini/skills/maestro-graph, .github/skills/maestro-graph and .opencode/skills/maestro-graph in your project.

What does Maestro Graph need to run?

Going by SKILL.md and its folder, Maestro Graph needs the command-line tools its instructions call (python3, claude and codex). Our summary lists: Python 3.

Does Maestro Graph access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Maestro Graph safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Maestro Graph use?

Maestro Graph is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Maestro Graph use?

About 2.1k tokens (SKILL.md is roughly 8.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2k tokens, read only when the agent opens those files.

What are the alternatives to Maestro Graph?

Skills that share tags, products or a category with Maestro Graph: Phone Harness (ShawnPana/phone-harness, 3.2k stars), Maa Issue Log Analysis (MaaAssistantArknights/MaaAssistantArknights, 24k stars), Mobile QA (tloncorp/tlon-apps, 107 stars) and Store Listing Screenshots (therxmv/Telegram-Themer, 119 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Maestro Graph?

ReinaMacCredy (a GitHub user) maintains it in ReinaMacCredy/maestro, which has 233 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on September 28, 2026.

Source: ReinaMacCredy/maestro on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.