verifier
Independent verification of literature review quality — citation checks, claim tracing, coverage analysis
Best use case
verifier is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Independent verification of literature review quality — citation checks, claim tracing, coverage analysis
Teams using verifier should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/verifier/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How verifier Compares
| Feature / Agent | verifier | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Independent verification of literature review quality — citation checks, claim tracing, coverage analysis
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Verifier Skill
独立验证文献综述质量。只读检查,不修改任何文件。
> ⚠️ 执行验证前,完整阅读本文件。
## Runtime Router(必读)
识别当前 runtime,只读取对应 sibling,另一方休眠:
- `openclaw` → 本文件内原有指令块仍然有效(`web_fetch:` / `exec:` / `openclaw browser`)
- `claude-code` → **跳过本文件的指令块**,读 `./claude-code.md` 获取 Claude Code 原生工具调用方式
- `codex` / `cli` → **跳过本文件的指令块**,读 `./codex.md` 获取 Codex 原生工具调用方式
本节之后的章节描述 **共享知识**(源、字段契约、评分规则、故障处理)。指令块保持现状(OpenClaw 语法),Claude Code 读者请切换到 `./claude-code.md`,Codex/CLI 读者请切换到 `./codex.md`。
## 角色
Verifier 是流水线中唯一的质量关卡。它在 WRITING 完成后、DONE 之前运行。
它不写综述、不改引用、不做主观评价。它只输出 `verify.json`。
## 输入文件
验证前必须读取全部文件:
```
read: ~/research/[PROJECT]/review.md
read: ~/research/[PROJECT]/references.bib
read: ~/research/[PROJECT]/candidates.csv
read: ~/research/[PROJECT]/matrix.csv
exec: ls ~/research/[PROJECT]/notes/
```
然后逐个读取 `notes/` 下的笔记文件。
## 检查项
### 1. citation_existence(severity: error)
**规则**:review.md 中每个 `\cite{key}` 在 references.bib 中都有对应的 `@entry{key,`。
**方法**:
1. 正则提取 review.md 中所有 `\cite{key1, key2}` → 展平为 key 列表
2. 正则提取 references.bib 中所有 `@type{key,` → key 集合
3. 差集 = 缺失引用
### 2. citation_reality(severity: error)
**规则**:references.bib 中每条 entry 对应真实论文。
**方法**:
1. 将 bib entry 的 key 与 candidates.csv 的 paper_id 交叉比对
2. 对不在 candidates.csv 中的 entry,抽样 5 条通过 Semantic Scholar API 验证:
```
GET https://api.semanticscholar.org/graph/v1/paper/{paper_id}
```
3. 返回 404 或完全不匹配 → 标记为 phantom paper
### 3. claim_support(severity: warning / error)
**规则**:review.md 中包含 `\cite{key}` 的事实性语句,能在对应 notes/{id}.md 中找到支撑。
**方法**:
1. 提取 review.md 中含 citation 的句子
2. 对每个 citation key,查找对应 notes 文件
3. 检查 notes 中是否有与 claim 相关的内容(关键词匹配 + 语义相似度判断)
4. 找不到支撑 → warning
5. 如果 `notes/` 目录缺失、为空、或缺少对应 citekey 的 note → **error**
### 4. coverage(severity: warning)
**规则**:candidates.csv 中 relevance_score >= 4 的论文,应当在 review.md 中被提及。
**方法**:
1. 从 candidates.csv 筛选 relevance_score >= 4 的 paper_id
2. 从 review.md 提取所有被引用的 paper_id
3. 差集 = 未覆盖的高相关论文
### 5. taxonomy_consistency(severity: error)
**规则**:review.md Taxonomy 表格中的 Category 与 Detailed Analysis 的章节标题一致。
**方法**:
1. 解析 `## 2. Taxonomy` 下的 Markdown 表格 → 提取 Category 列
2. 解析 `## 3. Detailed Analysis` 下的 `### 3.x` 子标题
3. 两者必须一一对应(允许顺序不同)
### 6. bib_quality(severity: warning)
**规则**:每条 BibTeX entry 至少包含 title、author、year。
**方法**:
1. 解析每个 `@type{key, ... }` 块
2. 检查是否存在 `title = `, `author = `, `year = ` 字段
3. 缺失字段 → warning
## 输出格式
写入 `~/research/[PROJECT]/verify.json`:
```jsonc
{
"pass": false, // 所有 error 级检查通过 → true;任一 error 失败 → false
"run_id": "...",
"checked_at": "2026-04-01T15:10:00Z",
"summary": "2 errors, 1 warning",
"issues": [
{
"check": "citation_reality",
"severity": "error",
"citekey": "smith2024foo",
"reason": "not in candidates.csv"
},
{
"check": "citation_reality",
"severity": "error",
"citekey": "jones2023bar",
"reason": "Semantic Scholar returned 404"
},
{
"check": "bib_quality",
"severity": "warning",
"citekey": "metagpt2025",
"reason": "author field is N/A"
}
],
"checks": {
"citation_existence": {
"pass": true,
"severity": "error",
"details": "32/32 citations found in references.bib"
},
"citation_reality": {
"pass": false,
"severity": "error",
"details": "2 entries not found in candidates.csv",
"issues": [
{"citekey": "smith2024foo", "reason": "not in candidates.csv"},
{"citekey": "jones2023bar", "reason": "Semantic Scholar returned 404"}
]
},
"claim_support": {
"pass": true,
"severity": "warning",
"details": "28/30 claims have supporting notes"
},
"coverage": {
"pass": true,
"severity": "warning",
"details": "All relevance >= 4 papers mentioned"
},
"taxonomy_consistency": {
"pass": true,
"severity": "error",
"details": "4 categories match 4 section headers"
},
"bib_quality": {
"pass": true,
"severity": "warning",
"details": "32/32 entries have required fields"
}
}
}
```
## 判定规则
- `pass = true` 当且仅当所有 severity=error 的检查通过
- `issues` 是所有 `pass=false` 检查的 `issues` 列表做扁平合并后的结果
- 每条 issue 必须包含 `check`(来源检查名)和 `severity`
- 如果某个 `pass=false` 的检查没有细粒度 `issues`,也要生成一条 issue:
`{"check": "taxonomy_consistency", "severity": "error", "reason": "categories don't match section headers"}`
- `issues` 数组可以为空(当所有 checks pass 时),但字段必须存在
- warning 不阻塞流水线,但会被记录
- 如果 `pass = false`,状态机会将流水线回退到 WRITING 进行修复(最多 2 轮)
## 禁止事项
- 不修改 review.md 或 references.bib
- 不添加或删除引用
- 不改变分类体系
- 不做主观质量判断(如"写得不清楚")
- 不编造验证结果Related Skills
trendr-watchdog
运行时监督器。监控 run_status/progress/log 活跃度,发现卡住后自动向 owner session 注入断点续跑指令。
review-writer
将论文笔记和对比矩阵综合为结构化学术文献综述,含 BibTeX 引用
research-vault
将研究成果持久化到 Obsidian vault,维护论文池索引。支持每日研究日志、论文卡片、综述归档,以及跨项目论文去重和快速检索。
platform-hotspots
Collect and summarize Zhihu, Xiaohongshu, X, Reddit, YouTube, GitHub Trending, Hacker News, and Product Hunt hotspots with strict Chrome CDP routing and reproducible extraction commands.
paper-scout
9 源学术论文搜索与筛选(arXiv, Semantic Scholar, OpenAlex, PubMed, CrossRef, DBLP, Europe PMC, bioRxiv, Papers with Code),利用本机已安装工具,零额外依赖
paper-analyzer
从学术论文中提取结构化信息,生成标准化笔记和文献对比矩阵
chrome-cdp-setup
Chrome 146+ CDP remote debugging architecture — dual-instance setup, cookie sync, profile isolation, and troubleshooting "Allow remote debugging" popups.
swe-cli-skills
Senior engineer CLI expertise for AI agents — workflows, safety guardrails, gotchas, and anti-patterns across cloud, IaC, containers, databases, dev tools, and platforms
PicoClaw Fleet
Orchestrate a fleet of remote PicoClaw workers over SSH for fast, ephemeral one-shot tasks.
VibeCollab — Setup Instructions for AI Assistants
You are helping a user set up VibeCollab in their project.
raycast-extension-docs
Guidance for building, debugging, and publishing Raycast extensions using the Raycast documentation set. Use when Codex needs to create or modify Raycast extensions (React/TypeScript/Node), consult Raycast API reference or UI components, build AI extensions, handle manifest/lifecycle/preferences, troubleshoot issues, or prepare/publish extensions to the Raycast Store or Teams.
evomap
Connect to the EvoMap collaborative evolution marketplace. Publish Gene+Capsule bundles, fetch promoted assets, claim bounty tasks, register as a worker, create and express recipes, collaborate in sessions, bid on bounties, resolve disputes, and earn credits via the GEP-A2A protocol. Use when the user mentions EvoMap, evolution assets, A2A protocol, capsule publishing, agent marketplace, worker pool, recipe, organism, session collaboration, or service marketplace.