Skip to content
Research
Skill

/presentation-signals

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 —

BOOST
From plugin
anti-autoresearch
16611 skills
Install
$ npx -y skills add wanshuiyin/Anti-Autoresearch --skill presentation-signals --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/presentation-signals

Context 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 —

SKILL.md

presentation-signals.SKILL.md
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

Presentation Signals — the surface tells (auxiliary, never a verdict)

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.)

Why this exists

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:

  • it emits only the five §F surface patterns, all **labelled surface-class**;
  • it defaults every *semantic* finding to `false_positive_risk: high` (the deterministic

`HP-DUP-TABLE` / `HP-PIPELINE-ARTIFACT` checks set their own — the latter is low-FP);

  • it **never** says a paper is "AI-generated" or implies fabrication;
  • **silence is the common, correct output** — most papers should produce few or zero

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."

Core principle

**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**.

How this differs from the other auditors (route correctly)

| Auditor | Question it answer

Read more
Ships withanti-autoresearch

· · · · · · · ·

Get the whole plugin

Other skills on anti-autoresearch.