Back to skills
SKILL.md
Research Assistant
ASecurity高校教师实证研究全流程辅助:研究设计定型、文献综述组织、数据字典建立、可复现性审计、描述统计与结果表呈现、因果措辞校准。适用于教育干预研究、问卷研究、准实验、混合方法研究的开题、数据管理与成文阶段。当教师说「帮我设计研究方案」「实证研究怎么做」「数据分析帮我跑一下」「文献综述怎么写」「稳健性检验怎么做」「这个结果能不能说因果」时使用。Triggers: 帮我设计研究方案、实证研究怎么做、数据分析、文献综述怎么写、稳健性检验怎么做、研究缺口怎么找、数据字典怎么做、变量怎么编码、这个结果能说因果吗、开题的研究方法部分、准实验设计、问卷数据怎么分析、实证审计、样本量够不够。
- 11 stars
- 0 votes
- 0 copies
- 0 views
- Added October 20, 2026
Security analysis
96/100- Installs packages at runtime which could introduce malicious dependencies
Pro scans all 2 files and shows the line behind each finding
npx -y skills add EtherealMingo/university-teacher-skills --skill research-assistant --agent claude-codeAre you the author of Research Assistant?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/etherealmingo-research-assistant)---
name: research-assistant
description: "高校教师实证研究全流程辅助:研究设计定型、文献综述组织、数据字典建立、可复现性审计、描述统计与结果表呈现、因果措辞校准。适用于教育干预研究、问卷研究、准实验、混合方法研究的开题、数据管理与成文阶段。当教师说「帮我设计研究方案」「实证研究怎么做」「数据分析帮我跑一下」「文献综述怎么写」「稳健性检验怎么做」「这个结果能不能说因果」时使用。Triggers: 帮我设计研究方案、实证研究怎么做、数据分析、文献综述怎么写、稳健性检验怎么做、研究缺口怎么找、数据字典怎么做、变量怎么编码、这个结果能说因果吗、开题的研究方法部分、准实验设计、问卷数据怎么分析、实证审计、样本量够不够。"
---
# 实证研究辅助
> **Goal**:把教师手上的研究问题与原始数据,变成**可复现、可审计、措辞诚实**的研究过程材料
> ——研究设计说明书、文献综述初稿、数据字典、审计报告、描述统计与结果表。
> **产出是初稿与过程材料,不是结论**:所有数字来自教师数据,所有文献来自教师材料,
> 所有因果判断由教师基于识别策略作出。
## 何时使用
- 「帮我设计研究方案 / 这个研究问题该怎么研究 / 开题的研究方法怎么写」
- 「实证研究怎么做 / 准实验设计怎么搞 / 问卷数据怎么分析」
- 「文献综述怎么写 / 研究缺口怎么找 / 这篇的综述结构对不对」
- 「数据字典怎么做 / 变量怎么编码 / 缺失值怎么标」
- 「稳健性检验怎么做 / 我的分析有没有问题 / 审稿人说识别策略有问题」
- 「数据分析帮我跑一下 / 把这些结果整理成表」
- 「这个结果能不能说因果 / 相关还是因果」
**不适用(交给别的子技能)**:
| 教师其实想做 | 走哪个 |
|---|---|
| 写申报书 / 论证活页 / 模拟评审 | `grant-proposal` |
| 批改学生论文 / 写开题意见 / 答辩预案 | `thesis-supervisor` |
| 把已发表的论文做成汇报 PPT | `paper-to-slides` |
| 给期刊写审稿意见 | `peer-review` |
| 只是要把成绩做试卷分析(难度/区分度) | `exam-pipeline` |
> 判断不清时先问一句:**你要的是「研究过程」,还是「研究成果的呈现材料」?**
> 前者是本技能,后者多半是 `grant-proposal` / `paper-to-slides`。
## 底座(禁止重写)
| 路径 | 能做什么(已实读确认) | 边界 |
|---|---|---|
| `skills/empirical-research/econ-audit/SKILL.md` | **对抗式计量审查**:审 Stata/R/Python 分析代码。三模式 `spec`/`full`/`compare`;标志 `pap:`(对预注册方案)、`vars:`、`design:rct|did|iv|rd|panel`、`severity:`。覆盖聚类层级、坏控制、函数形式、样本漂移、未授权填补、多重检验、抽样权重。输出按 CRITICAL / HIGH / MEDIUM / LOW 分级,骨架为 `econ_audit_[文件]_[日期].md` | 只审**代码中的分析选择**;明确声明不审数据分布、不审代码风格。本包把它作为**阶段四审计的规则来源**,输出改写为中文 |
| `skills/empirical-research/data-dictionary/SKILL.md` | **从 Stata `.dta` 生成 codebook**:三模式 `summary`/`full`/`analysis`;输出变量名/标签/类型/值标签/缺失率/描述统计;`analysis` 模式还会按命名规则猜变量角色(处理、分层、指数、结果、权重)并给处理组平衡表 | 依赖 `pyreadstat`+`pandas`(**本层 venv 默认未装**,见阶段三)。只吃 `.dta`;xlsx/csv 用本技能自建脚本。角色分类是「建议,非断言」 |
| `skills/empirical-research/lit-review/SKILL.md` | **多会话文献综述工作流**:`setup` 配置 → `new [name]` 脚手架 → `[name]` 续做 → `[name] referee` 查经典遗漏。标准文件集:`AGENT_INSTRUCTIONS.md`、`RESEARCH_QUESTIONS.md`、`MASTER_LIST.md`、`SEARCH_PROCESS.md`、`[name]_lit.bib`、`CONTINUATION_LOG.md`、`pdfs/`。含对比表模板、定位段、跨综述去重 | **它有「联网检索补文献」的能力,本包对其加装防幻觉约束**(见下文「绝不虚构」一节):默认档只整理教师材料 |
| `THIRD_PARTY_NOTICES.md` | 上游三技能(econ-audit / data-dictionary / lit-review)出处与许可证 | 参考 |
| `skills/education-skills/edu-research-methods/references/quasi-experimental-design.md` | 准实验设计全流程:设计类型选择(不等组前后测 / 中断时间序列 / 断点回归)、样本量与检定力(d=0.5, α=.05, power=.80 的 G\*Power 逻辑)、测量工具信效度、统计方法(ANCOVA、DID、倾向分数配对)、**内在效度威胁表**(历史/成熟/测验/选择/流失/实验者效应)、IRB 伦理审查准备 | 简体中文版(本包译自繁体),非 SKILL.md 结构,读后按其阶段表执行 |
| `skills/education-skills/edu-research-methods/references/education-research-design.md` | 研究类型分类(基础/应用/行动)、量化-质性-混合三范式适用情境、五步设计流程(问题界定→文献→方法→结果→结论)、四种常见设计图式(准实验、个案、DBR、行动研究) | 同上 |
| `skills/education-skills/edu-research-methods/references/mixed-methods.md` | 混合方法:并行/解释性序列/探索性序列三类设计、量质互补逻辑、整合点、**效度清单含统计结论效度、建构效度、外在效度、可信度** | 同上 |
| `skills/education-skills/edu-research-methods/references/empirical-research-automation.md` | 实证研究自动化:Stata→Python/R 代码现代化、数据清理、描述与推断统计、APA 格式图表、文献回顾整理、GitHub 可复现性套件 | 同上 |
| `skills/awesome-benzi/references/EVIDENCE_MODEL.md` | **证据分级与独立核验**:事实类型(user-confirmed / material-verified / unknown…)、证据卡(主张+来源+定位+`verified`)、`[n]` 引用键双向可达规则、独立核验结论只能为 supported/limited/unsupported/unknown、`EV-LIT-001~005` 文献综合规则(**不编造作者、题名、DOI、页码**) | 本技能「不虚构」一节直接复用其规则编号 |
| `skills/awesome-benzi/references/QUALITY_GATES.md` | 交付前质量门 | 内容门 |
| `skills/office-layer/` | **文件产出唯一通道**:`xlsx_kit.py`(build/analyze/inspect,含成绩分析口径)、`docx_kit.py`(md/comment/spec/inspect,原生批注)、`pptx_kit.py` | 见其 `SKILL.md` |
| `skills/research-assistant/scripts/desc_stats.py` | **本技能自建**:研究数据的描述统计与交叉表。只读、不填补、不剔除、不出推断结论。可同时产出 Markdown 报告与 `xlsx_kit build` 规格 JSON | 只做描述统计;推断统计不在此脚本职责内 |
| `THIRD_PARTY_NOTICES.md` | 上游溯源与许可证合规 | 引用前查 |
## 前置信息收集(intake,一次性问完)
按 `skills/awesome-benzi/references/INPUT_MODEL.md` 的 `question-batch` 思路,**合并成一次提问**,
不要边做边问。信息不全时**用安全默认值继续**,并在交付物里标明哪几处用了默认值。
1. **研究问题**:一句话研究问题;学科与学段;研究情境(课堂/学校/线上/跨校)。
2. **研究类型**:是要检验效果、找相关因素、理解经历,还是做工具开发(对应阶段一的设计表)。
3. **现有数据**:文件路径与格式(xlsx/csv/dta/sav);样本量与单位(学生/班级/学校);
是否已清洗;有无变量清单或旧版数据字典。
4. **数据收集状态**:已收完 / 收集中 / 还没收。**收集中**的必须提醒别偷看数据(peeking)。
5. **能否随机分派**:能不能随机?处理发生在哪一层(学生个人 / 班级 / 学校)?
这直接决定能不能做因果,以及标准误该聚类到哪一层。
6. **是否有预注册/PAP**:有则给文件;有则在阶段四做 PAP 一致性核对。
7. **伦理与合规**:是否已过伦理审查(IRB/学校伦理委员会);是否涉及未成年人;
知情同意是否留存。
8. **分析工具**:Stata / R / Python / SPSS —— 决定阶段四审计的对象是什么文件。
9. **文献材料**:已有 `.bib` / 参考文献列表 / `pdfs/` 目录 / 论文初稿。
**没有材料也没有关系,但默认不联网补文献**(要补需明确授权,见「绝不虚构」)。
10. **目标产出与规范**:开题报告 / 论文方法章 / 结果章 / 组会汇报 / 申报书前期基础;
引用格式(GB/T 7714 或 APA)。
**缺什么也不能缺研究问题与数据说明**——这两样没有就先做阶段一,其余按默认值走并标注。
## 工作流
> 每一阶段都写清 **输入 → 动作 → 输出 → 退出条件**。阶段可裁剪:只做「数据分析」的老师,
> 从阶段三或阶段四进入,但**阶段一的设计确认不能省**——没有设计就没有分析计划。
---
### 阶段一 · 研究设计与效度威胁
**输入**:研究问题、研究情境、能否随机分派、样本可得性。
**动作**:用下表把研究问题定型,**不允许跳过这一步直接跑数据**。
#### 1.1 研究问题 → 适用设计 决策对照表
| 教师的问法 | 要回答的问题类型 | 适用设计 | 读哪个底座 | 关键分析 / 识别策略 | 主要效度威胁 |
|---|---|---|---|---|---|
| 「这个教学法能不能提高成绩」+**能随机分班** | 因果(干预效果) | **随机对照实验 RCT**(个体或整群随机) | `education-research-automation.md`+`quasi-experimental-design.md` | 处理组虚拟变量 + 分层控制 + 基线因变量;ITT 分析;报告效应量与置信区间 | 流失(attrition)、霍桑效应、实验者期望 |
| 「这个教学法能不能提高成绩」+**只能按自然班** | 因果(弱识别) | **准实验:不等组前后测 / ANCOVA** | `quasi-experimental-design.md` | 前测作协变量(ANCOVA);检查组间基线差异 | **选择偏误**(最致命)、历史、成熟、回归均值 |
| 「两个班/两所学校前后对比」+有时间序列 | 因果(弱识别) | **双重差分 DID** | `econ-audit/SKILL.md`(`design:did`) | 单位固定效应 + 时间固定效应 + 交互项;**平行趋势检验**;交错处理需注意 Goodman-Bacon / Callaway–Sant'Anna 问题 | 平行趋势不成立、同期其他政策、聚类层级错误 |
| 「按分数分班/按分数线评奖的效果」 | 因果(断点) | **断点回归 RD** | `econ-audit/SKILL.md`(`design:rd`) | 带宽选择、核函数、多项式阶数(**建议 ≤2**)、操纵检验 | 断点附近操纵、带宽敏感、样本量不足 |
| 「A 和 B 到底谁影响谁」/自然实验 | 因果(须工具) | **工具变量 IV** | `econ-audit/SKILL.md`(`design:iv`) | 一阶段 F 统计量、排他性约束论证、过度识别检验 | 弱工具、排他性不可检验 |
| 「哪些因素和成绩有关 / 什么预测了辍学」 | **相关**(不是因果) | **横断面相关研究 + 多元回归** | `education-research-design.md` | 多元回归、逐步控制、报告共线性与解释力 | 遗漏变量、反向因果、辛普森悖论、过度拟合 |
| 「学生的体验/感受/过程是怎样的」 | 理解与建构 | **质性:个案 / 现象学 / 扎根理论** | `education-research-design.md`(个案研究图式) | 目的性抽样、三角验证、编码与饱和度、成员核查 | 研究者偏见、反应性、可迁移性受限 |
| 「量化结果里有说不通的地方,想再访谈解释」 | 解释与深化 | **混合方法:解释性序列** | `mixed-methods.md` | 先量化后质性,用质性解释量化异常 | 两阶段衔接不清、整合点缺失 |
| 「量表/问卷靠不靠得住」 | 工具开发 | **混合方法:探索性序列 / 工具发展** | `mixed-methods.md`+`quasi-experimental-design.md`(信效度节) | 质性生成题项 → 量化验证结构;内容/建构/效标关联效度 | 构念效度、共同方法偏误 |
| 「我这门课的教学要怎么改进」 | 改进实务(研究者即实践者) | **行动研究 / 设计本位研究 DBR** | `education-research-design.md`(DBR 与行动研究图式) | 计划–行动–观察–反思循环;设计原则产出 | 外部效度极弱、循环中改标准、自证倾向 |
**决策铁律**:
1. **处理分配在哪一层,设计就写在哪一层。** 按班级分配处理,就不能说"学生个体随机"。
2. **不能随机就必须承认选择偏误**,并在设计说明书里写明用什么办法缓解(前测控制、匹配、DID)。
3. **问「相关」的问题就不要用「因果」的措辞设计**(阶段六会逐句校准)。
4. 设计表选定后,把它固定下来写进"分析计划",**先写计划再跑数据**,避免边跑边改。
#### 1.2 四类效度威胁(每一类都要在设计说明书里逐条打勾或划掉)
| 效度类型 | 具体威胁 | 教育研究中的典型场景 | 控制动作 |
|---|---|---|---|
| **内部效度** | 选择偏误 | 实验班本来就是重点班 | 前测协变量;匹配;随机化;报告组间基线差异表 |
| | 历史效应 | 实验期间学校同时推了别的改革 | 记录同期事件;加对照班;DID |
| | 成熟效应 | 一学期里学生自然长大/进步 | 设对照组;控制月龄/年级 |
| | 测验效应 | 同一份前测让后测变简单 | 用等值复本;控制前测 |
| | 工具变化 | 前后测评分标准不同、换了评分人 | 统一评分标准;双评一致性(Kappa/ICC) |
| | 流失偏误 | 差生中途转走/不交问卷 | 报告流失率与流失者特征;处理组间流失差异检验 |
| | 回归均值 | 按前测最低分组补救,后测必然"上升" | 设对照;避免按因变量极值分组 |
| | 补偿性竞争 / 约翰·亨利效应 | 对照班知道有实验后加倍努力 | 盲化设计;事后访谈确认 |
| | 实验者期望 | 教师知道自己班是实验班 | 评分盲化;由第三方评分 |
| **外部效度** | 样本代表性 | 只有自己一个班 40 人 | 明确写"限于本班情境",不外推 |
| | 情境差异 | 实验室/示范校条件优于普通校 | 报告情境条件;讨论可迁移条件 |
| | 时间效应 | 新奇效应消退后效果消失 | 加延宕后测(follow-up) |
| | 多重处理干扰 | 同校两个班互相交流处理内容 | 跨校或错开时间 |
| **构念效度** | 操作化不匹配 | 用期末考分代表"学习兴趣" | 明确写出构念的操作型定义;多指标测量 |
| | 单一方法偏误 | 全部用自评问卷,自评与结果同源 | 多来源(自评+观察+成绩+他评) |
| | 测验与处理混淆 | 考的就是实验组练过的题型 | 测验内容独立编制;题目经第三方审核 |
| | 需求特征 / 社会赞许 | 学生猜到老师想要什么答案 | 匿名作答;间接测量 |
| **统计结论效度** | 检定力不足 | 每组 15 人却想看小效应 | 事前做检定力估算(d=0.5, α=.05, power=.80);报告检定力 |
| | 假设违反 | 严重偏态数据当正态处理 | 检查分布;用稳健方法;报告偏度/峰度 |
| | 多重比较 | 10 个结局变量只报 2 个显著的 | 校正(Bonferroni/Holm/BH-FDR)或预设主结局 |
| | 测量信度低 | α 只有 0.5 还用来算效应 | 先报信度;低信度削弱效应、需校正衰减 |
| | 违规操作 | 边跑边删数据、边加控制 | 预注册/分析计划;阶段四审计 |
> 效度威胁表**必须进交付物**。审稿人与答辩老师最先问的就是"你怎么排除 XXX 的替代解释"。
**输出**:
- `研究设计说明书.md`(研究问题、设计类型与理由、变量角色表、样本与抽样、分析计划、**效度威胁与控制表**、伦理与知情同意说明、预判的局限)
**退出条件**:设计类型有明确理由;效度威胁表每一行都有"控制动作"或明确的"接受并写入局限"。
---
### 阶段二 · 文献综述
**输入**:教师提供的文献材料(`.bib` / 参考文献列表 / `pdfs/` / 论文初稿)。
**动作**:加载 `skills/empirical-research/lit-review/SKILL.md`,按其文件集组织,但**执行两处本包强制的改动**:
1. **默认关闭联网补文献**(理由见「绝不虚构」):只在教师明确说"可以去检索"时才用
`web_search` 找**线索**,且每条线索必须附可点击链接与检索日期,标注
`【联网检索线索,未核对原文,请自行下载核对 DOI 与页码】`;**未拿到原文的条目不得进入参考文献列表**。
2. **中文交付**:`MASTER_LIST`/`SEARCH_PROCESS` 等过程文件可用英文文件名(便于上游工作流复用),
但正文综述与最终交付物用中文。
#### 2.1 综述的组织方式(先选结构,再动笔)
| 组织方式 | 什么时候用 | 结构长什么样 | 风险 |
|---|---|---|---|
| **按时间** | 技术/概念有清晰演进(如"AI 助教"十年发展) | 早期奠基 → 中期转向 → 近期前沿 | 容易写成流水账,缺评价 |
| **按主题**(最常用) | 一个领域有多条并行线索 | 主题一/二/三,每主题内部再按观点收敛 | 主题切分不当会重复 |
| **按方法** | 同一问题被多种方法研究且**结论不一致** | 实验类证据 → 准实验类 → 相关类 → 质性类,比较各自局限 | 需要读懂方法细节 |
| **按争论/学派** | 领域存在**对立结论** | 争论点 → 甲方证据与解释 → 乙方证据与解释 → 未解之处 | 要求立场中立、不得偏向教师预设 |
实操建议:**主结构按主题,每个主题内部按时间或方法排列**。这是审稿人最认的结构。
#### 2.2 综述矩阵(强制产出)
一边读一边填,读完自然成文,也自然暴露缺口:
| 文献(教师材料内的) | 研究情境 | 样本 | 设计 | 测量/结局 | 主要发现 | 局限 | 对应本研究哪一问 |
|---|---|---|---|---|---|---|---|
| 【待补文献:作者 年份】 | | | | | | | |
规则:
- 每一行**必须**来自教师提供的材料;材料里没有的行,留 `【待补文献:<主题>,需检索关键词:___】`。
- 「主要发现」只照抄材料原文能支持的表述,**不做跨文献的数字估算或平均**(不要写"总体效应约 0.5"这类合成数字,除非材料里就有元分析)。
#### 2.3 研究缺口的五种类型与识别规则
| 缺口类型 | 长什么样 | 判定问题 |
|---|---|---|
| **情境/人群缺口** | 已有研究都在城市重点校,缺乡村/职校/成人学习者 | 已有样本的边界到哪为止? |
| **方法缺口** | 全是横断面相关,缺因果证据 | 已有证据强度够不够支撑因果主张? |
| **构念/测量缺口** | 都用自评量表,缺行为或成绩指标 | 测量是否覆盖了构念的全部面向? |
| **机制缺口** | 知道"有效果",不知道"为什么有效" | 中介/过程变量是否被检验过? |
| **矛盾未解缺口** | A 研究发现有效、B 发现无效 | 分歧能否用情境/剂量/测量差异解释? |
**缺口的硬性要求**(沿用 `EVIDENCE_MODEL.md` 的 `EV-LIT-002`):
> **每条缺口必须由「已有研究的边界或分歧」推出,不得凭印象写"研究较少""尚属空白"。**
缺口写法模板:
```
缺口:<已有研究全为 X> → 因此 <本研究情境 Y> 尚无证据。
证据来源:<材料内的文献1>、<材料内的文献2>(若为空则标【待补文献】)。
本研究如何回应:<设计/样本/测量上的具体差别>。
```
**输出**:`文献综述_初稿.md`(含综述矩阵表与缺口表)、`MASTER_LIST.md`、`SEARCH_PROCESS.md`、
`CONTINUATION_LOG.md`(多会话续做用)、`【待补文献】清单.md`(教师拿去查的清单)。
**退出条件**:每条缺口都能回溯到具体材料条目或明确的 `【待补文献】`;
综述正文里**没有一条无法溯源的引用**;`SEARCH_PROCESS.md` 记录了检索库、检索词与日期。
---
### 阶段三 · 数据字典与数据管理
**输入**:原始数据文件 + 问卷/量表原题 + 数据收集说明。
**动作**:
#### 3.1 两条路径(按数据格式分)
**路径 A — `.dta`(Stata)**:按 `skills/empirical-research/data-dictionary/SKILL.md` 走,
模式建议 `full` 或 `analysis`。先确认依赖(本层 venv 默认没装):
```bash
PY="skills/office-layer/.venv/bin/python"
$PY -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pandas pyreadstat
```
**路径 B — `.xlsx` / `.csv`(多数教师场景)**:用本技能自建脚本先出**统计事实底稿**:
```bash
PY="skills/office-layer/.venv/bin/python"
# 描述统计 + 缺失概况 + 交叉表(只读,不改原始数据)
$PY skills/research-assistant/scripts/desc_stats.py \
--in 研究数据.xlsx --sheet 数据 \
--cross 组别,后测成绩 --cross 组别,性别 \
--missing-codes="-99,-98,-97" \
--out-md 过程/描述统计.md --out-json 过程/描述统计.json
# 出 xlsx 底稿
$PY skills/office-layer/scripts/xlsx_kit.py build --spec 过程/描述统计.json --out 数据字典_统计底稿.xlsx
$PY skills/office-layer/scripts/xlsx_kit.py inspect --in 数据字典_统计底稿.xlsx
```
> ⚠ 注意 `--missing-codes` 的值以 `-` 开头,**必须写成 `--missing-codes="-99,-98,-97"`**(用等号),
> 否则会被 argparse 当成选项而报错。不写该参数时默认就是 `-99,-98,-97`。
> 脚本会输出一份「待确认」清单:数值型但唯一值少的变量被默认按分类呈现。
> 若其中某些是连续测量值(成绩、量表总分),加 `--num 变量名1,变量名2` 重跑;
> 若把编号类变量误判为连续,加 `--cat`。**类型判定以数据字典为准,不以脚本为准。**
#### 3.2 变量字典的必备字段(一个字段都不能省)
| 列 | 说明 | 谁来填 |
|---|---|---|
| 变量名 | 数据里的实际列名(英文/拼音,勿用中文列名参与建模) | 数据 |
| 中文含义 | 对应问卷第几题 / 系统哪个字段 | **教师**(脚本无法知道) |
| 变量类型 | 连续 / 有序 / 名义 / 计数 / 文本 / 日期 | 教师确认 |
| 取值与编码 | 值标签映射,例如 `1=完全不同意 … 5=完全同意` | **教师**(问卷原题) |
| 缺失编码 | `-99 / -98 / -97` 或空白 | 教师统一 |
| 单位 | 分 / 次 / 分钟 / 元 | 教师 |
| 来源 | 问卷题号 / 平台导出字段 / 学校教务系统 | 教师 |
| 构造公式 | 由哪几个原始变量如何算出(反向题、求和、均值、z 分) | 教师确认 |
| 角色 | 自变量 / 因变量 / 控制 / 标识 / 分层 / 权重 | 教师确认 |
| 备注 | 是否缩尾、是否取对数、信度 α | 教师确认 |
**缺失编码规范(务必统一)**:
| 编码 | 含义 | 必须区分的原因 |
|---|---|---|
| `-99` | 未作答(跳过了没答) | 与"不适用"含义不同,不能合并 |
| `-98` | 不适用(跳题逻辑导致没问) | 不能当成 0 |
| `-97` | 不知道 / 拒答 | 与"未答"含义不同 |
| 空白 | 未采集 | 需说明是技术缺失还是设计缺失 |
**三条禁令**:
1. **禁止把缺失当 0**(`replace x = 0 if missing(x)`、`mvencode _all, mv(0)` 是最常见的数据事故)。
2. **禁止静默删除**缺失行(列表删除会缩样,且可能造成选择性偏误)。
3. **禁止未记录的填补**。任何填补(均值、回归、多重插补)都必须在字典里写明方法、比例,
并做敏感性分析对比"填补 / 未填补"两套结果。
#### 3.3 数据管理约定
- **原始数据只读**:任何修改都不覆盖原文件,产出到 `过程/`,新版本用 `数据_v2_20260910.xlsx` 命名。
- **一表一版**:每次改动在 `数据版本记录.md` 里记一行(日期 / 改了哪一列 / 为什么 / 谁改)。
- **脱敏**:对外分享的分析数据去掉姓名、学号、身份证、联系方式;用匿名 ID 替换。
- **备份**:分析前把原始数据另存一份只读副本。
**输出**:`数据字典.xlsx`(脚本底稿 + 教师补全的字段含义/取值/来源/构造)、`数据版本记录.md`、
`数据处理说明.md`(缺失处理、异常值处理、变量构造全部写明,供审计与论文方法章引用)。
**退出条件**:数据字典里**每个参与分析的变量**都有含义、类型、取值、缺失编码、来源五列;
分析脚本里用到的每个变量都能在字典里查到;缺失处理方式已书面确认。
---
### 阶段四 · 实证审计(可复现性检查)
**输入**:分析代码(`.do` / `.R` / `.py`)或分析计划文字;数据字典;预注册方案(若有)。
**动作**:以 `skills/empirical-research/econ-audit/SKILL.md` 为规则来源,按下面六项清单逐条过。
**没有代码时,就审计"数据处理说明 + 分析计划"这份文字**——清单一样适用。
#### 4.1 审计清单 A — 样本筛选是否可复现
- [ ] 原始 N → 分析 N 的**每一步**都写清:删了多少、为什么删(附条件语句)。
- [ ] 任一步骤丢弃 **>10%** 观测,必须有书面理由。
- [ ] 最终分析样本 **< 合格样本的 80%**,必须讨论流失偏误。
- [ ] 剔除条件**不得**使用处理后的变量(会导致内生选择)。
- [ ] 缺失用列表删除时,检查缺失是否与处理组相关(`drop if missing(x)` 连环缩样是隐蔽杀手)。
- [ ] 论文表格里**每一列**的 N 都能对上,且列与列之间样本变化有解释。
#### 4.2 审计清单 B — 变量构造是否有文档
- [ ] 每个分析变量都能追溯到构造式(问卷题号 → 计分方向 → 反向题处理 → 合成方式 → 缺失处理)。
- [ ] 反向题、维度合成、标准化(z 分)、指数权重都写明。
- [ ] 量表报告信度(Cronbach α 或 ω),低信度进入局限讨论。
- [ ] 无未文档化的填补;无 `missing → 0`;无未说明的插值。
- [ ] 对数变换的变量**不含 0 或负值**(否则需 `log(x+1)`、IHS 或放弃变换,并写明)。
- [ ] 缩尾/截尾:阈值、单双侧、是否与其他规格一致,全部报告。
- [ ] 同一变量名在不同表里是同一含义(警惕"重命名后含义漂移")。
#### 4.3 审计清单 C — 回归设定与稳健性是否充分
- [ ] 核心设定与设计匹配:
- RCT:处理 + 分层控制 + **基线因变量**
- DID:单位固定效应 + 时间固定效应 + 交互项(交错处理另需说明)
- IV:报告**一阶段 F**、排他性论证(F<10 必须讨论弱工具)
- RD:带宽选择方法、核函数、多项式阶数(**阶数 ≤2**)、操纵检验
- 面板:固定效应是否吸收了感兴趣的全部变异(时间 FE + 同一时点统一处理 = 无识别)
- [ ] **无坏控制**:不控制受处理影响的变量(中介、后测变量、同期态度)——这是"把效应控没了"的主因。
- [ ] 不做对撞变量控制(处理与结果的共同结果)。
- [ ] 交互项带主效应;非线性模型中的交互不用系数直接解释(用边际效应)。
- [ ] 控制变量数量有理由(>15 个控制且无说明 = 厨房水槽回归)。
- [ ] 稳健性至少覆盖:换样本范围、换控制组合、换标准误设定、换函数形式、
安慰剂检验/事前趋势检验、留一法(leave-one-out)。
- [ ] **稳健性结果全部报告**,包括不显著、方向相反的那些。
#### 4.4 审计清单 D — 标准误是否聚类
- [ ] **聚类层级 ≥ 处理分配层级**。处理在班级层面分配 → 必须 `cluster(班级)`;
处理在学校层面 → `cluster(学校)`。只写 `robust` 是错的。
- [ ] DID 在**单位层面**聚类,不在时间层面聚类。
- [ ] 聚类数 < 50 时使用小样本校正(wild cluster bootstrap、CR2/CR3)。
- [ ] 同一个文件里标准误设定保持一致;不同规格间变动必须有说明。
- [ ] 没有裸跑 OLS(无 `robust` / 无 `vce()`)——应用研究中几乎从不合适。
- [ ] 用了抽样权重就必须同时正确处理 `svyset` 的分层与聚类。
- [ ] 双向聚类是否必要(如同时按班级和年份)。
> **这是应用研究里最常见的错误来源。** 教育干预研究的处理多在班级/学校层面,
> 忽略聚类会让标准误偏小、p 值偏小、把不显著说成显著。
#### 4.5 审计清单 E — 多重检验是否校正
- [ ] 数一数检定的结局变量个数:**>3 个主结局未校正**即为问题。
- [ ] 结局"家族"(如 5 个动机维度)需做族错误率校正。
- [ ] 子组分析有无预注册;子组是否用处理后的变量定义(禁止)。
- [ ] 有没有"寻宝"模式:跑了很多子组,只报显著的。
- [ ] 校正方法已声明:Bonferroni / Holm / BH-FDR / FWER,或明确"主结局仅 1 个,无需校正"。
- [ ] 有预注册时,主/次结局的划分与预注册一致,偏离处标为探索性。
#### 4.6 审计清单 F — p-hacking 风险点
| 风险点 | 长什么样 | 应对 |
|---|---|---|
| 边跑边加控制 | 加到 p<0.05 就停 | 分析计划里固定控制变量集;报告全部规格 |
| 挑规格 | 跑了 20 组只报 1 组 | **规格曲线(specification curve)**:全部规格都报;或附"多规格稳健性表" |
| 删异常值 | 删到显著为止 | 先定阈值再跑;同时报含/不含异常值两套结果 |
| 换结局变量 | 主结局不显著就换一个 | 主结局按设计固定;其他标为探索性 |
| HARKing | 事后假设写成像事前假设 | 有预注册就对 PAP;无预注册就明说"探索性" |
| 偷看数据 | 边收数据边检验,显著就停 | 定样本量再收;或做序贯检验并校正 |
| 只在缩尾后报告 | 用缩尾结果掩盖敏感性 | 原始与缩尾结果并列 |
**输出**:`实证审计报告.md`,骨架参照 `econ-audit` 的输出格式并中文化:
概览(总体评价 + 各级问题计数)→ 识别与设计评估 → CRITICAL/HIGH 问题(逐条:问题/后果/方向性/
修复建议)→ MEDIUM → LOW → **规格汇总表**(规格 / 结局 / 处理 / 控制 / FE / 聚类 / N / 标记)→
审计清单勾选表(PASS/FAIL/WARN/NA)→ 下一步三件事。
严重度定义(照搬 econ-audit 口径):
| 级别 | 含义 | 处理时点 |
|---|---|---|
| **CRITICAL** | 会得出错误推断:标准误错、因果主张失效、结论推不出来 | 任何汇报/投稿前必须修 |
| **HIGH** | 有实质性错误推断风险:设定可疑、关键稳健性缺失、核心假设未检验 | 投稿前必须修 |
| **MEDIUM** | 该说明或该检验的选择,可能是有意的但缺文档 | 修改稿中处理 |
| **LOW** | 次要建议 | 视情况 |
**退出条件**:CRITICAL 项清零,**或**教师书面确认接受并有理由(写进报告,不偷偷放过);
每条发现都有"方向性"说明(把结果推向哪边);规格汇总表填满。
---
### 阶段五 · 数据分析与结果呈现
**输入**:通过审计(或教师确认接受风险)的数据与分析计划。
**动作**:
#### 5.1 描述统计与交叉表(可立即执行)
```bash
# 在技能包根目录(含 CONVENTIONS.md 的那一级)执行
PY="skills/office-layer/.venv/bin/python"
export MPLCONFIGDIR=/tmp/mplcache && mkdir -p /tmp/mplcache
$PY skills/research-assistant/scripts/desc_stats.py \
--in 研究数据.xlsx --sheet 数据 \
--num 后测成绩,学习动机 \
--cross 组别,后测成绩 --cross 组别,性别 \
--out-md 过程/描述统计.md --out-json 过程/描述统计.json
$PY skills/office-layer/scripts/xlsx_kit.py build --spec 过程/描述统计.json --out 描述统计.xlsx
$PY skills/office-layer/scripts/xlsx_kit.py inspect --in 描述统计.xlsx # 自检:工作表与行列数
```
脚本产出 4 张表:说明(数据来源/行数/缺失编码/声明)、连续变量(N/缺失/均值/标准差/P25/中位数/P75/极值)、
分类变量(频数+占比)、交叉表(频数与行内百分比)。
> 提示:`--cross` 的两个变量**都应是分类变量**。若把连续变量(如后测成绩)放进去,
> 会生成几十列、每格 1 人的宽表,没有解释价值。正确做法是先在数据里生成分组变量
> (如按前测分数分三段),或改用 `--num` 把它当连续变量出描述统计。
> 交叉表只呈现列联频数,**是否做卡方检验、如何解释,由教师判断**——脚本不做推断。
#### 5.2 组间比较图(图表也用 office-layer 出)
```bash
# 用 xlsx_kit 原生图表:图里只放来自数据的数字
mkdir -p 过程
cat > 过程/组间比较.json <<'JSON'
{"sheets":[{"name":"组间比较",
"header":["组别","前测均值","后测均值"],
"rows":[["实验", 0, 0],["对照", 0, 0]],
"chart":{"type":"bar","title":"前后测均值对比(数字来自数据文件)","value_col":2}}]}
JSON
# ↑ rows 里的 0 必须替换成脚本算出的真实均值后再执行;不要凭印象填数
$PY skills/office-layer/scripts/xlsx_kit.py build --spec 过程/组间比较.json --out 组间比较.xlsx
```
`chart` 支持 `type: bar|line`、`value_col`(从第几列取数)、`anchor`(图表锚点位置)。
需要精细统计图时用 venv 里的 matplotlib 出 PNG:
```bash
$PY - <<'PY'
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"] = ["Arial Unicode MS", "Heiti TC", "SimHei"]
plt.rcParams["axes.unicode_minus"] = False
# 数据必须来自实际计算结果,不要在这里硬编码示例数字
PY
```
> **已知边界**:`docx_kit.py md` 目前**不支持把图片嵌进 DOCX**(无 `add_picture` 处理)。
> 交付 Word 时图需在 Word 里手动插入;汇报场景可用 `pptx_kit.py build` 的 `image` 字段自动插图。
#### 5.3 成绩类数据的教育测量分析(仅限测验)
如果是**考试/测验成绩**(不是实验数据),可用 `xlsx_kit.py analyze` 出教育测量口径的三张表:
```bash
$PY skills/office-layer/scripts/xlsx_kit.py analyze \
--in 成绩.xlsx --out 成绩分析.xlsx \
--first-q-col 3 --full-marks '[10,10,15,15]'
```
它给:难度 P(得分率)、区分度 D(高分组−低分组,各 27%)、偏度/峰度、分数段分布,
并在 JSON 里标出 `weak_questions`(D<0.2)/ `hard_questions`(P≤0.3)/ `easy_questions`(P≥0.9)。
> ⚠ **不要把区分度 D 当成干预效应量。** D 是"题目区分学生水平"的指标,
> 与研究设计的处理效应不是一回事。干预效果请用阶段一的对应分析方法,
> 报告标准化效应量(Cohen's d / 标准化 β)与置信区间。
#### 5.4 结果表规范(论文级,逐项对照)
| 规范项 | 要求 |
|---|---|
| 系数 | 报告点估计;注明是原始尺度还是标准化 |
| 标准误 | **紧接系数下方括号内**;表注写明类型:普通 / 稳健 / **聚类稳健(聚类到哪一层)** |
| 显著性标记 | 统一用 `* p<0.10, ** p<0.05, *** p<0.01`,表注必须写出临界值 |
| 样本量 | **每一列**都报 N(列间样本变化要在表注解释) |
| R² | 报 R²;面板/固定效应模型报组内 R² 或调整 R² |
| 固定效应 | 用 "Yes/No" 行标明,不要只写在正文 |
| 聚类层级 | 单列一行标明 |
| 因变量 | 表头写清因变量名称、单位、取值范围 |
| 效应量 | 教育/心理场景附 Cohen's d 或标准化系数 + 95% 置信区间 |
| 完整性 | **不删不显著的列**,不因结果不好看而不报 |
| 表注 | 数据来源、样本范围、缺失处理、异常值处理一并写在表注 |
**结果表模板(跑之前先搭好,数字全部留空)**:
| 变量 | (1) | (2) | (3) |
|---|---|---|---|
| 处理组 | 【待补:来自软件输出】 | 【待补】 | 【待补】 |
| | (【待补:标准误】) | (【待补:标准误】) | (【待补:标准误】) |
| 前测成绩 | — | 【待补】 | 【待补】 |
| 控制变量 | 否 | 是 | 是 |
| 班级固定效应 | 否 | 否 | 是 |
| 标准误聚类层级 | — | — | 班级 |
| N | 【待补:N】 | 【待补:N】 | 【待补:N】 |
| R² | 【待补:R²】 | 【待补:R²】 | 【待补:R²】 |
> 表注:括号内为聚类到班级层面的稳健标准误;\* p<0.10, \*\* p<0.05, \*\*\* p<0.01。
> 数据来源:【待补:数据文件名与版本】。
**关于"要不要跑推断统计"的边界**:
- 教师提供数据且要求跑,**可以跑**(用其本机软件或 venv),但:
1. 结果必须**原样落表**,不做手工"微调";
2. 跑了哪些规格就报哪些规格,**不得只端出显著的那一套**;
3. 每次输出保留日志文件(`.log` / 重定向输出),作为可复现证据;
4. 结论性判断交回教师。
- 教师没提供数据 → **只出空表模板 + 分析计划**,绝不预填数字。
**输出**:`描述统计.xlsx`、`组间比较.xlsx`(或 PNG 图)、`回归结果表.xlsx`、`分析与复现说明.md`
(写明:用了哪个数据文件版本、什么命令、什么软件版本,别人照着能重跑)。
**退出条件**:结果表每一格数字都能指认来源(哪个输出文件/哪一行);`分析与复现说明.md` 让别人能复现;
表注齐全。
---
### 阶段六 · 因果推断警示与结果措辞校准
**输入**:结果表 + 拟写的结论段落。
**动作**:
#### 6.1 先分清问题类型(这决定能用什么词)
| 问题类型 | 句式 | 允许的措辞 | 不允许 |
|---|---|---|---|
| 描述 | 「本样本中 A 组均值是多少」 | 描述、分布、占比 | 推论到总体 |
| 预测/相关 | 「哪些因素与 Y 相关」 | 相关、关联、共变、预测(明确是统计预测) | 导致、促进、提升 |
| 因果 | 「X 是否导致 Y」 | 仅当有识别策略时:效应、提高、降低 | 无识别策略却说因果 |
#### 6.2 常见陷阱(逐条自查)
| 陷阱 | 机制 | 教育场景例子 | 缓解 |
|---|---|---|---|
| **遗漏变量偏误** | 有共同原因没被控制 | 家庭背景同时影响选班与成绩 | 加控制、固定效应、随机化;做遗漏变量敏感性分析 |
| **反向因果** | Y 也影响 X | "学习投入高→成绩好",也可能成绩好→更投入 | 时序设计、滞后变量、工具变量 |
| **选择偏误** | 谁进入处理组不是随机的 | 选修课学生本来动机就强 | 随机化、匹配、DID、前测控制 |
| **辛普森悖论** | 总体与分组结论相反 | 全校看实验组更好,但每个班里都更差(班级构成差异) | 分层分析、加组别固定效应、同时报总体与分层结果 |
| 测量误差 | 自变量测量误差导致衰减偏误 | 用单题测"家庭支持" | 多题量表、报告信度 |
| 回归均值 | 极端组自然回归 | 只对低分组做补救 | 设对照、避免按因变量极值选组 |
| 对撞偏误 | 控制了共同结果 | 控制"是否被表扬"(既是处理又是成绩的结果) | 别控对撞变量 |
| 幸存者偏误 | 样本只剩留下的 | 只分析坚持完成课程的学生 | 报流失、ITT 分析 |
| 外部效度误推 | 一个班结论说成普适 | 「本方法适用于所有高校」 | 明确情境边界 |
| 生态谬误 | 群体层面推个体 | 班级平均分高 → 该班每个学生都好 | 层级匹配分析 |
#### 6.3 措辞校准(交付前逐句过)
| ❌ 不能写 | ✅ 改成 |
|---|---|
| X 提高了 Y | 在本样本中,X 组 Y 的均值高于对照组(差值为…,聚类稳健标准误…);是否为因果效应取决于识别策略 |
| 证明了 / 证实了 | 与…一致 / 提示 / 在本样本中观察到 |
| 显著影响 | 统计上显著相关(【待补:系数与 p 值,来自实际输出】) |
| 说明 X 是 Y 的原因 | 与"X 是 Y 的可能原因"相容;本研究设计无法排除【待补:具体替代解释】 |
| 效果显著,说明该教学法有效 | 若按【待补:设计类型】的识别假设成立,可解释为处理效应;主要威胁为【待补:效度威胁】 |
| 所有学生都受益 | 未做异质性分析前无法判断受益分布;如需结论请补子组分析(并做多重检验校正) |
**识别策略清单**(有其一才可讨论因果):
| 策略 | 需要的支持性证据 |
|---|---|
| 随机化 | 随机化过程记录、平衡性检验表 |
| DID | **平行趋势检验**(事前趋势图/回归)、同期无其他冲击的论证 |
| IV | 一阶段 F ≥ 10、排他性约束的实质论证 |
| RD | 断点连续性、无操纵检验(密度检验)、多带宽稳健性 |
| 固定效应 | 说明变异来源,确认感兴趣的处理变异没被吸收 |
| 匹配/PSM | 匹配前后平衡表、共同支撑域、对不可观测混淆的承认 |
**没有识别策略时**:明确写"本研究报告的是相关关系(association),不主张因果(causation)"。
**输出**:`结论措辞校准表.md`(原句 → 问题 → 改后句),以及全套交付物定稿。
#### 6.4 交付
```bash
PY="skills/office-layer/.venv/bin/python"
$PY skills/office-layer/scripts/docx_kit.py md --in 研究报告初稿.md --out 研究报告初稿.docx \
--title "【待补:研究标题】"
$PY skills/office-layer/scripts/docx_kit.py inspect --in 研究报告初稿.docx # 自检段落/表格/字数
```
需要给学生或合作者标注待改处时用**原生批注**:
```bash
cat > 过程/批注.json <<'JSON'
[{"anchor": "本研究报告的是相关关系,不主张因果",
"text": "此处措辞已按识别策略降级;若补做平行趋势检验,可升级为因果讨论。"}]
JSON
$PY skills/office-layer/scripts/docx_kit.py comment \
--in 研究报告初稿.docx --out 研究报告初稿_批注.docx \
--comments 过程/批注.json --author "研究助理"
```
> `comment` 的 `anchor` 必须与正文**逐字一致**(含标点),否则退出码为 2,读返回 JSON 的 `failed` 逐条修。
**退出条件**:全文因果措辞与识别策略强度匹配;每处结论都有 `【待教师确认:…】` 位;
交付说明写明"初稿,请重点核对数据来源、统计输出与因果表述"。
---
## 绝不虚构(最高红线,独立成节)
> 高校研究材料一旦编造,后果是学术不端。以下每一条都是**硬约束**,不是建议。
> 规则沿用 `skills/awesome-benzi/references/EVIDENCE_MODEL.md`(`EV-CARD-005`、`EV-LIT-005`、`EV-UNKNOWN-001`)。
### 1. 文献:绝不生成引用
- 作者、年份、期刊名、卷期页码、DOI、标题 —— **一律不得由模型生成**。
- 只有教师材料(`.bib` / 参考文献列表 / `pdfs/` 里的原文 / 论文初稿)里有的引用才能写。
- 材料里没有 → 写 `【待补文献:<主题>,建议检索关键词:<词1;词2>】`,并汇总到 `【待补文献】清单.md`。
- **禁止**"我记得有一篇 XX(2019)做过类似研究"这类凭记忆的引用。模型记忆里的文献细节经常是错的,
写出来就是编造。
- 联网检索档(教师明确授权时):只产出**线索**,每条必须带可点击链接与检索日期,
统一标注 `【联网检索线索,未核对原文,请自行核对 DOI 与页码】`,**未拿到原文不得进参考文献列表**。
- 正文引用用 `[n]` 数字标识,与证据卡一一对应;**没有证据卡的引用直接留空**,让教师补。
### 2. 数据:绝不生成、绝不填补
- 不生成任何"看起来合理"的数值:均值、百分比、相关系数、样本量、效应量都不行。
- 不补全缺失值、不构造"示例数据"充当真实数据。
- 不修改原始数据文件;所有产出写进 `过程/` 或新文件。
- 所有数字必须能指认来源:**哪个文件、哪个工作表、哪一行、哪个脚本**。
### 3. 统计结果:绝不预填
- 结果表里系数、标准误、p 值、R²、N 一律先留 `【待补:…】`,跑完把**实际输出原样**回填。
- 不"估计一下大概是多少",不四舍五入凑成好看的数字,不把不显著改成显著。
- 只报告跑了的结果;**跑了 10 组只报 1 组就是选择性报告**。
- 保留日志(`.log`、stdout 重定向),作为可复现证据。
### 4. 越界自检(一旦出现这个念头,就是编造的起点)
- 「这个数字大概是…」→ **停**,去跑脚本或留占位。
- 「我记得有篇文献…」→ **停**,留 `【待补文献】`。
- 「审稿人应该想看显著结果…」→ **停**,报告实际结果。
- 「缺失几个值补上均值不影响」→ **停**,写明缺失,让教师决定。
---
## 产出物
| 文件 | 内容 | 通道 |
|---|---|---|
| `研究设计说明书.docx` | 研究问题、设计类型与理由、变量角色、抽样、分析计划、**效度威胁与控制表**、伦理说明、预判局限 | `docx_kit md` |
| `文献综述_初稿.docx` | 按主题/时间/方法/争论组织的综述 + 综述矩阵 + 缺口表 | `docx_kit md` |
| `【待补文献】清单.md` | 教师需自行补全的文献主题与建议检索词 | Markdown(工具清单) |
| `数据字典.xlsx` | 变量名/含义/类型/取值/缺失编码/单位/来源/构造/角色 | `xlsx_kit build` |
| `数据版本记录.md` | 每次数据改动一行 | Markdown |
| `数据处理说明.docx` | 缺失处理、异常值处理、变量构造(可直接进论文方法章) | `docx_kit md` |
| `实证审计报告.docx` | 分级问题清单 + 规格汇总表 + 审计清单勾选表 + 下一步 | `docx_kit md` |
| `描述统计.xlsx` | 连续变量、分类变量、交叉表、说明页 | `desc_stats.py` → `xlsx_kit build` |
| `回归结果表.xlsx` | 系数/标准误/星号/N/R²(数字来自实际输出) | `xlsx_kit build` |
| `结论措辞校准表.docx` | 原句 → 问题 → 改后句 | `docx_kit md` |
| `分析与复现说明.md` | 数据版本、命令、软件版本,供他人复现 | Markdown |
命名与目录建议:
```
研究项目/
├── 数据/ 原始数据(只读,勿改)+ 脱敏版
├── 文献/ .bib、参考文献列表、pdfs/
├── 过程/ 脚本输出、中间文件、日志(任务结束提醒清理)
└── 交付/ 上表产出物
```
## 红线
1. **不虚构是最高红线**:不生成文献引用、不生成数据、不预填统计结果。
未知一律 `【待补:…】` / `【待补文献:…】`。
2. **不代写论文结论**。可以起草"结果描述"段落(只陈述数据事实),
但**研究结论、理论贡献、政策建议由教师本人作出**;
结论段落必须留 `【待教师确认:结论表述】`。发现结论超出识别策略能支撑的范围,直接指出并降级措辞。
3. **不做无识别策略的因果断言**。没有随机化/DID/IV/RD/固定效应等识别策略支撑,
就只能写"相关/关联"。这条在审稿与答辩中是硬伤,AI 必须替教师挡住。
4. **数据属研究机密**:
- 未发表数据、被试信息、合作方数据、伦理审查材料**只在本机处理**,不上传、不外发、不写入任何外部服务;
- 中间文件(转换产物、缓存、导出 CSV)在任务结束后提醒教师删除;
- 含个人信息的交付物必须标注「本文件含可识别个人信息,请注意保管」;
- 对外分享的分析数据先脱敏。
5. **不修改教师原始数据**,不覆盖已有交付物;新版本另存并登记版本。
6. **不改写结果去迎合假设**。发现结果与假设相反,如实报告并讨论——这是研究的一部分。
7. **涉及人的研究提示伦理审查**。涉及未成年人、可识别信息、干预实验时,
提醒教师确认伦理审查与知情同意(参照 `quasi-experimental-design.md` 的 IRB 准备节)。AI 不代替审查。
8. **文件产出只走 `skills/office-layer/`**。不用文本框拼表格,不手搓 OOXML,
不生成 `.md` 当交付物(教师明确只要 Markdown 除外)。
9. **不放任 CRITICAL 问题**。审计发现的 CRITICAL 项若不修,必须在报告与交付说明中明确标注,
不得默默略过。
## 自检清单
**不虚构(第一优先,逐条核)**
- [ ] 全文没有任何模型生成的文献(作者/年份/期刊/DOI 都能在教师材料里找到)
- [ ] 每个缺口都有材料依据或明确的 `【待补文献】`
- [ ] 所有数字都能指认来源文件与生成命令;没有一个数字是模型"估"的
- [ ] 结果表里的 `【待补:…】` 已由实际输出回填,**或**明确仍是待补状态
- [ ] 没有生成过"示例数据"充当真实数据
**设计**
- [ ] 研究问题 → 设计类型的对照有明确理由(阶段一决策表已过)
- [ ] 效度威胁表四类(内部/外部/构念/统计结论)都过了一遍,每条有控制动作或写入局限
- [ ] 处理分配层级 → 聚类层级一致
- [ ] 样本量/检定力有交代
**数据**
- [ ] 数据字典每个分析变量都有含义/类型/取值/缺失编码/来源
- [ ] 缺失编码统一(-99/-98/-97 含义分明),无"缺失当 0"
- [ ] 无未记录的填补;有填补则做了敏感性分析
- [ ] 原始数据未被修改;版本有记录
**分析**
- [ ] 审计六项清单(样本/变量/设定/聚类/多重检验/p-hacking)逐条过完
- [ ] CRITICAL 项清零,或有教师书面确认
- [ ] 结果表:系数、标准误、显著性标记、N、R²、固定效应行、聚类层级行、表注齐全
- [ ] 跑了多少规格就报多少规格,无不显著规格被隐藏
- [ ] 日志已保留
**措辞与交付**
- [ ] 因果措辞与识别策略强度匹配;无识别策略处写的是"相关/关联"
- [ ] 结论段落留了 `【待教师确认:结论表述】`,未代写结论
- [ ] 交付说明写明"初稿,请重点核对:数据来源 / 统计输出 / 因果表述 / 效度威胁"
- [ ] 含个人信息的文件已标注保管提示
- [ ] 中间文件清单已给教师,提醒删除
- [ ] 所有 docx/xlsx 都由 `office-layer` 生成,并用 `inspect` 自检过
Files in this skill
- SKILL.md
- scripts/desc_stats.py
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.