Agent skill

Maestro Work

by ReinaMacCredy in ReinaMacCredy/maestro

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

MITAuto-check passedMobile

Install Maestro Work

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

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

GitHub CLI
$ gh skill install ReinaMacCredy/maestro maestro-work --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-work .claude/skills/maestro-work && 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-work
GitHub stars
233
Token cost
~2.6k tokens
SKILL.md length
1,329 words
Files
4 (incl. references)
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

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

  • Works in 6 steps: Perceive - maestro work show , maestro… → Choose - the smallest behavior… → Act - maestro work start . With… → …
  • Tasks that involve Mobile testing and debugging
  • SKILL.md covers Recon and preconditions, Dispatch, Handback and Loop, plus 4 more sections
  • Calls osascript

What it does

Maestro Work is an agent skill from ReinaMacCredy/maestro. Implement or fix one authorized unit with minimal edits and sufficient evidence. Reuse existing checks and add tests only for concrete uncovered behavior or risk.

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/conflict-handoff.md`, `references/tdd-antipatterns.md` and `references/worktree.md`).

It sits in Mobile, covering Mobile testing and debugging. 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

Example prompts

  • “/maestro-work”

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Perceive - maestro work show , maestro ready, relevant source,
  2. Choose - the smallest behavior falsifiable at the accepted seam. Apply
  3. Act - maestro work start . With policy-breakdown enabled it
  4. Observe - run the focused test, then type/lint/build checks. A suite
  5. Learn - a pass that failed gets exactly one line,
  6. Continue - maestro work done with --claim/--proof naming the

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:

    • osascript

    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 Work loads about 2.6k tokens when it runs, and up to ~4.3k if it reads all its reference files. Until then it costs about 44 tokens; SKILL.md has 1,329 words of instructions outside code blocks.

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

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). 1,329 words, ~2,584 tokens.

Download SKILL.mdSave it as .claude/skills/maestro-work/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
maestro-work
description
Implement or fix one authorized unit with minimal edits and sufficient evidence. Reuse existing checks and add tests only for concrete uncovered behavior or risk.
review-date
2026-11-28
<!-- maestro-skill-version: dev -->

maestro-work

Use for one accepted implementation unit. Keep the change inside the work item's acceptance and authority. Apply WORKFLOW.md for method rules; pause only the slice blocked by scope or authority.

Recon and preconditions

Inspect the relevant source and existing checks, then apply Tiers. Confirm the original implementation request and accepted scope; for Full, read the matching SPEC. A newly found in-scope test gap does not require a new design pass. A throwaway prototype not approved to port remains maestro-explore's scope.

Before writing code, read any language-convention notes the user's setup provides for the language being edited. Repository conventions override them.

Dispatch

When work is handed to a lane (a Herdr pane in the room, or a sub-agent where no room exists), send this envelope:

text
Objective: <observable outcome>
Owned scope: <paths or responsibility>
Excluded scope: <explicit non-goals>
Mutation: <no-write | write-bounded: paths>
Stop condition: <done or blocked boundary>
Lane: scout | decision | delivery | challenge | shadow
Evidence required: <proof and layer>

A tiny task may collapse the envelope to three lines, but it never drops Excluded scope or Mutation.

  • scout reads and reports state, never writes.
  • delivery may write and is the only lane that holds the lease.
  • decision investigates, compares, and recommends without writing.
  • challenge breaks the premise or candidate and returns findings only, with no fixes or redesign.
  • shadow runs beside the owner without writing and returns comparison evidence that is never a candidate or a work write lease.

No-write names the file boundary only. maestro dispatch accept and maestro handback file are the lane's own two writes and are never in the excluded scope, so a scout or shadow lane can still accept and return.

The canonical parallel shapes are delivery and challenge on the same scope, or a council of decision lanes run by maestro-council.

Handback

Return this packet when the lane stops. maestro dispatch accept leaves the dispatch claimed, not held, and maestro handback file refuses with DISPATCH_UNCONFIRMED until the opener runs maestro dispatch confirm, so ask for the confirm at acceptance rather than at the stop condition.

text
Status: <DONE | BLOCKED | UNTESTABLE | UNKNOWN | FAILED | CHALLENGE | REOPEN_REQUEST | DEPENDENCY_REQUEST | COUNCIL_REQUEST>
Claim: <what is now believed true>
Proof: <evidence with its layer named>
Assumptions not verified: <items or None>
Residual risks: <items or None>
Incidental findings: <items or None>

Unknown is a valid result; it is never rounded up to PASS.

A peer that discovers a dependency stops the mutation that depends on the new assumption and hands back DEPENDENCY_REQUEST with evidence and impact. The Lead re-scopes the work. A never silently becomes A+B+C.

For repeated failures, apply Recovery and verification. Record the episode in one failed: work note, carrying:

text
Attempted: <approaches tried>
Invariant assumed: <belief shared by the attempts>
Exact failure: <literal evidence>
What changed between attempts: <delta>
What did not change: <stable conditions>
Smallest new information needed: <next fact that would change the approach>

Loop

  1. Perceive - maestro work show <id>, maestro ready, relevant source, tests, and repository instructions. Name the task-owned dirty paths before editing.
  2. Choose - the smallest behavior falsifiable at the accepted seam. Apply Testing discipline: identify existing evidence and the concrete gap before writing any test. New child work gets --acceptance "<observable result>" and --kind: feature, task, bug, chore, implement are execution units; idea and research are scope notes under a parent and never hold it open. A parentless item the agent creates carries its why in the title or acceptance; a longer why is a maestro work note <id> "why: <one paragraph>".
  3. Act - maestro work start <id>. With policy-breakdown enabled it refuses a parentless write-like item: pass --atomic-reason "<why this is one unit>" when it truly is one, otherwise maestro work add ... --parent <id> first and start the child - a parent with open children never starts. Then the minimum source and test edits for that behavior. Reach for what the repo already uses first: a helper, type, component, or installed dependency beats new code, and beats a native platform feature the repo has an established equivalent for. Minimum means the fewest concepts a maintainer meets at the seam, not the fewest lines; a wrapper that hides behavior to shorten a diff is a new concept, and the smallest change in the wrong layer is a second bug. A bug fix lands once where every caller routes through. Lazy about the solution, not about trust-boundary validation, error handling that prevents data loss, security, or anything explicitly requested.
  4. Observe - run the focused test, then type/lint/build checks. A suite that takes minutes runs in the background; its completion notification wakes you, so never hold the turn on sleep, osascript -e 'delay', or a poll loop against its log. Review the diff against acceptance; confirm the test could expose the defect.
  5. Learn - a pass that failed gets exactly one line, maestro work note <id> "failed: <one line>"; the lowercase failed: prefix is what maestro attention counts. Otherwise note only a reusable correction. Keep a checkpoint on the held item when state or the next action meaningfully changes, and before any handoff: maestro work note <id> "checkpoint:\nstate: <where it stands>\nnext: <concrete action>\navoid: <what not to repeat>". Include the base, task-owned dirty paths, original authorization and retained gates for a successor. Only the latest one counts; the brief prints it back after a compaction, and maestro handoff renders it into NOTES.md.
  6. Continue - maestro work done <id> with --claim/--proof naming the real falsifier (the check that would have failed if the claim were wrong). In a bundle, run maestro handoff <bundle-id> before releasing the work item: it renders NOTES.md from the store (work, decisions, handbacks, failed: and checkpoint: notes, base commit); hand-edit only Authority and whatever the store cannot derive, never the rendered sections.
Show full SKILL.md (489 more words)Show less

Test technique

Use the shared Testing discipline for whether a test is needed. When writing one, prefer a stable consumer seam so internals stay free to change. Demonstrate that a plausible wrong implementation fails it, and derive expectations from the accepted behavior rather than current output.

Concrete smells and fixes: references/tdd-antipatterns.md.

Hard rules

  • Never delete, skip, or weaken a failing test to make the suite pass. A failing test is information: fix the code or surface the conflict.
  • A new test's failure must reflect the behavior gap, not an unrelated setup failure. Do not invent public behavior merely to get a test to compile.
  • For a material choice outside the acceptance, pause that slice and apply Decisions and readiness. Reversible internal details do not require a user question or a decision lock.
  • Scope the user cuts mid-loop leaves in the same turn: drop it from the red list and VERIFY.md, remove the tests and dead code written for it, and record the cut as a decision.
  • When the failure's cause is unknown, diagnosis (maestro-diagnose steps) is the first phase of this authorized fix, done here, not as a separate engagement.
  • A missing external fact (API behavior, library semantics, version differences) is not scope expansion: look it up against primary sources, record the finding and its link with maestro work note <id>, and continue. If the answer contradicts a locked decision, stop and supersede the decision first.
  • For a behavior-preserving change, compare existing checks or a captured baseline before and after. Apply Testing discipline if a coverage gap is discovered. Changing baselined behavior needs the appropriate scope approval; do not silently edit expectations to match a regression.
  • Generated or vendored files are never the target: fix the generator or pin and regenerate.

Red flags

The thoughtThe reality
"The test is basically right - I'll adjust the assertion to match the output"That documents the current bug as expected behavior. Assert from the decision's promise and fix the code.
"Another test would make this feel safer"Name the wrong implementation existing checks miss first; duplicate confirmation is not additional evidence.
"The test doesn't compile - I'll create the missing symbol so it can run"Check the accepted contract first; a test does not authorize new public behavior.
"While I'm here, this nearby code could use a cleanup"Not in the acceptance means not in scope. Mention it; do not touch it.
"Skipping this failing test unblocks the suite"A failing test is information. Fix the code or surface the conflict.
"All later design questions must be settled before I start"Only unresolved choices blocking the next authorized slice stop that slice.
"The tier requires another test"Tier determines record depth, not test count; use the shared Testing discipline.

When the scope is done and the checks are green: Light closes with maestro work done; a Full bundle routes to maestro-verify.

Coordination

Isolated lanes and worktrees: references/worktree.md. Contested files or overlapping sessions: references/conflict-handoff.md.

© 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 3 other files (references) in src/plugins/skills/maestro-work of ReinaMacCredy/maestro.

  • SKILL.md
  • references/conflict-handoff.md
  • references/tdd-antipatterns.md
  • references/worktree.md

Open the folder on GitHubat commit 2412403

Compare with similar skills

Maestro Work 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 Work compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Maestro Work this skillReinaMacCredy/maestro233—~2.6kAutomated 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 1 mo 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 Graph

    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…

    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 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 Work

What does Maestro Work do?

Implement or fix one authorized unit with minimal edits and sufficient evidence. Maestro Work is an agent skill from ReinaMacCredy/maestro. Implement or fix one authorized unit with minimal edits and sufficient evidence.

When should I use Maestro Work?

Maestro Work fits situations like: tasks that involve Mobile testing and debugging.

How do I install Maestro Work in Claude Code?

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

How do I install Maestro Work in Codex?

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

Can I use Maestro Work 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-work -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-work, .gemini/skills/maestro-work, .github/skills/maestro-work and .opencode/skills/maestro-work in your project.

What does Maestro Work need to run?

Going by SKILL.md and its folder, Maestro Work needs the command-line tools its instructions call (osascript).

Does Maestro Work 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 Work 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 Work use?

Maestro Work 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 Work use?

About 2.6k tokens (SKILL.md is roughly 10k 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 1.7k tokens, read only when the agent opens those files.

What are the alternatives to Maestro Work?

Skills that share tags, products or a category with Maestro Work: 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 Work?

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.