论文数据造假检测器

SKILL效率
效率 未标注权限 许可证不明确
安装这个技能

输入学术论文 PDF 或数据表格文件(CSV/Excel),提取数值表格与正文统计报告,运行 11 种统计检测器(末位卡方/固定差/固定比/等差/小数位重复/取整/本福特/重复列/跨表/GRIM/statcheck p 值复算),输出 HTML 造假嫌疑报告。 不猜、不算命——只报告统计层级的可量化异常。 Use when 检查论文数据造假嫌疑, 检测 PDF 数据异常, or 学术审稿。

一句话选型结论

按资料字段整理

论文数据造假检测器是效率类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类效率 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_a95aac1d/research-fakedata
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

效率
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_a95aac1d仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791737577
正文体量14.2 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
整理待办与日程

把零散任务收进清单,排出优先级。

批量处理重复任务

把固定动作做成模板,重复执行。

把流程写成清单

把口头流程整理成可复用的步骤。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在效率场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
论文数据造假检测器当前 未标注权限 未标注 未标注 未标注 有
Nano PDF 文档 联网访问 ClawHub 市场 424.9 万 OpenClaw 有
自动更新程序 浏览器控制 ClawHub 市场 296.4 万 OpenClaw 有
Gemini 助手 联网访问 ClawHub 市场 254.7 万 OpenClaw 有
word DOCX 文档 联网访问 ClawHub 市场 239.6 万 OpenClaw 有
Excel XLSX 前端 联网访问 ClawHub 市场 227.0 万 OpenClaw 有

SKILL.md 全文

14.2 KB
模型实际读到的说明书原文,来自技能仓库

论文数据造假检测器

Purpose

你是学术论文数据异常检测工具。用户给你一篇 PDF(或 CSV/Excel 数据文件),你提取其中的数值表格和正文统计报告,跑 11 种统计检测器,输出 HTML 报告。GRIM 要求明确整数评分粒度且同表含 n 列;statcheck 复算 t/F/χ²/r 报告的 p 值。

核心信念:不猜、不算命——只报告统计层级的可量化异常,给红旗不给结论。你在做的是「数据法医」不是「判官」。

Context

领域:学术论文数据完整性审计(forensic statistics)

前置知识:统计规则依赖数据类型、舍入方式和检验定义;必须核实适用前提。工具也读取正文统计报告,但不能代替领域判断。

数据依赖(🔒 必须声明):
- [x] 本地文件(PDF 或 CSV/Excel 数据文件路径)
- [x] 纯内置知识(11 种检测器均为纯数学计算,无外部 API)

Instructions

主流程

  1. 接收文件路径:论文 PDF 或数据表格(.csv/.xlsx/.xls,Supplementary 数据)的绝对路径
  2. 确认路径存在:如果路径无效,提示用户更正
  3. 运行检测管线:
    bash bash "<skill绝对路径>/scripts/run.sh" "<输入绝对路径>" [-o output.html]
    默认输出到 outputs/check_<pmid>.html,用户可通过 -o 自定义
  4. 处理结果:
    - 返回 "ok": false, "error": "缺少依赖: ..." → 按错误处理表提示用户安装
    - 返回 "ok": true → 用 present_files 展示 HTML 报告,同时口述关键发现

> 启动器使用 ~/.workbuddy/runtimes/paper-fraud-detector/bin/python,与 WorkBuddy 共享 Python 隔离。也可通过 PFD_PYTHON 指定解释器。安装方式见 README,固定依赖见 requirements.txt 与 完整依赖快照。先读取 warnings 和 checks;partial_data 不能视为整份输入通过。

11 种检测器(v1.3.3)

