Use when an agent, harness, gateway, MCP workflow, or multi-step automation claims completion and the available traces, checkpoints, approvals, tool calls, or deployment records must be judged without trusting self-reported success.
Turn an end-to-end success statement into independently decidable claims. Reconstruct what happened from available records, grade each claim against the strongest witness, and keep missing evidence distinct from failure.
This is a read-only audit. Do not rerun tools, approve actions, resume workers, deploy artifacts, or modify evidence unless the user separately authorizes those actions.
Do not use this skill to design instrumentation for a future run or to perform the missing actions. It evaluates evidence that already exists.
Record these inputs before judging the run:
Do not silently strengthen the original success criteria. Do not weaken them to match the evidence that happens to exist.
Split the overall claim into atomic predicates. Give every row a stable claim ID.
| Field | Required content |
|---|---|
| claim_id | Stable identifier |
| predicate | One falsifiable statement |
| required_witness | Source that can independently prove it |
| evidence_refs | Exact event, log, artifact, or record IDs |
| counterevidence_refs | Conflicting records |
| coverage | Required instances versus observed instances |
| verdict | proven, partially_proven, contradicted, or not_proven |
| gap | Missing field, actor, interval, or verification |
Typical predicates include:
Preserve original records and create a normalized event view with:
{
"run_id": "run-123",
"event_id": "evt-42",
"sequence": 42,
"observed_at": "RFC3339 timestamp",
"actor": {"type": "worker", "id": "worker-2"},
"operation": "mcp.search",
"state_before": "researching",
"state_after": "researching",
"attempt": 2,
"request_id": "req-9",
"idempotency_key": "task-7:search:2",
"input_digest": "sha256:...",
"output_digest": "sha256:...",
"checkpoint_seq": 3,
"parent_event_id": "evt-41",
"status": "succeeded",
"evidence_ref": "tool-log:991"
}
Use null or unknown for absent values. Never synthesize IDs, timestamps, digests, costs, approvals, or outcomes.
Verify bundle hashes or signatures when supplied. Check duplicate IDs, broken parent links, non-monotonic per-source sequences, impossible state transitions, unaccounted clock skew, and unexplained trace gaps. Treat an integrity failure as counterevidence for claims that depend on the affected records.
Prefer the witness closest to the effect:
| Claim | Strong witness | Insufficient alone | |---|---|---| | Code changed | Commit/tree and diff | Agent narration | | Test passed | Complete test result bound to revision | Command invocation | | MCP effect occurred | Server or provider audit record | Client request | | Checkpoint resumed | Durable checkpoint plus verified load event | Checkpoint file exists | | Human approved | Authorization-system decision bound to artifact and target | Approval requested | | Deployment succeeded | Platform record plus required health checks | Deployment started | | Memory grounded a decision | Versioned memory read and citation | Final answer resembles memory |
An orchestrator and its child worker are not independent witnesses when they repeat the same unverified result. A cryptographic digest proves byte identity, not semantic correctness.
all_required, quorum, first_success, or other join rule.Do not infer successful completion from a final state label when required intermediate predicates are missing.
proven: authentic evidence covers every instance of the predicate and no reliable counterevidence remains.partially_proven: some required instances or fields are proven and the uncovered portion is named.contradicted: reliable evidence conflicts with the predicate.not_proven: evidence is absent, circular, unverifiable, or only self-reported.Use not_proven, not contradicted, for missing logs. Use contradicted when the trace shows a failed health check, duplicate effect, unauthorized approver, corrupt checkpoint, skipped required branch, or exhausted budget.
The end-to-end verdict cannot be stronger than its weakest required predicate. Optional diagnostics may remain unproven without failing the run if they were never part of the declared contract.
Return sections in this order:
Example conclusion:
partially_proven: repository steps C1-C18 and checkpoint recovery C22 are proven, but deployment success is not proven because C31 has only a client-side start event and no platform health result.
Copy a source-pinned command for your client. You run it yourself.
Destination: .claude/skills/audit-agent-run-evidence · pinned to the source commit
# Run from your project root
git clone https://github.com/sickn33/agentic-awesome-skills.git .skillboard-tmp
git -C .skillboard-tmp checkout 5cf4dfeb13ea966daa1e117897689cd7991e3f44
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/plugins/agentic-awesome-skills-claude/skills/audit-agent-run-evidence" ".claude/skills/"
rm -rf .skillboard-tmpReview the source before running. This copies files into your project; it is not a one-click install and does not verify runtime safety.
sudo apt update && sudo apt install -y gitnpm install -g @anthropic-ai/claude-code# Run from your project root
git clone https://github.com/sickn33/agentic-awesome-skills.git .skillboard-tmp
git -C .skillboard-tmp checkout 5cf4dfeb13ea966daa1e117897689cd7991e3f44
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/plugins/agentic-awesome-skills-claude/skills/audit-agent-run-evidence" ".claude/skills/"
rm -rf .skillboard-tmpDestination: .claude/skills/audit-agent-run-evidence
Scanner static-checks@0.1.0 · commit 5cf4dfeb13ea. Static checks cannot prove runtime safety – review the source and the exact diff before installing. How checks work.
No static rules matched. This is not a safety guarantee.