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.
npx skills add https://github.com/ReinaMacCredy/maestro --skill maestro-witness
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:
.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:
gate: 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:
verdict: 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:
skipped: 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.
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
Use when implementing any feature or bugfix, before writing implementation code
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always
Expert guidance for systematic backtesting of trading strategies. Use when developing, testing, stress-testing, or validating quantitative trading strategies. Covers "beating ideas to death" methodology, parameter robustness testing, slippage modeling, bias prevention, and interpreting backtest results. Applicable when user asks about backtesting, strategy validation, robustness testing, avoiding overfitting, or systematic trading development.
Cloud laboratory platform for automated protein testing and validation. Use when designing proteins and needing experimental validation including binding assays, expression testing, thermostability measurements, enzyme activity assays, or protein sequence optimization. Also use for submitting experiments via API, tracking experiment status, downloading results, optimizing protein sequences for better expression using computational tools (NetSolP, SoluProt, SolubleMPNN, ESM), or managing protein design workflows with wet-lab validation.
This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.
Take reinamaccredy/maestro-witness from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.