Skip to content
Back to skills

Research Assistant

ASecurity

高校教师实证研究全流程辅助:研究设计定型、文献综述组织、数据字典建立、可复现性审计、描述统计与结果表呈现、因果措辞校准。适用于教育干预研究、问卷研究、准实验、混合方法研究的开题、数据管理与成文阶段。当教师说「帮我设计研究方案」「实证研究怎么做」「数据分析帮我跑一下」「文献综述怎么写」「稳健性检验怎么做」「这个结果能不能说因果」时使用。Triggers: 帮我设计研究方案、实证研究怎么做、数据分析、文献综述怎么写、稳健性检验怎么做、研究缺口怎么找、数据字典怎么做、变量怎么编码、这个结果能说因果吗、开题的研究方法部分、准实验设计、问卷数据怎么分析、实证审计、样本量够不够。

  • 11 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 20, 2026
ai-agentspythongobashgit

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 2 files and shows the line behind each finding

Scanned October 20, 2026

npx -y skills add EtherealMingo/university-teacher-skills --skill research-assistant --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Research Assistant?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Research Assistant
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/etherealmingo-research-assistant/badge)](https://www.skillsdirectory.com/skills/etherealmingo-research-assistant)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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.md49.6 KB
  • scripts/desc_stats.py19 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.