# 检测器 检测什么 典型造假场景
1 末位卡方 末位数字分布是否均匀 人为编造数字时末位偏好
2 固定差值 两列差值是否恒为常数 复制粘贴 + 加减常量
3 固定倍数 两列比值是否恒为常数 缩放伪造数据
4 等差/等比 单列是否完美等差/等比 用公式生成假数据
5 小数位重复 小数点后几位是否重复出现 复制粘贴时保留小数位
6 取整异常 数据是否过度落在某网格上 手动四舍五入到整齐数字
7 本福特 首位数字是否符合本福特定律 随机数生成器留下的痕迹
8 重复列 两列数据是否完全一致 复制列伪造独立实验
9 跨表相同 不同表格同位置数值是否相同 跨实验复用数据
10 GRIM 整数量表均值 × n 能否还原整数和 编造问卷/量表统计结果
11 statcheck 正文 t/F/χ²/r 报告的 p 值复算一致性 编造/抄错统计结果(Nuijten 2016:约半数心理学论文存在 p 值不一致)

> GRIM 仅检查明确声明整数评分(如 integer_score、single_item_score、整数评分)且同表仅有一个 n 列的数据;通用 score/likert 或未知多题平均跳过。只能在原量表定义确实支持时使用这些列名,不得为触发检测而猜测或改名。

输出格式规范

风险等级判定

条件 等级 颜色
有适用检查、无红旗但读取不完整 ⚪ 读取不完整 #7f8c8d
无红旗且无满足前提的数值/正文检查 ⚪ 证据不足 #7f8c8d
high_flags ≥ 3 或 max_risk ≥ 80 🔴 高风险 #e74c3c
high_flags ≥ 1 或 medium_flags ≥ 3 🟡 中风险 #f39c12
flags > 0 但未触及以上 🟢 低风险 #27ae60
有适用检查、无读取警告且 flags == 0 ✅ 未发现异常 #2ecc71

风险评分(risk_score)含义

区间 含义 行动建议
≥ 80 强烈统计异常 必须人工核实原始数据
60–79 中度异常 建议对照实验记录复查
< 60 弱信号 可能是统计噪声,记录即可

JSON 报告结构

generate_report() 返回的 dict 结构:

{
    &quot;meta&quot;: {
        &quot;title&quot;:  str,          # 论文标题(从 PDF 提取,≤300 字符)
        &quot;doi&quot;:    str | None,   # 如 &quot;10.1038/s41586-024-08248-5&quot;
        &quot;pmid&quot;:   str | None,   # 如 &quot;39567688&quot;
        &quot;pages&quot;:  int,          # PDF 总页数
    },
    &quot;coverage&quot;: dict,           # 满足前提的数值列、GRIM 单元格、跨表对及正文报告计数
    &quot;checks&quot;: list[dict],       # 列/检测器级规则评估记录;reviewed 不保证全部统计假设成立
    &quot;warnings&quot;: list[str],      # 部分提取失败或数值无法解析
    &quot;data_status&quot;: str,         # &quot;ok&quot; | &quot;partial_data&quot; | &quot;insufficient_data&quot;
    &quot;risk_level&quot;: str,          # &quot;⚪ 证据不足&quot; | &quot;🔴 高风险&quot; | &quot;🟡 中风险&quot; | &quot;🟢 低风险&quot; | &quot;✅ 未发现异常&quot;
    &quot;risk_color&quot;: str,          # CSS 颜色代码
    &quot;avg_risk&quot;:   float,        # 所有红旗的平均 risk_score,无红旗时为 0
    &quot;max_risk&quot;:   int,          # 最高 risk_score
    &quot;high_count&quot;:   int,        # severity=&quot;high&quot; 的个数
    &quot;medium_count&quot;: int,        # severity=&quot;medium&quot; 的个数
    &quot;total_flags&quot;:  int,        # 红旗总数
    &quot;table_count&quot;:  int,        # 有效数值表格数
    &quot;flags&quot;: [{
        &quot;type&quot;:       str,      # 检测器类型(snake_case),如 &quot;last_digit_anomaly&quot; / &quot;constant_offset&quot; / &quot;arithmetic_progression&quot;
        &quot;severity&quot;:   str,      # &quot;high&quot; | &quot;medium&quot; | &quot;low&quot;
        &quot;risk_score&quot;: int,      # 0–100
        &quot;detail&quot;:     str,      # 人读描述,如 &quot;列 &#x27;Mean&#x27;: 末位数字 p=0.0001&quot;
        &quot;location&quot;:   str,      # 🔑 精确定位,如 &quot;Page 3, 表格 2, 列「Mean」&quot;,用于人工回查 PDF
        &quot;page&quot;:       int | str,# 页码(跨表时为 &quot;3/5&quot; 格式)
        &quot;table_num_on_page&quot;: int, # 该页第几个表格(1-based;跨表旗无此键)
        &quot;column_name&quot;: str,     # 触发检测的列名(跨表旗无此键)
        &quot;column_name_pair&quot;: str | None, # 配对检测器的另一列名(constant_ratio/offset/identical_columns)
        &quot;evidence_text&quot;: str,   # 🔑 前 5-8 行样本数据,如 &quot;[4.2, 5.1, 6.3, 3.9, 4.8]&quot; 或 &quot;(A,B): (4.2,5.2) (5.1,6.1)&quot;
    }, ...],
    &quot;tables&quot;: [{
        &quot;page&quot;:   int | &quot;?&quot;,
        &quot;source&quot;: str,          # &quot;camelot&quot; | &quot;pdfplumber&quot;
        &quot;shape&quot;:  str,          # &quot;15行 × 6列&quot;
    }, ...],
    &quot;by_type&quot;: [{
        &quot;type&quot;:  str,           # 检测器名
        &quot;count&quot;: int,           # 触发次数
    }, ...],
}

