agentsclimarketplace

Verify results

Skill ShaishavMaisuria/research-paper-lifecycle-skills/skills/verify-results

42 AI agent skills for literature review, academic writing, citation verification, conference submission, rebuttal, publication, and presentations.

Install
npx -y skills add ShaishavMaisuria/research-paper-lifecycle-skills --skill verify-results

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 14 stars14 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Check whether reported paper metrics are consistent with outputs from the local code artifact. Use for result reproduction checks, artifact evaluation, reproducibility checklists, code-versus-paper audits, table or claim metric comparisons, and badge-readiness review.

SKILL.md

11.3 KB, ~2.8k tokens by cl100k_base, as published. Nobody here has run it

Verify Results

Close the loop between what the paper claims and what the artifact produces. This skill helps the author confirm their reported numbers reproduce: it locates the experiment code, helps stand up a clean/sandboxed run, runs the artifact's own tests, and does a consistency audit — comparing the metrics the run produces against the paper's tables and claims, within a tolerance that does not change the paper's conclusions. It reports mismatches (paper says X, code produces Y) and missing reproduction steps, and audits the artifact against current reproducibility-badge expectations.

It is a copilot: it sets up and guides, and the author runs anything heavy (training, long evals) in their own environment. It never fabricates a number, never executes destructive commands, and never claims a result was independently reproduced — a clean audit means consistent, not reproduced.

When to use

  • "Do my results reproduce?" / "Does my code match the paper's tables?"
  • "Check my reproducibility" / "verify my experiments" / "reproduce my numbers".
  • Prepping an artifact for an evaluation track (ACM AE, USENIX, OSDI, SOSP, SIGMOD ARI, ETAPS, NeurIPS/ICML/ACL reproducibility).
  • Filling a reproducibility checklist (NeurIPS Paper Checklist, ACL Responsible NLP, ML Code Completeness) and wanting an honest read on each item.
  • After a results table changes and you need to confirm the code still produces it.

Inputs

  1. The artifact / experiment code (a directory; a repo URL the author has cloned locally — this skill reads local files, it does not clone for you).
  2. The paper .tex whose tables/claims are being checked (or the specific \input file that holds the results table).
  3. The target venue's artifact track, if any — its current Call for Artifacts decides which badges exist and what hosting they require.
  4. Optionally, a metrics file from a prior run (JSON/CSV) to compare without re-running.

Process

