writeup-sop — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited writeup-sop (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
This is an agent-gated publication workflow, not a filesystem security boundary. Hooks block only a narrower set of obvious unsafe writes.
Require the target audience/venue, output path and format, intended claims, linked hypothesis/proposition ids, metric pins, and whether each result is confirmatory or exploratory. Deliver the manuscript/report, a claim manifest, reviewer JSON, and a short list of unresolved limitations.
List every meaningful claim with:
result_metric, statistical_claim, context, or theorem;Dates, versions, seed counts, baseline counts, model sizes, and timeouts are usually context. They must be accurate but are not automatic provenance gates.
For each publication-critical numeric or statistical claim:
mcp__verify__check_provenance. Missing provenance means rerun,remove the claim, or clearly downgrade it to exploratory.
pin_id for central metrics.mcp__verify__refresh_claim. Any stale code, data, config, Git state,dependency lock, runtime, or tracked environment blocks the central claim. Legacy unchecked evidence must be disclosed and is insufficient as the only support for a headline result.
narrow the wording to an unstable/exploratory observation.
baseline_fairnessverdict or disclose the resource mismatch next to the comparison.
met.Check its fixed family_id and family_size; an open or missed row blocks confirmatory wording.
Never convert an observed exploratory run into a confirmatory claim after the fact.
When rankings matter, report strength, comparison count, and uncertainty only as a joint batch MAP Bradley-Terry result. The compatibility fields lcb and ucb are uncalibrated approximate posterior intervals. Do not call them strict 95% confidence intervals, and do not use overlap/non-overlap as proof that one hypothesis is truly superior.
For every theorem, lemma, proposition, corollary, or "we prove" statement:
empty; an open manifest blocks writing;unverified annotationand state what evidence the natural-language proof has received;
Use $prove-sop to repair missing proof evidence before continuing.
Write each central claim close to its scope, metric definition, uncertainty, dataset, baseline conditions, and limitation. Keep exploratory language visibly distinct from confirmatory language. Do not bury failed preregistration, unstable seeds, stale evidence, or resource imbalance in an appendix.
A useful report order is:
Use the reviewer role when available; otherwise apply its checklist inline. The required JSON keys are:
verdict: accept, revise, or reject;numeric_claims;theorem_claims;provenance_trace;blockers;notes.accept is forbidden when blockers is non-empty, a central numeric claim lacks a pin, central evidence is stale, a confirmatory preregistration is not met, a theorem manifest is open, or an unformalized theorem lacks an explicit unverified flag.
accept: write/finalize the requested artifact and optionally export aclosure report.
revise: address every blocker, refresh the claim manifest, and rerun thereviewer. Do not silently weaken checks.
reject: do not publish through this workflow. Return the blocking evidenceand the minimum rerun/removal needed for reconsideration.
The write-up is complete only when every central claim maps to fresh evidence, exploratory and confirmatory wording is accurate, statistical uncertainty is described with its real calibration status, theorem claims pass the proof branch or are explicitly unverified, reviewer JSON is complete, and the final artifact contains no unresolved blocker disguised as prose.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.