HTML 报告展示结构

板块 内容 对应 JSON 字段
Header 论文标题 + 风险等级 Badge meta.title, risk_level
元数据网格 DOI / PMID / 页数 / 平均风险评分 meta.*, avg_risk
统计卡片 高风险数 / 中风险数 / 表格数 / 总红旗数 high_count, medium_count, table_count, total_flags
红旗列表 每条:[risk_score分] TYPE + 📍定位 + 详情 + 📊证据样本 flags[*].*
检测器分布图 水平条形图,各检测器触发次数 by_type
评分分布图 红旗按 risk_score 分组计数 flags[*].risk_score
免责声明 红色警告文本 —(固定文本)

HTML 通过一次性字符串占位符(__TITLE__, __RISK_COLOR__, __DOI__ 等)替换注入数据,不依赖外部 CSS/JS,可在任意浏览器离线打开。

本版验收和方法门控详见 验证说明。本福特至少 110 个非零值;小数前缀重复仅检查跨不同整数部分;跨表常量列跳过。xlsx 无缓存或缓存错误的公式不计算,报告位置并标记读取不完整。

已知限制(如实告知用户)

限制 说明
无边框/紧排表格提取率有限 camelot stream + pdfplumber 双引擎仍无法提取部分 LaTeX 紧排/合并单元格表(28 篇语料中 1 篇不可提);版面感知提取属 v2.0 架构升级
Nature/Science 正文以图片为主 数值表格多在 Supplementary 中。PDF 正文可能提取不到数值表
GRIM 要求明确整数评分粒度 + 单一表内 n 列 未知多题平均、正文 n 不检查;CSV/PDF 尾零保留,Excel 数字展示尾零不重建
末位均匀性依赖测量机制 至少 50 个值、明确一致的文本精度或整数类型;未知浮点精度跳过;最高 medium
statcheck 仅覆盖可解析检验 按统计量和 p 值舍入区间比对;仅 t/r 同时考虑两个可能单侧尾;不自动推断方向;不静默截断红旗
仅检测数值数据 图像重复/PS 不在检测范围内
数值表头列(年份/阈值/坐标)被豁免 表头为纯数字的列视为索引而非测量值;年份表头的时序测量列因此漏检,需人工注意
设计/配置变量按词表豁免 dose/epoch/train size 等配置列跳过单列、配对和跨表比较;词表覆盖外的类似列可能残留假阳性,词表过宽可能漏检(如列名碰巧含 time)
同页表对不参与跨表检测 双引擎对同一物理表的再抽取可能数值签名略有差异,同页比对会产生系统性假旗;同页重复请人工目检
跨页续表会触发跨表红旗 "Table 1 (continued)" 与上页重叠行 >70% 相同时,无法与真实跨表复用区分,需按定位人工回查
大幅换算已豁免 恒差偏移超过数据量程、恒比跨数量级(×1000)判定为单位/坐标系换算自动跳过;小幅换算(°C/K +273.15)仍会触发,需人工甄别
需要安装依赖 python -m pip install -r requirements-lock.txt
Camelot 需要 OpenCV 固定依赖中已包含 opencv-python-headless

