adversarial-case-build…
Synthesize the single strongest EVIDENCE-BOUND reviewer case to reject a paper, built ONLY from the evidence ledger (claims.json)…
Checkable-ish surface presentation signals a reviewer notices first — duplicate/near-identical tables, leftover pipeline/template strings, too-few or LLM-looking figures, and page-padding. AUXILIARY ONLY and weak by design: a deterministic pass (tools/check_presentation.py —
$ npx -y skills add wanshuiyin/Anti-Autoresearch --skill presentation-signals --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/presentation-signalsContext preview
The summary Claude sees to decide when to auto-load this skill.
Checkable-ish surface presentation signals a reviewer notices first — duplicate/near-identical tables, leftover pipeline/template strings, too-few or LLM-looking figures, and page-padding. AUXILIARY ONLY and weak by design: a deterministic pass (tools/check_presentation.py —
name: presentation-signals description: "Checkable-ish surface presentation signals a reviewer notices first — duplicate/near-identical tables, leftover pipeline/template strings, too-few or LLM-looking figures, and page-padding. AUXILIARY ONLY and weak by design: a deterministic pass (tools/check_presentation.py — dup-table + pipeline-artifact) plus a fresh cross-model GROSS-cases-only semantic pass (thin-float, LLM-figure, page-padding), every above-info finding span-anchored to the evidence ledger (claims.json). The adjudicator CAPS everything at minor (SURFACE_ONLY_SKILLS + SURFACE_PATTERNS) — these contribute at most SOFT_FLAGS, never a HARD verdict — default false_positive_risk:high. NOTE: the pure AI writing-STYLE impressions (AI-flavor prose, defensive 'not-X-but-Y' hedging, narrative-arc, jargon-stuffing, invented codenames) MOVED to the zero-verdict-weight AIS track — for those use skills/ai-style-impressions, NOT this. Emits presentation-signals.findings.json; NEVER computes the verdict. Triggers: \"presentation signals\", \"surface check\", \"duplicate tables\", \"排版信号\"." argument-hint: [paper-dir | claims.json] allowed-tools: Bash(*), Read, Write, mcp__codex__codex
Run surface signal checks for: **$ARGUMENTS** (requires `claims.json` from `/evidence-ledger`). Emit span-anchored `presentation-signals.findings.json`. This skill computes **no verdict**.
> ⚠️ **This skill is deliberately weak by design.** A polished paper can be > fraudulent and a rough paper can be honest, so surface signals must **never** drive > a verdict. Everything here is emitted under skill `presentation-signals`, which the > adjudicator **caps at `minor`** (`SURFACE_ONLY_SKILLS` + `SURFACE_PATTERNS` in > `tools/adjudicate_findings.py`) — at most `SOFT_FLAGS`, **never** `HARD_FLAGS`. This > is **not an AI-text classifier**; for authorship detection use a dedicated tool > (Pangram / GPTZero / Binoculars). Our only job is to add *"combine with the > substantive findings and look closer"* context. See > `references/hack-pattern-taxonomy.md` §F.
> 🔒 **Do not wrap this skill in `/loop`, `/schedule`, or `CronCreate`.** It is > verdict-bearing input — it proposes the surface findings the deterministic > adjudicator turns into the report. Re-firing it on a wall-clock timer adds no > signal: its output changes only when the **paper / ledger** changes, not with the > clock. Schedule the *external wait that precedes it* — ledger built → check **once**. > (Mirrors ARIS's external-cadence doctrine.)
Real reviewers notice surface tells before they read a single number — and they say so out loud: *"两张表一模一样"* (two tables are identical), *"图还是大模型生成的"* (the figure is LLM-generated), *"就这还没写满9页"* (couldn't even fill 9 pages), *"堆砌名词吗"* (just stuffing jargon?), *"本文不是什么什么,而是什么什么…论文应该直接表达 做了什么"* (stop hedging "this paper is not X but rather Y" — just say what you did), *"摘要写的像实验分析,读不到引言"* (the abstract reads like an experiment log; the introduction is unreadable). An autoresearch pipeline (or a rushed human) produces exactly these artifacts: a table copy-pasted and never updated, an oversized float to pad the page limit, a decorative generated illustration in place of a real results plot, paragraphs of generic LLM boilerplate, draft text so densely over-hedged that every sentence defends against an objection, and an abstract that dumps experiment notes instead of telling a background → contribution → evidence story.
These signals are **real** in the sense that reviewers react to them — but they are **weak evidence of misconduct**. A concise honest paper has few floats; a careful honest author uses LLM assistance for prose; a legitimate teaser figure can look "generated". So this skill's contract is narrow and permanent:
`HP-DUP-TABLE` / `HP-PIPELINE-ARTIFACT` checks set their own — the latter is low-FP);
surface findings.
It exists to add *context* to the substantive auditors (`consistency-audit`, `experiment-forensics`, `baseline-comparison-audit`, `citation-forensics`), not to stand alone. If a surface tell sits next to a real numeric contradiction, the substantive finding carries the weight; the surface note just says "look closer."
**Ledger-anchored, span-verified, capped-at-minor, reviewer ≠ adjudicator, NOT a detector.** Two passes feed the pipeline:
1. a **deterministic** pass (no model) — the objective, reproducible surface signals computable without judgment: duplicate tables (`HP-DUP-TABLE`) and leftover pipeline/ template strings (`HP-PIPELINE-ARTIFACT`); 2. a **fresh cross-model GROSS-cases-only** semantic pass — the three judgment-call signals (`HP-THIN-FLOAT`, `HP-LLM-FIGURE`, `HP-PAGE-PADDING`), each span-anchored and tagged `false_positive_risk: high`.
Both emit findings conforming to `schemas/finding.schema.json`. **Every above-info finding cites a ledger `claim_id` + a verbatim span** (`references/integrity-forensics-contract.md` rules 1–2). Because the ledger holds only *checkable* claims (numbers, scope, captions, citations, table cells) and almost no free prose, a surface signal that cannot land on an extracted claim **stays `info`** — a note, never a flag. That is the design working: a free-prose surface impression that lands on no extracted claim structurally almost never becomes even a `minor` flag. The model **proposes**; `tools/adjudicate_findings.py` **decides** (`references/reviewer-independence.md` Layer 2). This skill computes **no verdict**.
| Auditor | Question it answer
Synthesize the single strongest EVIDENCE-BOUND reviewer case to reject a paper, built ONLY from the evidence ledger (claims.json)…
Transparent, itemized impressions of AI-generated WRITING STYLE — the repo's ONLY non-integrity track. Two passes: a…
Audit whether a paper's baseline comparisons are COMPLETE, FAIR, and SIGNIFICANT: a required recent SOTA baseline is missing…
Citation-integrity forensics: is every reference real, correctly attributed, and used in a context the cited work actually…
Flagship intra-paper self-consistency forensics: does the paper contradict ITSELF across abstract/intro/tables/body/appendix, and…
Audit whether a paper's EVALUATION DESIGN actually measures what it claims and whether its reporting is complete — the validity…