This skill follows plan → set up → run (author) → audit, with the verification step grounded in external, measurable signals (test pass/fail, a numeric diff against a file the run produced) — never the model's own judgment that the numbers "look right".

  1. Locate the experiment code and the claims. Confirm where the code lives and which paper tables/claims it is supposed to produce. Extract the paper's reported numbers into a reviewable claims ledger:

    python3 scripts/extract_claims.py paper.tex --ledger claims.json
    

    The ledger is a starting point, not ground truth — walk it with the author: drop spurious numbers (years, citation counts, the top-1=1 from a \\ row), fix metric labels, mark each kept claim confirmed. The author is the author.

  2. Audit the artifact for completeness and badge-readiness.

    python3 scripts/audit_repo.py path/to/artifact --blind <single|double|none>
    

    This inventories the repo against the ML Code Completeness Checklist (dependencies, training code, evaluation code, pretrained models, a README with a results table + exact reproduce command), checks for the artifact's own tests, flags missing reproduction steps, and warns when the only hosting is a GitHub/personal URL (badge tracks want an archival DOI — Zenodo/FigShare/Dryad/Software Heritage). It runs nothing. Under --blind double it also scans the README for de-anonymizing emails/URLs.

    This is a fast pre-comparison gate, not the deep version. Don't re-do work the sibling skills own: making the code run-ready/deterministic and the repro-essentials audit belong to test-research-code; packaging, the badge taxonomy, and the archival DOI belong to prepare-artifacts; the deep double-blind sweep belongs to anonymize-paper / refactor-research-code. The unique job of this skill is the consistency audit (step 5) — does the run's output match the paper's tables. Use audit_repo.py only to confirm there is enough to run before comparing, then hand deep gaps to the owner skill.

  3. Re-verify the badge rules against the live Call for Artifacts — mandatory. Badge offerings change per venue, per year (e.g. one cycle a venue offers all three badges; another, only Artifacts Available). The terms Reproduced vs Replicated were swapped by ACM after 2020-05-14 — pre-2020 papers use the inverse meanings. Do not state any badge requirement, hosting rule, or deadline from memory: fetch the venue's current CFA and confirm it with a source URL and access date. Reproducibility standards and the badge taxonomy are in references/repro-standards.md — treat it as a map of what to verify, not as current truth.

  4. Set up a clean, sandboxed run — then hand the author the commands. A reproduction must run from a pinned, isolated environment, not the author's polluted shell. Help build the recipe (fresh venv/conda/container from the dependency spec; seeds fixed; the exact command from the README), but the author runs anything heavy. See references/sandbox-and-run.md. First have the author run the artifact's own tests (pytest, make test, the repo's harness) — a concrete pass/fail gate before any metric comparison. Never run destructive commands; never auto-install into the author's base environment.

  5. Consistency audit: compare produced metrics to the paper. Point the run's output (a metrics JSON/CSV the author generated) at the confirmed ledger:

    python3 scripts/compare_metrics.py --ledger claims.json --metrics run.json \
        --rel-tol 0.01 --abs-tol 0.005 [--map test_acc=c1 ...]
    

    It reports MATCH / MISMATCH / MISSING per claim with a tolerance that does not change the paper's claimnever bit-exact (ACM, SIGMOD ARI, and ETAPS all require only agreement within tolerance / "similar behavior"). Tune --rel-tol/--abs-tol to the metric's scale and use --map when names differ. A metric/no-produced-value is a missing repro step (the paper reports it; the run didn't emit it).

  6. Decide the verification outcome with explicit stop conditions. Map each compared claim to: match (consistent within tolerance), mismatch (paper says X, code produces Y — reconcile: stale table? wrong seed? different split? selective reporting?), or unverified (could not run / metric not emitted — say so, never paper over it). Do not loop indefinitely: stop when all confirmed claims are match-or-explained, or escalate to the author when a mismatch needs a judgment call (which number is right). Escalation is a feature, not a failure (working-principle #4).

  7. Write the reproduction report to paper-workspace/review/reproduction-report.md and append a line to paper-workspace/INDEX.md. Lead with the verdict (N of M claims consistent), then the mismatch table (claim, paper value, produced value, |diff|, likely cause), the artifact-completeness checklist with each item's status, missing repro steps, and badge-readiness per the live CFA. State plainly what was and was not actually run.

Output

A reproduction-report.md: verdict (consistent claims / total) → mismatch table (paper vs produced, with diffs and suspected cause) → artifact completeness checklist (5 items + tests + hosting) → missing reproduction steps → badge-readiness against the live CFA (with source links and dates). Plus the machine-readable claims.json ledger and the --json outputs if requested.

Adapt to your discipline

The metric heuristics target ML/systems papers (accuracy, F1, BLEU, latency, speedup...). For other fields, the ledger is just {metric, value} records — hand-author it for any quantitative claim (effect sizes, p-values, runtimes) and compare_metrics.py still does the tolerance-aware audit. Non-code artifacts (datasets, proofs) use steps 2–3 only.

Related skills (don't duplicate them)

This skill's one unique job is the consistency audit: does the run's output match the paper's reported numbers. Everything adjacent has an owner — hand it off rather than re-doing it.

NeedOwner skill
Make the code run-ready/deterministic; repro-essentials audittest-research-code
Packaging, badge taxonomy, archival DOI, artifact appendixprepare-artifacts
Release cleanup of a research reporefactor-research-code
Deep, reversible double-blind sweepanonymize-paper
Each written claim traces to evidence (not just numbers)verify-claims

audit_repo.py here is a lightweight pre-comparison gate, not a replacement for test-research-code's repro_check.py or prepare-artifacts' badge work.

Guardrails

  • Consistency is not reproduction. A clean audit says the produced numbers match the paper within tolerance — it does not mean the result was independently reproduced or replicated. Never claim a badge is earned; that is a committee's call against the live CFA.
  • Never fabricate a number, a metric, or a "passing" run. If a run did not happen or a metric was not emitted, report it as unverified — do not infer it.
  • Don't trust the model's own read of correctness. The verification signal is external: a test exit code, a numeric diff against a file the author produced. Self-reflection validates hallucinations — do not use it as the gate.
  • Run nothing heavy or destructive. The author runs training/long evals in their own sandbox; this skill sets up and guides. No installs into the base env, no rm, no network side effects.
  • Anonymization-aware. Under double-blind, flag identifying content in the artifact and prefer an anonymized mirror; never expose the author's identity.
  • Never submit the paper or the artifact to any system on the author's behalf.

Memory

Uses the shared .paper-memory/ convention (full spec: paper-memory-convention.md).

  • At start: read .paper-memory/lessons.md (and profile.yml for the contribution type — a dataset/system paper is judged on the artifact more heavily). Lead with any recurring repro habits (e.g. "tables drift from the code between drafts", "unpinned dependencies").
  • At end: append each finding worth remembering as one dated entry in the shared format - [YYYY-MM-DD] (verify-results | <scope>) issue -> recommendation (use reflect-and-improve's reflect_log.py append, which dedupes and dates). Tag a cross-paper habit recurring, a one-off this-paper.
  • Create .paper-memory/ on demand and offer to add it to .gitignore. It is local-only; never upload it or copy it into this repo.

What ships with it: 6 files

48.5 KB alongside SKILL.md, 4 of them executable

scripts/

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.