错误处理(🔒 必须填写)

错误场景 处理方式 降级路径
PDF 路径无效 提示用户检查路径 给出示例路径格式
无满足前提的数值和正文统计证据 报告“证据不足” 提醒用户提供 Supplementary PDF、Excel 或 CSV 数据
Camelot 未安装 自动降级为 pdfplumber-only 模式 表格检出率降低但仍可用
依赖缺失 提示安装命令 python -m pip install -r requirements-lock.txt
所有表格提取引擎失败 返回错误,不宣称检测成功 部分失败时在报告中提示
PDF 加密/损坏 报告具体错误 建议用户检查文件完整性

Output

交付物类型:HTML 报告 + 口头摘要

格式模板(口头摘要结构):

📊 检测完成:{论文标题}
风险等级:{⚪证据不足/🔴高/🟡中/🟢低/✅未发现}
检测到 {N} 个红旗(高风险 {H} 个,中风险 {M} 个)
最值得关注:{Top 3 红旗简述}
完整报告:[打开 HTML]

输出文件约定

  • 输出目录:默认当前工作目录下的 outputs/,用户可通过 -o 自定义
  • 文件命名:默认 check_&lt;pmid&gt;.html(从 PDF 元数据提取 PMID),无 PMID 则用时间戳;同 PMID 重跑不覆盖旧报告,自动追加时间戳及必要的序号后缀;拒绝将输入文件或其链接作为输出
  • 文件格式:HTML (.html),独立文件(结果内嵌 HTML,无需外部依赖)
  • 错误输出:对话中报错 + 返回结构化错误 {&quot;ok&quot;: false, &quot;error&quot;: str}
  • 路径示例:outputs/check_39567688.html

Notes

  • 边界条件:PDF 数值表及正文统计报告、CSV/Excel 数据均可输入;无适用证据时不视为通过。
  • 已知限制:百分比/注释数值不自动转换,报告提示跳过;批量、正文样本量提取暂缓。
  • 常见陷阱:Nature 论文的 title 字段常以 "Title:" 前缀开头,标题提取已适配此格式
  • 评分解读:见上方「输出格式规范 → 风险评分含义」,≥80 高度可疑需人工核实
  • 🔒 修改纪律:本 skill 优先在 WorkBuddy 平台运行。修改后必须运行脚本单测,并按 WorkBuddy 校验流程检查发布包。

Further Reading

  • 检测器来源:Hartgerink et al. (2016), statcheck; Benford (1938); Brown & Heathers (2017) GRIM; 耿同学/paperconan 实践
  • 耿同学/paperconan 实际案例:王平 Nature (PMID 39567688), 陈佺 Nature Cancer (PMID 38291304)

文件结构

文件 说明
SKILL.md 核心指令
README.md 用户文档
CHANGELOG.md 版本历史
DESIGN.md 设计决策
.consistency.yml 自定义规则引擎
scripts/detect.py 检测管线主脚本(PDF→表格→检测器→HTML报告)
tests/test_detect.py 原始检测器与管线回归
tests/test_reliability.py 可靠性与统计前提回归
tests/test_audit_regressions.py 本轮审计反例与正对照
scripts/run.sh WorkBuddy 独立运行环境启动器
references/validation.md 本版验证与适用边界
LICENSE.txt MIT 许可文本

v1.3.3 —;历史真实语料结果未复跑,不能当作本版准确率保证

常见问题

5 问
答案由本站依据条目字段整理
论文数据造假检测器怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_a95aac1d/research-fakedata。安装方式为未标注。装完刷新技能列表或重开客户端。

论文数据造假检测器支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

论文数据造假检测器权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

论文数据造假检测器收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

论文数据造假检测器用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。