一键导入
epi-project-audit
六层审查流行病学与生物统计项目的数据链、代码、结果、表图、正文和交付一致性,并以证据判定是否可签发。用于项目质控、结果复核、审稿前自查或全面一致性检查;只审查时不修改文件。上游为 biostat-principles,含咨询包时同时核对 consulting-delivery。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
六层审查流行病学与生物统计项目的数据链、代码、结果、表图、正文和交付一致性,并以证据判定是否可签发。用于项目质控、结果复核、审稿前自查或全面一致性检查;只审查时不修改文件。上游为 biostat-principles,含咨询包时同时核对 consulting-delivery。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
初始化标准卫生统计研究或咨询项目,默认生成 R 七层目录,也可按用户明确选择生成 Python 目录,并创建 PROTOCOL、SAP、结果单源、registry 与可选 Git 配置。仅在用户明确要求创建项目或把空工作区建成正式项目时使用;简单作业、快速核验和已有项目分析不触发。上游为 biostat-principles;咨询项目完成分析后再用 consulting-delivery。
Python 流行病学与生物统计分析的可选执行层,仅用于用户明确要求 Python,或既有项目已经以 Python 为主流程时的数据清洗、描述统计、回归、生存分析、预测验证、统计表图、代码调试和结果复现。开工先遵循 biostat-principles;统计图配合 publication-figures,客户外发再用 consulting-delivery。未指定语言的普通统计分析、R 环境或依赖缺失、研究设计定稿、论文写作或仅操作 xlsx 文件不触发。
R 流行病学与生物统计的主要执行层,用于 R 数据清洗、描述统计、回归、生存、中介、Meta 分析、统计表图和代码调试;用户未指定语言且无既有语言合同时也使用。开工先遵循 biostat-principles;统计图配合 publication-figures,客户外发再用 consulting-delivery。不用于已明确采用 Python 的分析、研究设计定稿或论文写作。
基于已验证的代码、结果单源和表图生成或结构性重写中英文期刊论文、学位论文部件、摘要、题名、cover letter、审稿回复、highlights 和投稿正式往来,并做投稿前一致性自查。开工先用 biostat-principles,终审用 academic-humanizer;实际 Word 操作再配合 docx。已有文本的局部润色或压缩只用 academic-humanizer。
流行病学与生物统计的上游行为原则,用于研究设计、R/Python 分析、论文、咨询交付和项目审查开工前,以及口径争议、结果不一致或试新方法时。提供原始数据只读、最小实现、可验证目标、结果追溯、复现、异常闭环和隔离实验规则;轻量任务不因此升级为正式项目。
把已完成并验证的 R 或 Python 分析打包为客户可独立复现、可直接阅读且保留真实溯源的咨询交付物。用于“给客户交付”“打包结果”或在 05_reports/ 建正式结果包;不用于未完成分析或内部探索。上游为 biostat-principles,文本终审配合 academic-humanizer,签发配合 epi-project-audit。
| name | epi-project-audit |
| description | 六层审查流行病学与生物统计项目的数据链、代码、结果、表图、正文和交付一致性,并以证据判定是否可签发。用于项目质控、结果复核、审稿前自查或全面一致性检查;只审查时不修改文件。上游为 biostat-principles,含咨询包时同时核对 consulting-delivery。 |
审查本质:证据链核对。不只看代码、不只看结果;看的是"数据 → 代码 → 结果 → 表图 → 正文"这条链是否首尾一致。 工作模式:六层按顺序逐项过 TODO;某层失败时记录证据、按权限修复或给出建议,并继续完成其余层审查。任何未闭环的 fail 都阻止签发,只有全过才发 pass。 结构单源:目录、命名、registry、归档与 BACKLOG 的规范以
../project-init/references/project-hygiene.md为准。
按以下顺序读取,先服从项目级规则,再执行本 skill:
CLAUDE.md / AGENTS.mdREADME.md(项目说明)PROTOCOL.md / SAP.md(预设研究问题、分析与偏离边界)DECISIONS.md(方法决策与方案偏离历史)SESSION_LOG.md(操作日志)07_paper/results.yaml(结果机器单源)+ 派生 0_result_summaries.md缺失关键文件就已经是扣分项,要写入"Problems found"。
在进入六层人工审查前运行:
python <本技能目录>/scripts/run_check_project.py <项目根> --json
run_check_project.py 从 ~/.codex/.epiagentkit-install.json 或 ~/.claude/.epiagentkit-install.json 的 source 键解析中央 EpiAgentKit 仓库,再调用其中的 scripts/epiagentkit.py check-project。不得只在当前研究项目或 PATH 中查找 epiagentkit.py,也不得在未检查安装清单前报告“当前机器未找到”。可先用 --print-cli 核验解析结果。
把 findings 映射到对应 Layer。任何 ERROR 都阻止最终签发;WARN 必须解释,但不得把无 provenance 时的 mtime 提示升级成确定性不一致。该命令只做预检,不替代代码实跑、数字矩阵或科学判断,不注册为 Stop hook。
用户未限制范围时直接执行六层全量审查,不为默认选择暂停。用户明确指定代码、结果、论文、交付物或某个路径时只审该范围,并在 verdict 中写明未覆盖层。
[START]
↓
[Layer 1: 项目骨架] ——判定标准:目录结构、命名、日志完整
↓ 不过 → 记录问题 + 按权限修复/建议 + 继续收集其余层证据
[Layer 2: 数据链] ——判定标准:原始只读、派生可追溯、缺失有交代
↓
[Layer 3: 代码质量] ——判定标准:可运行、无 error、脚本编号
↓
[Layer 4: 结果一致性] ——判定标准:表图/摘要/正文数字完全一致
↓
[Layer 5: 科学合理性] ——判定标准:方法适配、结论不超证据
↓
[Layer 6: 交付一致性] ——判定标准:README/日志/决策/分享包同步
↓
[VERDICT] pass / pass with concerns / fail
每层的判定:
01_data/rawdata/ 及额外声明的 raw roots 存在,check-project 未发现 Git 工作区修改;非 Git 数据另核来源与只读证据02_code/ 内阶段脚本按 NN_描述.R|py 编号且连续无断号;无来源不明的 test.*、final.*、temp.*02_code/ 编号脚本数 ≤ 10(config / conventions / lib / run_pipeline 与 vendored/ 不计);探索 / 一次性脚本不在 02_code/(应在 09_backup/)03_tables/ / 04_figures/ 编号按论文行文顺序连续无断号;TableS{N} / FigS{N} 在 supplementary/;无 Table_xxx / Fig_xxx 无编号残留;交付 xlsx 内无 cover / 说明类解说性 sheet.csv、.xlsx、.png 不在根)CLAUDE.md / PROTOCOL.md / SAP.md / SESSION_LOG.md / DECISIONS.md 存在;入口规则文件不超过 200 行09_backup/EXPERIMENTS.md 登记全部探索尝试;每个已运行实验有 PLAN.md 与 FINDINGS.md09_backup/ 存在;旧版文件已归档,不在活跃目录final/ + 最终版/ + 提交版/)02_code/ 存在无编号脚本09_backup/ 和活跃目录共存同名文件但内容不同按 §十一的审查/修复模式与权限边界执行。来源不明的 test.R、temp.R、根目录文件或多版本产物不得因命名看似不规范就自动移动、重命名或删除;先确认所有权、引用关系与当前版本。只有用户要求修复且目标位置唯一、引用可同步、验证可闭环时才处理。
01_data/rawdata/ 下每个文件都有对应的数据字典(README 或单独 md)write 回 01_data/rawdata/ → 违规)06_results/ 或结果包 data/01_data/rawdata/ 的文件setwd、grep "C:/"、grep /Users/)Table\d / Fig\d 输出路径;产出经对应语言的 registry helper 生成05_reports/*/)内脚本不回读项目根(grep \.\./)01_data/rawdata/ 被脚本写入仅在“审查并修复”模式且满足 §十一权限边界时处理;“只审查”模式只记录证据与建议:
setwd() 绝对路径 → 改 here::i_am() 或 Rproj 提示这是一切审查的核心:数字必须从"数据源 → 脚本产物 → 表 → 图 → 摘要 → 正文"一致到底。
若项目已用结果单一真源(07_paper/results.yaml,见 biostat-principles/references/result-summary-schema.md),先跑:
python <此skill>/scripts/check_consistency.py <项目根>
它双向比对交付文档(论文/报告/PPT)里的 CI、P 与 results.yaml:方向A 报"文中统计量在源中无匹配"(疑似手敲/陈旧/未回写),方向B 报"源有文档未用",并列出 interp_review 的"解读待复核"键。退出码非 0 表示 Layer 4 未通过。脚本是初筛,下方人工矩阵仍需补图内/精度等它覆盖不到的项。
07_paper/results.yaml 取出每一个关键数字(样本量、主效应、P 值、95%CI、事件数),并核对派生 0_result_summaries.md 完全一致07_paper/results.yaml 找不到 → failLayer 4 审查必须输出一张数字一致性矩阵:
| 关键数字 | results.yaml | 0_result_summaries.md | 03_tables/ | 04_figures/ | 07_paper/ | 一致? |
|---|---|---|---|---|---|---|
| 样本量 N | 1234 | 1234 | Table1: 1234 | 不适用 | 摘要: 1234 | 一致 |
| 主 HR | 1.45 | 1.45 | Table3: 1.45 | Fig2 forest: 1.45 | 摘要/讨论: 1.45 | 一致 |
| P 值 | 0.004 | 0.004 | Table3: 0.004 | — | 摘要: 0.004 | 一致 |
任何一行不一致 → Layer 4 fail。
DECISIONS.md 有时间、原因和确认记录results.yaml扫描讨论和摘要,检查以下"过强措辞":
| 原文 | 问题 | 改为 |
|---|---|---|
| "证实" / "证明" | 观察性研究无法"证实" | "支持" / "提示" |
| "明确说明" | 过强 | "方向一致" |
| "稳固的保护作用" | 过强 + 情感词 | "保护方向" |
| "可以得出结论" | 过强 | "结果提示" |
| "显著降低风险" | 混淆统计显著和临床意义 | "与较低风险相关" |
| "具有因果意义" | 观察性证据不支持 | "存在关联" |
全文逐条列出超纲措辞的位置 + 建议替换。
README.md 与实际目录一致SESSION_LOG.md 的最后一条时间 ≥ 最近一次代码修改时间DECISIONS.md 覆盖所有方法选择(grep 方法名 vs DECISIONS.md)05_reports/ 的分享包能独立运行(可随机抽一个实测)00_写作说明.md / 01_方法与结果.docx 与包内代码和表一致consulting-delivery 的 FINAL 终检清单(§八)09_backup/两份文件是本 skill 的展开,逐项对照使用。
审查结束后必须用以下结构输出:
## Audit verdict
- Status: pass / pass with concerns / fail
- Scope: [审查范围,哪些层]
- Date: YYYY-MM-DD
- Reviewer: [用户提供的姓名或角色;未提供则写“未记录”]
## Layer-by-layer results
| Layer | 内容 | 结果 | 主要问题 |
|-------|------|------|---------|
| 1. 项目骨架 | 目录/命名/日志 | pass / concern / fail | ... |
| 2. 数据链 | 原始只读/派生可追溯 | pass / concern / fail | ... |
| 3. 代码质量 | 可运行/规范/路径 | pass / concern / fail | ... |
| 4. 结果一致性 | 数字全链一致 | pass / concern / fail | ... |
| 5. 科学合理性 | 方法/结论标定 | pass / concern / fail | ... |
| 6. 交付一致性 | 日志/决策/分享包 | pass / concern / fail | ... |
## Numbers consistency matrix
[Layer 4 产出的表格完整粘贴]
## What is correct
- [已验证正确的点,说服力最强的结论]
## Problems found(按严重度排序)
### Critical(必须修复)
- [证据链断裂、数字不一致等 fail 级问题]
### Warning(建议修复)
- [命名不规范、注释不足等 concerns]
### Fixed in this audit
- [本次审查直接客观修复的小问题]
> 审查中发现"非阻塞但该补"的项(缺某项数据、某分析能强化但没做、某文献待补、下一步建议),除写进本报告外,**同时追加到项目根 `BACKLOG.md` 主表**(格式见 project-init `references/project-hygiene.md` §6),避免报告读完就忘;红色 Critical 不进 BACKLOG,必须修复后重审。
## Scientific judgment
[结论是否与证据强度匹配?哪些措辞超纲?]
## Sign-off
- [ ] 本项目/结果 **可以/不可以** 直接用于投稿/汇报/交付
- [ ] 修复以下 N 处 Critical 问题后重审
- [ ] 附带说明:[关键注意事项]
用户明确要求“只检查、只审查、不修改”时,完成全部六层并输出问题、证据和修复建议,不改工作文件。审查报告和用户明确要求的审计日志除外。
用户要求“检查并修复、完善、统一”时,只直接处理来源明确、目标唯一、非破坏且能验证闭环的问题:
SESSION_LOG.md 操作记录每项修复都写入 Fixed in this audit。既有文件来源、当前版本或引用关系不清时,只报告,不为“整洁”擅自移动。
不属于这两类的 → 写入 Problems found 让用户决定。
| 时机 | 建议审查范围 |
|---|---|
| 每次完成一个主分析 | Layer 3 + Layer 4 |
| 提交给导师 / 合作方 | 全量 6 层 |
| 投稿前 | 全量 + 特别关注 Layer 5(结论标定) |
| 咨询交付前 | 全量 + 过 consulting-delivery 终检 |
| 项目归档前 | Layer 1(清理)+ Layer 6(一致性) |