Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add kennethkhoocy/applied-micro-skills --skill adversarial-empirical-reviewgit clone --depth 1 https://github.com/kennethkhoocy/applied-micro-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/kennethkhoocy/applied-micro-skills/adversarial-empirical-review)<a href="https://agentmods.dev/skills/kennethkhoocy/applied-micro-skills/adversarial-empirical-review"><img src="https://agentmods.dev/badge/skills/kennethkhoocy/applied-micro-skills/adversarial-empirical-review/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/kennethkhoocy/applied-micro-skills/adversarial-empirical-review"><img src="https://agentmods.dev/badge/skills/kennethkhoocy/applied-micro-skills/adversarial-empirical-review.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00208 | $0.02794 |
| Opus 5 | $0.00104 | $0.01397 |
| Sonnet 5 | $0.00042 | $0.00559 |
| Haiku 4.5 | $0.00021 | $0.00279 |
Grade A, and why
adversarial-empirical-review scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 173 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Adversarial Empirical Review
Runs a regression-gated, N-round adversarial loop over a project's empirical output. The
design is in docs/2026-06-08-adversarial-empirical-review-design.md (v2) and the module API
in docs/CONTRACTS.md. Read the design before operating the skill.
The costly error here is corrupting a result that was already correct, so the whole pipeline is incumbent-preserving: a hard failure-set regression gate, "no clear difference keeps the incumbent" for residuals, and minimization of LLM judgment in favour of mechanical checks.
The crux is whether the tables are correct. Auditing an empirical manuscript means verifying
that the numbers in its tables are what the analysis code actually computes — that each
coefficient, standard error, p-value, N, and R² reproduces from the data and the code and is
internally consistent. This is an empirical + code review: the battery, the reviewer, and the
drafter are all scoped to table-number correctness, the manuscript is consulted only as the
spine that maps paper Table numbers to fragment files, and prose is not examined (the
prose-scanning catalog checks default to off; research-design and interpretation critique are out
of scope, with the consequential-category machinery retained as a fail-safe). The mechanical anchor for this is
builtin.table_source_agreement (every estout-fragment cell is audited against a numbers.json of
computed values) together with the reproduction tier and the coef/SE/t, star/p, bounds, and
sample-size checks. The crux is fail-closed: a manuscript table with no numbers.json spec is a
FAIL and a missing artifact a CHECK_ERROR, and the driver will not converge unless every
required_checks entry (default the crux) is present and passing — otherwise it stops with
crux_unverified. A manuscript whose tables are hand-transcribed estout fragments decoupled from
the regressions (the common case) is reviewed by recomputing the regressions and diffing the cells
— supply a numbers.json of computed values so the audit is mechanical rather than left to the
reviewer's eye.
Generation-based certification (the path past the parse-and-compare ceiling). Parse-and-compare
has a structural limit: a second numeric token inside one cell, a number in a spanning descriptor
row, or content behind an exotic macro is invisible to any LaTeX parser. The durable fix is to
GENERATE the fragments from the computed source so displayed == computed by construction:
scripts/tablegen.py renders estout-style fragments deterministically from layouts entries in
the same numbers.json (the project's pipeline calls python tablegen.py --numbers ... --tables-dir ... after the analysis writes the artifact), and builtin.fragment_regeneration
certifies each laid-out table by re-rendering it and comparing byte-for-byte with the on-disk
fragment — any drift at all is a FAIL, so the parser gaps disappear for generated tables. The
parse-and-compare crux keeps running on the same artifact as defense in depth. Mixed mode is
supported (generated and hand-written tables side by side; the PASS message names the uncovered
tables); require_all: true under battery.builtin["builtin.fragment_regeneration"] demands a
layout for every manuscript table, and projects that adopt generation should add the check to
required_checks so an unevaluated state blocks convergence exactly like the crux. Keys under
tables starting with _ are auxiliary value rows (placeholder sources for composite cells),
exempt from the crux's missing-row rule.
From-raw mode (snapshot_from_raw: true). The strongest re-execution tier: the driver copies
the project, deletes every committed intermediate (snapshot-partition files, output-partition
files, protected_paths caches, the numbers artifact — directory globs expanded, deletions
confined to the copy), runs the full raw inputs → cleaning → analysis → tables pipeline
(rebuild.from_raw_command, or rebuild.from_raw_argv as an exact argv list — preferred on
Windows) twice, and certifies three checks: builtin.raw_table_identity (the regenerated LaTeX
table files are IDENTICAL to the committed ones, modulo line endings/trailing whitespace),
builtin.raw_numbers_agreement (numbers artifact within tolerance), and builtin.raw_determinism
(the two runs agree). Activation is fail-closed: partitions.raw plus a from-raw command are
required, the raw partition is read-only and provenance-hashed like the snapshot, the identity
check is auto-added to required_checks so the run cannot converge while the from-raw chain is
unverified, and driver init halts if any project file matches no partition glob (an unclassified
file is a purge-coverage hole). The driver runs all of this inline — no orchestrator action is
needed beyond stepping — but expect long battery phases: the full pipeline executes twice per
re-execution, bounded by rebuild.from_raw_timeout (default 7200 s per run).
What ships with it
60 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- docs/2026-06-08-adversarial-empirical-review-design.md 31 KB
- docs/codex_audit.md 14 KB
- docs/codex_fixture.md 439 B
- docs/codex_reaudit.md 13 KB
- docs/codex_review.md 8.3 KB
- docs/CONTRACTS.md 12 KB
- docs/diagrams/blind-adjudication.excalidraw 43 KB
- docs/diagrams/dispatch-model.excalidraw 41 KB
- docs/diagrams/pipeline-overview.excalidraw 31 KB
- docs/diagrams/table-audit-chain.excalidraw 44 KB
- prompts/classifier.md 3.6 KB
- prompts/drafter.md 5.9 KB
- prompts/judge.md 4.3 KB
- prompts/reviewer.md 11 KB
- README.md 45 KB
- schemas/audit.json 6.2 KB
- schemas/check_result.json 4.3 KB
- schemas/classification.json 2.4 KB
- schemas/critique.json 7.5 KB
- schemas/open_issue.json 4.7 KB
- schemas/verdict.json 5.5 KB
- scripts/audit.py 22 KB runs code
- scripts/battery.py 12 KB runs code
- scripts/blinding.py 14 KB runs code
- scripts/checks_builtin/__init__.py 3.9 KB runs code
- scripts/checks_builtin/bounds.py 16 KB runs code
- scripts/checks_builtin/consistency.py 77 KB runs code
- scripts/checks_builtin/generation.py 13 KB runs code
- scripts/checks_builtin/reproduction.py 5.0 KB runs code
- scripts/classify.py 6.3 KB runs code
- scripts/config.py 25 KB runs code
- scripts/contracts.py 17 KB runs code
- scripts/cost.py 13 KB runs code
- scripts/dispatch.py 12 KB runs code
- scripts/driver.py 42 KB runs code
- scripts/fingerprint.py 3.2 KB runs code
- scripts/ledger.py 6.0 KB runs code
- scripts/reexec.py 50 KB runs code
- scripts/regression.py 5.6 KB runs code
- scripts/serde.py 3.8 KB runs code
- scripts/tablegen.py 24 KB runs code
- scripts/workspace.py 36 KB runs code
- tests/fixture/aer.config.json 1.9 KB
- tests/fixture/project/checks/broken_check.py 449 B runs code
- tests/fixture/project/code/make_tables.py 2.8 KB runs code
- tests/fixture/project/data/snapshot.csv 51 B
- tests/fixture/project/paper/main.tex 733 B
- tests/fixture/project/paper/numbers.json 152 B
- tests/fixture/project/paper/tables/t1.tex 192 B
- tests/test_acceptance.py 5.9 KB runs code
- tests/test_audit.py 13 KB runs code
- tests/test_battery.py 13 KB runs code
- tests/test_blinding.py 14 KB runs code
- tests/test_checks_builtin.py 26 KB runs code
- tests/test_config.py 14 KB runs code
- tests/test_driver_draft_skip.py 1.8 KB runs code
- tests/test_fragment_regeneration.py 15 KB runs code
- tests/test_reexec_raw.py 22 KB runs code
- tests/test_reexec.py 10 KB runs code
- tests/test_regression.py 6.3 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 173 lines · 208 tokens per session scan A 4001ae07fd59
adversarial-empirical-review is a skill published in the GitHub repository kennethkhoocy/applied-micro-skills (27 stars, last pushed 7d ago), licensed MIT. It adds 208 tokens to every session and 2,794 once invoked, about $0.0010 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
ieee-experiments
Design and audit IEEE communications simulation and numerical-results sections for JSAC, TWC, TCOM, WCL, and CL. Covers benchmark schemes, Monte-Carlo protocol, BER/SER/outage/rate/EE metrics, SNR/antenna/user sweeps, analysis-vs-simulation validation, convergence and complexity, learning-based evaluation, ISAC…
playwright-cli
Automates browser interactions for testing and validating your own web applications using playwright-cli. Use when you need terminal-first browser control for navigation, form filling, screenshots, tracing, bound browser sessions, debugging, or generating Playwright test code. Only use against applications you own or…
bim-validation-report
Generate comprehensive BIM model validation reports. Check data quality, completeness, and compliance with standards.
auto-test-code
A structured process for critically reviewing and testing software code. It records review findings, test plans, commands, results, and supporting files in a project workspace.
auto-test-skill
A structured process for critically testing and improving a coding skill. It records test plans, findings, fixes, and quality checks in files that can be reviewed later.
tdd-workflow
A test-first development workflow, commonly called TDD, where a failing test is written before the code that should make it pass. The cycle then adds the smallest working change and cleans it up.