关于 alterlab-results-transparency
面向撰写定量研究结果的报告规范技能。在写出结论前,它检查是否披露全部分析、假设检验结果、带置信区间的效应量及预注册偏差;通过 JSON 清单检查器执行,不负责统计计算。
主要功能
- 01要求披露所有已运行的分析
- 02检查假设检验结果是否报告
- 03要求提供效应量和 95% 置信区间
- 04检查预注册方案偏差
- 05用脚本检查结论清单
适用场景
- 01准备定量研究结果结论
- 02审查草稿是否遗漏分析
- 03核对结论与冻结的分析计划
- 04撰写图注前检查报告
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alterlab-ieu/ alterlab-academic-skills --skill alterlab-results-transparency安装后在 Claude Code 中输入/alterlab-results-transparency确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/evals.jsonreferences/gate_function.mdtransparency_standards.mdscripts/reporting_gate.py详细介绍
结果透明度 — 报告规范关卡
技能类型:强制规范。 此技能不是统计分析操作指南,而是设在已执行的分析与你即将在结果部分写下的句子之间的一道关卡。它旨在阻止定量研究写作中最常见的诚信失范:报告那些“奏效”的分析,却悄悄删去其余分析。
它负责协调,而非重新实现:
- 必需背景 —
alterlab-statistical-analysis执行检验、检查假设(其alterlab-statistical-analysis/scripts/assumption_checks.py)、计算效应量和置信区间,并生成符合 APA 格式的数值。此技能会检查这些输出是否都已提供并披露,之后才能写下结论。 - 必需背景 —
alterlab-preregistration-discipline负责冻结后的计划。此技能会检查验证性结论是否与计划一致,并确保偏离之处都已标明。 alterlab-open-science负责披露机制(TOP 指南、注册链接、数据/代码可用性)。alterlab-scientific-thinking负责评判证据的质量;此技能只强制确保报告的完整性。
铁律
NO RESULTS CLAIM WITHOUT REPORTING EVERY ANALYSIS RUN
违背完整报告的字面要求,就是违背科学精神。“报告每一项分析”是指针对该假设实际对数据执行的每一项检验——包括得到 p > .05 的检验、你放弃的模型设定,以及你最初尝试的离群值规则。结果部分应完整列出你做过的一切,而不是只展示支持你结论的部分。
何时使用此技能
一旦开始撰写或捍卫结果结论,就调用此技能:
- 准备在结果/发现部分写下一句话。
- 声称“我们发现……”“X 显著预测了 Y”“没有效应”。
- 报告 p 值、系数、组间差异或相关性。
- 为基于已执行分析子集得出的发现辩护。
- 看过结果后,想要剔除离群值、改换检验或增加协变量。
- 撰写摘要中的结果句,或断言某项发现的图注。
如果你正在选择要运行的检验、检查假设或计算效应量,那属于 alterlab-statistical-analysis——等你从计算数值转向声称发现时,再回到这里。
不会触发 — 将以下请求转交至其他技能
| 请求实际涉及…… | 转交至 |
|---|---|
| 选择/执行检验、假设检查、计算效应量或置信区间 | alterlab-statistical-analysis |
| 分析计划是否在数据收集前冻结;HARKing/可选停止 | alterlab-preregistration-discipline |
| 在查看 p 值之前选择合适的检验(防止检验挑选) | alterlab-test-selection-guard |
| 在何处/如何披露:TOP 指南、注册链接、数据/代码可用性 | alterlab-open-science |
| 评判证据的质量(GRADE、偏倚风险、混杂、研究设计效度) | alterlab-scientific-thinking |
| 核实引用的参考文献是否存在/是否为伪造 | alterlab-citation-verifier |
| 逐节同行评审并给出接收/修改/拒稿意见 | alterlab-paper-reviewer |
| 根据已完成的综合分析撰写完整的 IMRaD 手稿 | alterlab-paper-writer |
| 撰写资助项目最终/技术报告的叙述内容 | alterlab-grant-reporting |
门槛函数
在写下任何结果结论之前,按顺序执行以下步骤。这与
verification-before-completion 门槛(obra/superpowers)一致:始终先有证据,
再作断言。
- IDENTIFY — 写出你打算写下的确切结论句。
- LIST — 列出针对该假设实际运行的 所有 检验,包括未能“奏效”的检验 (p > .05、放弃的规范、备选排除规则)。如果列表中的条目多于报告中提及的条目, 就停止——这属于选择性报告。
- CHECK assumptions reported — 对于每项报告的检验,
alterlab-statistical-analysis/scripts/assumption_checks.py的假设检验结果(正态性、方差齐性、线性、离群值)都必须出现在报告中,并注明 对任何违反假设的情况采取了什么补救措施。 - CHECK effect size + CI present — 结论必须包含带有 95% 置信区间的效应量, 不能只提供 p 值。单独的 p 值永远无法通过门槛(见充分性表)。
- CHECK pre-registration deviations disclosed — 必须指出与冻结计划
(
alterlab-preregistration-discipline) 的所有差异,并标注为验证性或探索性。 - ONLY THEN — 写出句子,包含检验名称、统计量、df、精确的 p 值、效应量
- 置信区间,以及验证性或探索性标签。
一个自包含的检查器可对结论的小型 JSON 清单执行第 2–5 步的检查,位于
scripts/reporting_gate.py(仅使用标准库;参见快速入门)。
哪些情况充分,哪些不充分
与验证差距表类似:左栏内容不能通过门槛;右栏才是实际要求。
| 看似完成(不充分) | 通过门槛的实际要求 |
|---|---|
| “p < .05” | 检验名称、统计量、df、精确的 p 值、效应量 + 95% 置信区间 |
| “效应显著” | 效应的方向、大小(效应量 + 置信区间)以及所依据的 n |
| 只展示显著的检验 | 针对该假设运行的所有检验,无论是否显著 |
| “假设都没问题” | 报告的正态性 / 方差齐性 / 线性 / 离群值结果 |
| 结果符合论文的叙述 | 结果符合冻结计划,并将偏差标注为探索性 |
| “我们移除了离群值” | 预先指定的规则,或包含移除与未移除离群值两种情况的敏感性分析 |
借口与现实
源于那些为选择性报告开脱的理由。当你发现自己有左栏中的想法时,右栏才是事实。
| 借口 | 现实 |
|---|---|
| “我只报告结果显著的分析。” | 未显著的分析也是数据。省略它们就是选择性报告——应报告所有计划的分析,无论是否显著。 |
| “这只是一个 p 值,效应量显而易见。” | 单独的 p 值无法解读。必须提供效应量 + 95% CI;是否存在不等于效应有多大。 |
| “我们删掉了 3 个离群值,这样检验就能通过了。” | 离群值规则必须预先指定,或作为敏感性分析报告——不能因为它能改变显著性而临时选择。 |
| “这个协变量显然应该放进模型里。” | 看过结果后再添加协变量,就是研究者自由度。应预先指定,或将模型标记为探索性。 |
| “我们改用了非参数检验,它更合适。” | 如果你是在参数检验不显著后才改用非参数检验,那就是挑选检验。应通过 alterlab-test-selection-guard 提前决定。 |
| “这个子组很有意思(我们之前没预测到)。” | 未计划的子组分析属于探索性分析。应将其报告为用于生成假设的发现,绝不能作为确证性发现。 |
| “报告失败的分析会让读者困惑。” | 提供包含所有已运行分析的补充表,是透明度的标准做法(TOP)。清晰易懂不能成为隐瞒的理由。 |
| “预注册太死板了;我是在遵循科学精神。” | 在探索性部分进行迭代。确证性结论需要以冻结的计划为依据。 |
危险信号 — 停止
如果你发现自己有以下任何想法,请停止。你即将利用研究者自由度。要么完整报告,要么将其标记为探索性分析。
- “我就报告结果显著的分析。”
- “我先删掉这些离群值,重新运行后再写报告。”
- “只要加上这一个协变量,就能看到效应。”
- “我换个检验试试——这个结果还不够显著。”
- “我们可以不在结果部分提那些不显著的模型。”
- “这个子组很有意思,我要把它写成一项发现。”
- “离 p < .05 已经很接近了——我就称它为趋势,然后继续。”
- “没必要提我们改了主要结局指标。”
- “我先把 p 值向下取整,效应量之后再说。”
这些都意味着:停止。运行 Gate Function。要么报告全部结果,要么将其标记为探索性分析。
升级门槛(多重比较/挑选检验)
与系统化调试中的“失败 3 次 = 方法错误”规则相呼应:
为寻找显著结果,针对同一假设运行了 3 次或更多检验?停止。这属于多重比较/挑选检验。要么对所有检验进行校正(Bonferroni / FDR——通过
alterlab-statistical-analysis),要么将分析声明为探索性分析。不要运行第 4 次检验来寻找 p < .05。
快速开始
# 1. Build a tiny manifest of the claim and what was actually run (see references).
# 2. Run the gate; non-zero exit = claim is not clear to write.
uv run python skills/methodology/alterlab-results-transparency/scripts/reporting_gate.py claim.json
这个脚本是一个确定性的透明度检查工具,而不是统计引擎:它会检查清单是否列出了所有运行记录、每项已报告结论是否都附有一个效应量 + CI、是否包含假设检验结果,以及偏离之处是否已标注。它绝不会计算 p 值或效应量——这属于 alterlab-statistical-analysis 的工作。
深入了解
references/gate_function.md— 完整的门槛检查流程、结论清单架构,以及一个通过/未通过示例。references/transparency_standards.md— 完整的结果报告应包含哪些内容(CONSORT 2025/STROBE 结果条目、TOP 2025 结果透明度检查、APA 结果要求),以及这项技能如何与同系列技能衔接。
报告前自检
- 是否列出了每一次测试,还是只列出了草稿中的测试?
- 每项结论是否都包含效应量 + 95% CI,而不只是一个 p 值?
- 是否报告了
alterlab-statistical-analysis的假设检验结果? - 是否将所有偏离冻结方案的情况标注为验证性或探索性?
- 是否针对同一假设进行了 3 次以上检验?是否进行了校正,或声明为探索性?
AlterLab 学术技能套件的一部分。