bundled-skills/audit-agent-run-evidence/SKILL.md
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.
npx skillsauth add FrancoStino/opencode-skills-antigravity audit-agent-run-evidenceInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
tools
Authorized security assessment of LLM applications and AI agents: prompt injection, tool abuse, RAG exposure, memory poisoning, system-prompt extraction, and agent-compliance engineering per OWASP LLM/ASI Top 10.
development
Builds two parameterized UI modes—流光溢彩白 (iridescent white) and 五彩斑斓黑 (colorful black)—with OKLCH, WebGL/CSS fallback, vision gating, screenshot QA, and total/per-color intensity reports. Use when a UI request names either mode or needs measured color parameters.
tools
Delegate coding tasks to the Kimi Code CLI (`kimi`) only when the user explicitly requests it, while the orchestrator retains review and landing responsibility.
development
Front-end JavaScript reverse engineering: locate signature chains, analyze encrypted request parameters, sample runtime behavior, and reproduce logic locally in Node for evidence-based output.