Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Witness feature close: use after Maestro feature proof and QA pass, before feature close, to write current witness.md/advisor.md receipts, auto-invoke an independent advisor when allowed, apply risk-tier and human-demo policy, and emit Gate: APPROVED.
.claude/skills/reinamaccredy-maestro-witness/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | 79% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 106% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 39% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 80% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 132% | 0% |
Use this after implementation, task proof, maestro feature verify, and QA evidence are complete, before maestro feature close. This skill is the witness conductor: it turns accepted evidence into two close receipts and emits Gate: APPROVED only when those receipts are current, independent, and complete. It does not implement code, replace proof or QA, or turn broad audit into a blocking close gate.
Exact command signatures live in reference/cli.md, generated from the binary. A verb or flag not listed there does not exist.
Read current evidence before writing receipts:
maestro feature show <id>maestro feature design <id> or .maestro/cards/<id>/handoff.md.maestro/cards/<id>/qa.md or the accepted qa: none declarationmaestro feature verify <id>Do not paste large code dumps into the receipts. Cite commands, file paths, hash refs, acceptance ids, proof ids, QA scenario ids, and short observed facts. Complete this intake only when every accepted ac-N has proof/QA evidence and the current handoff, QA, proof, sweep, and tree anchors are known.
Normal approval writes exactly two sidecars:
text.maestro/cards/<id>/witness.md .maestro/cards/<id>/advisor.md
witness.md is the worker-side close brief. It must map every accepted ac-N item to proof and QA evidence and must anchor to the current close inputs:
yamlgate: APPROVED contract_ref: handoff:<sha256 of handoff.md> proof_ref: proof:<sha256 of serialized acceptance evidence and sweeps> qa_ref: qa:<sha256 of qa.md> tree_ref: git:<current HEAD, or none outside git> risk_tier: T1 acceptance_mapping_complete: true proof_matrix_complete: true ac-1: PASS
For accepted qa: none, use qa_ref: qa-declaration:<sha256 of the QA declaration> instead of a qa.md hash. Refresh the witness if the handoff, proof, QA, acceptance sweep, or git head changes. witness.md is complete only when all accepted ac-N rows are present, all anchors are current, and the risk tier matches the changed surface.
advisor.md is the independent review receipt. It must be written by a different fresh-context session, subagent, or human reviewer from the worker:
yamlverdict: APPROVE reviewed_witness_ref: witness:<sha256 of witness.md> worker_ref: session:<worker> advisor_ref: subagent:<advisor> independent_session: true acceptance_audit_complete: true proof_spot_check_result: pass confidence: H
advisor independence is a hard close condition: worker_ref and advisor_ref must both be present, must be distinct, and must show separate review authority. advisor.md is complete only when the advisor independently checked the acceptance mapping, proof matrix, proof spot-check, risk tier, and human-demo policy and returned verdict: APPROVE.
Default advisor shape: the conductor may automatically invoke a fresh-context subagent and pass it the evidence packet. That is independent when the subagent performs its own review and returns the receipt. Human review is required only when the risk tier, user instruction, policy, or tool boundary explicitly requires a human demo, human reviewer, or expert escalation. If the subagent cannot write advisor.md in the owning checkout, the conductor may transcribe the returned receipt verbatim and record advisor_ref: subagent:<advisor> plus the source output or run ref. The conductor must not invent approval or reuse the worker session as advisor.
risk_tier: T0: no material implementation risk. Skip normal witness/advisoronly with explicit user authorization in witness.md.
risk_tier: T1: routine low-risk change. Normal witness/advisor receipts areenough.
risk_tier: T2: human-demo surface. Include demo evidence, or an advisorwaiver with demo_waived: true and demo_waiver_reason: <why safe>.
risk_tier: T3: high-risk, ambiguous, security-sensitive, release-sensitive,or outside-advisor-lens surface. Include demo evidence. If confidence: L or advisor_lens_exceeded: true, also include expert_escalation: satisfied.
T0 skip format:
yamlskipped: true tier: T0 skipped_by: user user_authorization_ref: <message, ticket, or run ref> skip_reason: <why normal witness/advisor is unnecessary> changed_surface: <bounded surface>
T1 and above never skip the witness/advisor pair.
git state. Stop if proof, QA, or accepted scope is stale or incomplete.
witness.md. Include the current anchors, risk tier, and one PASSrow per accepted ac-N. The receipt is not current after any handoff, proof, QA, sweep, or git-head change.
for routine T1 close unless the risk tier, policy, or user requires human review. The advisor checks acceptance mapping, proof matrix, proof spot-check, risk tier, and human-demo policy, then writes or returns advisor.md only for verdict: APPROVE.
Gate: APPROVED only after bothreceipts are current and complete, then run maestro feature close <id> --outcome "<outcome>".
If the advisor finds a defect in code, tests, QA, proof, or scope, do not force close. Return to maestro-card work/proof/QA and refresh the witness afterward.
During witness sign-off, audit is backlog-only. A broad review may produce follow-up findings with maestro harness propose, but audit findings do not become close blockers unless they invalidate the accepted contract, proof, QA, or risk-tier policy. Do not widen sign-off into a new audit implementation batch.
witness.md and advisor.md, except an explicit T0 userskip receipt.
Gate: APPROVED from the worker alone.subagent can complete the advisor receipt.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 6,124 | 14,601 | +138% | 1 | 1 | 0% | 353 | 2,042 | +478% | 0 | 0 | — |
case-02 | fail→fail | 16,887 | 5,267 | -69% | 1 | 1 | 0% | 3,016 | 1,987 | -34% | 0 | 0 | — |
case-08 | fail→pass | 10,187 | 6,744 | -34% | 1 | 1 | 0% | 1,692 | 3,027 | +79% | 0 | 0 | — |
case-03 | fail→fail | 7,343 | 5,458 | -26% | 1 | 1 | 0% | 326 | 1,993 | +511% | 0 | 0 | — |
case-04 | pass→fail | 17,486 | 17,810 | +2% | 1 | 1 | 0% | 3,399 | 3,868 | +14% | 0 | 0 | — |
case-05 | pass→fail | 17,968 | 7,372 | -59% | 1 | 1 | 0% | 3,242 | 2,091 | -36% | 0 | 0 | — |
case-06 | fail→fail | 6,376 | 7,617 | +19% | 1 | 1 | 0% | 971 | 1,977 | +104% | 0 | 0 | — |
case-07 | fail→pass | 21,368 | 14,866 | -30% | 1 | 1 | 0% | 1,724 | 3,556 | +106% | 0 | 0 | — |
case-09 | pass→pass | 14,600 | 5,992 | -59% | 1 | 1 | 0% | 2,238 | 2,744 | +23% | 0 | 0 | — |
case-10 | fail→pass | 23,693 | 2,025 | -91% | 1 | 1 | 0% | 1,481 | 2,052 | +39% | 0 | 0 | — |
case-11 | pass→pass | 8,156 | 5,980 | -27% | 1 | 1 | 0% | 1,268 | 2,788 | +120% | 0 | 0 | — |
case-12 | fail→pass | 9,352 | 7,772 | -17% | 1 | 1 | 0% | 1,557 | 2,801 | +80% | 0 | 0 | — |
case-13 | fail→pass | 7,202 | 5,857 | -19% | 1 | 1 | 0% | 1,036 | 2,402 | +132% | 0 | 0 | — |
case-14 | pass→pass | 7,663 | 7,140 | -7% | 1 | 1 | 0% | 1,196 | 2,656 | +122% | 0 | 0 | — |
case-15 | fail→pass | 18,470 | 4,811 | -74% | 1 | 1 | 0% | 2,984 | 2,159 | -28% | 0 | 0 | — |
case-16 | fail→pass | 7,414 | 2,152 | -71% | 1 | 1 | 0% | 1,151 | 1,947 | +69% | 0 | 0 | — |
case-17 | fail→fail | 13,406 | 4,103 | -69% | 1 | 1 | 0% | 1,991 | 2,242 | +13% | 0 | 0 | — |
case-18 | pass→pass | 8,610 | 6,755 | -22% | 1 | 1 | 0% | 1,456 | 2,620 | +80% | 0 | 0 | — |
case-19 | fail→pass | 16,641 | 3,630 | -78% | 1 | 1 | 0% | 2,551 | 2,002 | -22% | 0 | 0 | — |
case-20 | pass→pass | 10,770 | 5,894 | -45% | 1 | 1 | 0% | 1,508 | 2,471 | +64% | 0 | 0 | — |
case-21 | pass→pass | 12,976 | 2,960 | -77% | 1 | 1 | 0% | 1,776 | 2,104 | +18% | 0 | 0 | — |
case-22 | pass→pass | 6,451 | 5,180 | -20% | 1 | 1 | 0% | 1,032 | 2,682 | +160% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 16 counted toward the lift figure. The other 6 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +27 percentage points is the difference between those two pass rates over the 16 comparable cases. 3 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.