research-reviewer

research-reviewer is a skill for Claude Code from myfmarco-arch/ai-research-detective. It costs 40 tokens per session (1,733 once invoked), scanned A, original, MIT.

A skeptical reviewer for research reports that checks whether important conclusions are supported by evidence. It looks for weak sources, missing citations, overconfident claims, and evidence that points the other way.

In plain words
What is it for?
It is for adversarial fact-checking of completed research reports, focusing on their most important claims.
Why use it?
It helps expose flaws that ordinary editing may miss by actively trying to disprove a report's main conclusions.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: mentions subagents; names the AskUserQuestion tool.

Part of the ai-research-detective plugin — 3 skills shipped together

Good fit It is for adversarial fact-checking of completed research reports, focusing on their most important claims.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/myfmarco-arch/ai-research-detective/research-reviewer
Install

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.

Any agent
npx skills add myfmarco-arch/ai-research-detective --skill research-reviewer
Clone the repo
git clone --depth 1 https://github.com/myfmarco-arch/ai-research-detective

Made for: Claude Code.

Or install ai-research-detective, the plugin that ships this one along with the rest of its 3 skills.

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

agentmods badge for research-reviewer

README.md
[![agentmods](https://agentmods.dev/badge/skills/myfmarco-arch/ai-research-detective/research-reviewer/github.svg)](https://agentmods.dev/skills/myfmarco-arch/ai-research-detective/research-reviewer)
Your own site
<a href="https://agentmods.dev/skills/myfmarco-arch/ai-research-detective/research-reviewer"><img src="https://agentmods.dev/badge/skills/myfmarco-arch/ai-research-detective/research-reviewer/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.

agentmods 80×15 button for research-reviewer

Your own site · 80×15
<a href="https://agentmods.dev/skills/myfmarco-arch/ai-research-detective/research-reviewer"><img src="https://agentmods.dev/badge/skills/myfmarco-arch/ai-research-detective/research-reviewer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 40 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,733 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00040 $0.01733
Opus 5 $0.00020 $0.00866
Sonnet 5 $0.00008 $0.00347
Haiku 4.5 $0.00004 $0.00173

Measured 12d ago against content hash 931ecf595347, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

research-reviewer 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.

The scan reads SKILL.md. This mod also ships 2 executable files (scripts/lint_review.py, scripts/tests/run_tests.sh), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

skills/research-reviewer/SKILL.md · 76 lines

How it starts

The opening of the file, as written. The whole thing — 76 lines — stays where its author put it; the contents beside it link to each section on GitHub.

对抗性审查员

你是对抗性事实核查员。你的唯一职责是尝试推翻报告的核心结论

你不是在帮作者润色,你是在跟结论对抗。你的立场是"这个结论可能是错的",然后去找证据证明它错了。如果找不到,那这个结论就更可信了。

核心原则

  • 你是怀疑者,不是帮手
  • 你主动搜索反面证据,不只是读现有报告
  • 你只关注核心结论("推翻则报告失效"那几条),不做全面审查。一次审查每批 ≤ 3 条;超过则分批审,理由是对抗深度比覆盖广度重要(详见步骤 2、效率规则)
  • 核心结论筛选默认走 multi-agent 采样取交集(3 个独立 subagent → 取交集)以对抗 H1 随机性,token 3×;用户说「快速审」可降级到单 LLM(详见步骤 2)
  • 你只指出问题,不给修改建议
  • 你的思考方式应该跟 research-detective 相反:detective 是"这个结论有什么证据支持",你是"这个结论有什么证据反对"。如果你发现自己在认同报告的结论,停下来,强迫自己想"如果这个结论是错的,最可能的原因是什么"

绝对不做:建议怎么改、提供替代方案、重写内容、说"可以考虑..."

直接调用参数与执行方式

如果用户用 /research-reviewer $report_path 调用,先把 $report_path 当作候选待审报告。必须验证文件存在;不存在或未提供时,从 CONTEXT.md 速读卡的产出位置和 outputs/ 中寻找候选,仍不确定就问用户。

本 skill 整体保持 inline 执行,不要把整个 reviewer 设置为 context: fork:主会话负责定位输入、调度多轮独立 subagent、合并取交集和输出审查结论。只在步骤 2 的核心结论提取、必要的反证复核中使用独立 subagent。

工作流程

步骤 1:定位输入(环境门禁,不可跳过)

这是硬门禁,不是建议。 reviewer 审查的是已完成的报告,因此它的门禁与 archivist/detective 相反:不 cold-start、不补 CONTEXT、不替用户造研究语境。缺料就停下来问,绝不凭空开审——没有靶子的审查是空审查。

检测当前目录,定位需要审查的材料:

  • CONTEXT.md速读卡(产出位置 / 底线)、我的身份、研究问题 —— 决定去哪里找报告、按什么红线审、用什么专业视角对抗
  • README.md入库范围、边界与已知局限 —— 决定证据可追溯的边界
  • 报告文件:默认在 outputs/,但以 CONTEXT 速读卡声明的"产出位置"为准
  • wiki/ 目录(如果存在,用于搜索反面证据)
  • data/ 目录(原始资料,用于回溯验证)

CONTEXT 完整性检查(机器先查,红线阻断):跑 python3 ${CLAUDE_SKILL_DIR}/../../shared/scripts/lint_context.py CONTEXT.md——红线非 0(必填字段空 / 核心问题 < 20 字 / 占位符残留)→ 停下来反馈用户;CONTEXT 不达标会让审查失去靶子,审查也是空的。

门禁通过判定:只有 ⓐ 找到 CONTEXT.md 且 lint 红线为 0、ⓑ 找到待审报告文件 两项都满足才能进入步骤 2。

只有报告、没有 CONTEXT 的轻量分支:如果用户只提供报告文件、没有项目 CONTEXT,不要运行 cold_start,也不要凭空补研究语境。先询问是否进行“报告内证据一致性快速审查”。用户确认后可以继续,但必须在 review.md 开头标注局限:本次只能检查报告内部 unsupported claims、过度推断、引用不支撑、结论强度与证据不匹配;无法验证原始资料、样本边界或报告外反证。若用户要完整对抗审查,则要求补充 CONTEXT + 原始资料或 wiki。

找不到报告文件 → 停下来问用户要审查哪份报告。找到 CONTEXT 但不达标 → 反馈用户补齐,不要自己 cold_start。

步骤 2:核心结论提取路由

加载 workflows/claim_extraction.md,按“推翻则报告失效”的标准筛选本批核心结论。默认使用 3 个独立 subagent 采样取交集;用户明确说「快速审」「不要 multi-agent」「省 token」时才降级单 LLM。

步骤 3:对抗性审查路由

加载 workflows/adversarial_review.md,对每条核心结论主动搜索反面证据,完成证据强度复核,并判定 confirmed / weakened / challenged。搜索过程必须在 review.md 留足迹。

Read the full file on GitHub · 76 lines

Files

What ships with it

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

Changes

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.

  1. 12d ago First seen · 76 lines · 40 tokens per session scan A 931ecf595347

Subscribe to this mod's changes

research-reviewer is a skill published in the GitHub repository myfmarco-arch/ai-research-detective (2 stars, last pushed 2mo ago), licensed MIT. It adds 40 tokens to every session and 1,733 once invoked, about $0.0002 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-31.

Related

Other skills, from other repositories

provider-integration

Adds new AI providers to claude-council, configures provider API settings, troubleshoots provider connections, and documents the provider script interface. Covers creating provider shell scripts, setting API keys, and validating connectivity. Triggers on "add provider", "new AI agent", "provider not working", "API…

hex/claude-council · 74 tokens

update-lid

Configure or reconcile a project for linked-intent development (LID). Dispatches on project state — fresh bootstrap, append directives to an existing agent-instructions file (AGENTS.md or CLAUDE.md), add missing mode marker, reconcile convention drift, or run mode transitions. Invoked as /update-lid. For fresh…

jszmajda/lid · 105 tokens

recursive-decomposition

Decompose dense codebase-wide, multi-document, PDF, and aggregation work even when the input fits the context window, following Recursive Language Models (Zhang, Kraska, Khattab, 2025). Use when the user asks to analyse all files, a whole repo, all docs, large PDFs, or to aggregate or multi-hop across scattered…

massimodeluisa/recursive-decomposition-skill · 144 tokens

arrow-maintenance

Navigation and audit overlay for linked-intent development. Use when working with docs/arrows/ — orienting via index.yaml, auditing spec-to-code coherence, detecting reverse orphans and drift, splitting/merging/renaming/re-parenting segments. Dual-mode: ambient guidance when the overlay is present…

jszmajda/lid · 85 tokens

map-codebase

Bootstrap LID in an existing (brownfield) codebase. Deep-reads every file in the declared scope, offers lens-based clustering options, generates skeleton LLDs/HLD/EARS bottom-up, then creates arrow docs and prompts the user to flesh out the skeletons. Token-intensive by design. Use when asked to map a codebase…

jszmajda/lid · 92 tokens

design

Create a doc-as-code design package from a PRD or SPEC. Conditionally generates C4 diagrams (Context/Container/Component), sequence diagrams, ER diagram + Data Dictionary, OpenAPI 3.0, AsyncAPI 3.0, ADRs, domain glossary, state diagrams, and deployment view as Mermaid-rendered Markdown files. Use when PM mentions…

cryndoc/polisade-orchestrator · 162 tokens