Skip to content
Development
Skill

/maestro-verify

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.

From plugin
maestro
2369 skills

Claude Code

$ npx -y skills add ReinaMacCredy/maestro --skill maestro-verify --agent claude-code

SKILL.md

maestro-verify.SKILL.md
name: maestro-verify
description: 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.
review-date: 2026-11-28

<!-- maestro-skill-version: dev -->

maestro-verify

Use for verification and close. Read [WORKFLOW.md](~/maestro/WORKFLOW.md) for testing, recovery, authorization, and completion rules. Delivery actions such as commit, install, push, or release remain separate gates.

Precondition: an open bundle with a drafted VERIFY.md. Without a bundle, verify inline and close a tracked item with `maestro work done`; an untracked quickfix needs no record. This skill's table pass is for Full work. The evidence-layer vocabulary below still applies to any claim at any tier.

Evidence layers

Proof follows five links. Claim only as far as the last proven link.

  • `source` - source-level tests, lint, type checks, or direct inspection.
  • `artifact` - the built or packaged output is present and has been read back.
  • `installed` - the installed stamp, version, or files match the intended artifact.
  • `live` - the running process, pid, or active runtime matches the installed layer.
  • `journey` - the real user path reaches the observable outcome end to end.

The repository's `verify-<repo>` skill is the route to `live` and `journey`; `maestro recipe show verification-skill` creates or maintains it.

"Tests pass" is a source claim. A claim that touches install or runtime must include a readback at that layer. A suite that is green only on this machine is not a `source` claim about the repo: before any commit, release, or handback gate, re-run the touched suite with the developer environment removed (`HOME=$(mktemp -d)`, `env -u HERDR_ENV`). A test that reads the installed copy, the room, or a home config passes for you and fails in CI. Every proof and VERIFY result lists untested links explicitly as `NOT TESTED`, never by omission:

proof: "suite 135 pass @ a52bd4a7 (source); runtime stamp readback a52bd4a7 (installed); live: NOT TESTED"
Assumptions not verified: None
Residual risks: None

Verify

  • Cross-check the evidence plan against acceptance and relevant risks. Map

existing tests, necessary new checks, readbacks, or baselines to VERIFY.md. A missing behavior check is a gap; the absence of a newly written test is not.

  • Run every VERIFY.md scenario against its work item's acceptance/claims and

fill its unit, live, and perf cells with evidence or `n/a: <reason>`; run each anti-goal check (grep, diff, readback). Stamp each row with its commit and the pass with its date, then run `maestro bundle check <id> --final`. Results hold this run only: a re-run replaces prior results wholesale, and a failed pass leaves its one-line `failed:` note on the work item, never accumulated rounds in VERIFY.md. Apply [Recovery and verification](~/maestro/WORKFLOW.md#recovery-and-verification) when a scenario cannot run as written: document and execute an equivalent check without changing acceptance, or report the gap if equivalence is unknown.

  • Run the repo's checks for the touched surface (tests, lint, types, build),

then freeze and review the task-owned diff: every changed line traces to the SPEC's scope or a linked work item; nothing unrelated is staged.

  • For a concrete assertion-strength concern, inspect whether the existing

check distinguishes the approved outcome from the suspected wrong behavior. A focused mutation can establish that; restore it before continuing. Do not expand verification into an unrelated edge-case or coverage campaign.

  • Re-read the user's exact delivery authority and target before any gate.
  • Select one legal next gate at a time: final verification, independent QA or

witness, scoped commit, local install, external delivery, or stop. Do not bundle gates whose authority differs.

  • Read back the actual result: test output, commit hash, installed version. A

started or interrupted command is not delivery evidence.

For substantial diffs, verify in a fresh context: dispatch a subagent that reads only the bundle and the diff - the implementer verifying their own work invites confirmation bias. The subagent never fixes anything: mutants it flips are reverted before reporting, and on FAIL it records the verdict and stops; routing back to implementation belongs to the parent turn that holds the user's ask. A subagent that fails to start or report is a dispatch failure, not evidence: run the checklist in this session instead of polling for it.

On FAIL, leave `maestro work note <id> "failed: <one line>"` and return the evidence to the implementation owner. Use the shared recovery rule to choose the next action from the cause, not a failure count. Read prior failed notes so a new session does not repeat the same uninformative attempt.

Read-only review method: [references/audit.md](references/audit.md). When the failure location is unclear, follow [references/triage.md](references/triage.md).

Red flags

| The thought | The reality | |---|---| | "It obviously passes - running it is a formality" | Scenarios exist because "obviously" has been wrong before. Run every one and record the output. | | "The scenario command is stale, so I can skip the check" | Repair it or demonstrate an equivalent measurement; preserve acceptance and record the change. | | "The mutant survived, but the code is clearly fine" | If the mutant violates acceptance, the check is weak; report the gap rather than filling PASS. | | "I wrote this diff - I know it works" | That is the confirmation bias the fresh-context rule exists for. | | "I'll just fix this small failure while I'm verifying" | Verify delivers a verdict, never fixes. A FAIL routes back to the playbook's fix step. |

Learn, then close

Before closing, harvest what outlives the bundle ([references/learning.md](references/learning.md)): a verified correction or

Read more
@reinamaccredy
Ships withmaestro

Maestro is a local-first coordination system for human and agent work. It keeps durable work, decisions, sessions, evidence, dispatches, and handbacks in each repository's shared Git root.

Stars on GitHub

Momentum

stars in total
236
Star history of ReinaMacCredy/maestro on GitHub, a chart by star-history.com

Other skills on maestro.

maestro-bundle

maestro-bundle

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

maestro-coach

maestro-coach

Decision support and grounded teaching for the human. Invoke when the user signals a message did not land ("wait, what?", "I…

maestro-council

maestro-council

Lead-only council for a hard-to-reverse fork - a neutral brief, sealed independent seats, one premise verifier on unanimity,…

maestro-design

maestro-design

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

maestro-graph

maestro-graph

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…

maestro-improve

maestro-improve

Turn filed lessons into the smallest doctrine edit. Use when a Lead assigns improvement work for one target: group pending…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about maestro-verify.

Which coding agents can use maestro-verify?
maestro-verify installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.