Skip to content
Back to skills

Admin Reporting

ASecurity

高校教师行政填报与迎检材料全流程辅助:教学工作量统计、专业认证与审核评估材料、课程目标达成度计算、教学检查归档、课程思政材料、实验室安全自查、年度统计报表、教学工作总结与计划。当教师说「统计教学工作量」「专业认证材料怎么整」「教学检查要归档什么」「算课程目标达成度」「评估材料缺什么」「实验室安全自查表」「写教学工作总结」时使用。核心是把我变成一台材料体检加批量生成的机器:先把缺件和口径问题查清楚,再一次性收集信息,最后走 office-layer 批量产出表格与报告,全部数字有出处、无出处一律占位。Triggers: 统计教学工作量、专业认证材料怎么整、审核评估材料清单、教学检查要归档什么、算课程目标达成度、大纲达成度怎么写、试卷分析报告、支撑材料索引、课程思政材料、实验室安全自查、教学工作总结、年度统计报表、缺件追踪表、迎检材料。

  • 11 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 20, 2026
educationpythongobash

Security analysis

A100/100

Scanned October 20, 2026

npx -y skills add EtherealMingo/university-teacher-skills --skill admin-reporting --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Admin Reporting?

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

Security grade badge for Admin Reporting
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/etherealmingo-admin-reporting/badge)](https://www.skillsdirectory.com/skills/etherealmingo-admin-reporting)

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: admin-reporting
description: "高校教师行政填报与迎检材料全流程辅助:教学工作量统计、专业认证与审核评估材料、课程目标达成度计算、教学检查归档、课程思政材料、实验室安全自查、年度统计报表、教学工作总结与计划。当教师说「统计教学工作量」「专业认证材料怎么整」「教学检查要归档什么」「算课程目标达成度」「评估材料缺什么」「实验室安全自查表」「写教学工作总结」时使用。核心是把我变成一台材料体检加批量生成的机器:先把缺件和口径问题查清楚,再一次性收集信息,最后走 office-layer 批量产出表格与报告,全部数字有出处、无出处一律占位。Triggers: 统计教学工作量、专业认证材料怎么整、审核评估材料清单、教学检查要归档什么、算课程目标达成度、大纲达成度怎么写、试卷分析报告、支撑材料索引、课程思政材料、实验室安全自查、教学工作总结、年度统计报表、缺件追踪表、迎检材料。"
---

# 行政填报与迎检材料

> **Goal**:把「一堆表格 + 一堆迎检材料」从手搓变成流水线。先做**材料体检**
> (缺什么、口径差在哪、哪些数字对不上),把问题一次性问完,再**批量生成**
> 缺件追踪表、工作量统计表、达成度计算表、支撑材料索引与各类总结报告。
>
> **所有数字必须有原始出处**(课表 / 成绩单 / 教学任务书 / 学校模板),
> 无出处一律写 `【待补:数据来源】`。**产出是初稿,不是终稿。**

## 何时使用

- 「统计一下我这学期的教学工作量 / 课时怎么算」
- 「专业认证(工程教育认证 / 师范认证)材料怎么整」「审核评估要交什么」
- 「教学检查要归档什么材料」「期中教学检查材料清单」
- 「算一下课程目标达成度」「达成度怎么算才不被退回」
- 「评估材料还缺什么」「帮我做个缺件追踪表」
- 「课程思政元素怎么挖」「思政融入点写不出来」
- 「实验室安全自查表 / 隐患台账 / 整改记录」
- 「学生数、成绩分布、教改项目、论文成果统计一下」
- 「写学期教学工作总结」「下阶段教学工作计划」

**不适用**:试卷命题与审核(走 `exam-pipeline`)、教案设计(走 `lesson-plan`)、
职称述职(走 `annual-review`)。本技能只处理**填报、归档、佐证、汇总**这一类行政产出。

**特别注意**:本技能给出的是**通用方法**。各校、各学院、各认证专业的工作量折算系数、
达成度达标值、材料清单目录、命名规范**都不同**,落笔前必须让教师提供本校文件,
一切以**本校最新文件**为准。

## 底座(禁止重写)

| 路径 | 用途 |
|---|---|
| `skills/office-layer/scripts/xlsx_kit.py` | **统计表主力**:`build` 出任意结构表格 + 原生图表;`analyze` 出成绩分析(得分率/区分度/分数段);`inspect` 自检 |
| `skills/office-layer/scripts/docx_kit.py` | 报告产出:`md` 出 Word;**`comment` 写 Word 原生批注**(大纲/材料审校意见直接批在文件上);`spec` 出带人工确认位的排版稿;`inspect` 自检 |
| `skills/awesome-benzi/references/QUALITY_GATES.md` | **问题三级分级 blocked / needs-review / advisory,直接复用为缺件追踪的分级标准**;`QG-ISSUE-003` 存在 blocked 不得进入下一状态 |
| `skills/awesome-benzi/references/INPUT_MODEL.md` | `question-batch` 一次性问题机制(`IN-QUESTION-001..005`),用于一次性收集缺件 |
| `skills/awesome-benzi/references/EVIDENCE_MODEL.md` | 事实分级(`EV-FACT-001`)与冲突处理(`EV-CONFLICT-001`),防止编造数据、防止同一数字多版本 |
| `skills/awesome-benzi/references/LANGUAGE_MODEL.md` | 压掉总结/计划里的公文空话(`WR-STYLE-010..012`、`WR-STYLE-024`) |
| `skills/office-layer/` | **文件产出唯一通道** |
| `THIRD_PARTY_NOTICES.md` | 底座溯源与许可证合规说明 |

**环境自检**(每次开始前跑一次):

```bash
cd <技能包根目录>          # 全部底座路径(skills/...)都是相对包根写的
python3 verify.py                                   # 依赖与包完整性
PY="skills/office-layer/.venv/bin/python"           # 后续所有命令都用这个解释器
```

## 前置信息收集(intake,一次性问完)

按 `INPUT_MODEL.md` 的 `question-batch`(`IN-QUESTION-002`:同批合并路线、模板、格式与
改变任务成立条件的事实缺口;`IN-QUESTION-004`:用户回复后**不连环追问**),
把下面这些**合并成一次提问**。不要边做边问,那是教师最烦的体验。

**第 1 组 · 路径与模板(必需)**

1. 学校 / 学院 / 专业名称,本次是哪一类:`工作量统计` / `专业认证` / `审核评估` /
   `教学检查归档` / `课程思政` / `实验室安全` / `统计报表` / `总结计划`?
2. 截止时间与提交对象(学院教务办 / 评估办 / 认证工作组 / 上级部门)?
3. **学校模板文件在哪**?(有则给路径,无则按通用结构出,并标注「结构为通用模板」)
4. 现有材料放在哪个目录?(本技能只读,不修改原始材料)

**第 2 组 · 口径(最容易出错的一组)**

5. 本校 / 本专业的工作量折算系数文件(理论课、实验课、实习、毕设指导各算多少?)
6. 是否有人数系数(如合班 >60 人如何折算)、重复课是否计、新课 / 双语课系数?
7. 达成度达标值是多少(常见 0.65 / 0.70,各校各专业不同)?课程目标权重以哪份大纲为准?
8. 材料命名规范与目录结构有什么硬性要求?

**第 3 组 · 数据源(决定能不能做)**

9. 课表、教学任务书、成绩单、选课名单分别在哪?(工作量与人数核对的**唯一依据**)
10. 课程大纲 / 教学大纲(含课程目标与支撑矩阵)在哪里?
11. 有无往年同类材料可作体例参照?

**缺什么也不能缺模板与口径文件** —— 这两样没有就先用通用结构推进,
并在交付物首页标注「**结构为通用模板,折算系数/达标值待教师按本校文件核对**」,
而不是停下干等(`CONVENTIONS.md` 第 4 节:信息不全时用安全默认值继续,并标注何处用了默认值)。

## 工作流

### 阶段零 · 建材料台账(所有场景的第一步)

- **输入**:intake 回答 + 学校模板 + 现有材料目录
- **动作**:扫描现有材料目录,按 `INPUT_MODEL.md` 的 `IN-SOURCE-001` 为每个文件登记
  `文件名 / 格式 / 类型 / 归属场景 / 是否可用 / 备注`(**只登记,不修改**)。
  模板文件用 `IN-TEMPLATE-001..006` 提取栏目结构与固定说明,区分
  「固定文字 / 占位区 / 可编辑正文」。
- **输出**:`材料台账.xlsx`(单表,一文件一行)
- **退出条件**:台账里每个文件都有明确归类,且模板结构已提取完

```bash
cat > 材料台账.json <<'EOF'
{"sheets": [
  {"name": "材料台账",
   "header": ["序号","文件名","格式","材料类型","对应场景","归属指标点","是否可用","来源目录","备注"],
   "rows": [["1","【待补:文件名】","docx","课程大纲","专业认证","【待补:指标点】","待核","【待补:路径】",""]],
   "widths": [6,34,8,14,12,14,10,30,24]}
]}
EOF
$PY skills/office-layer/scripts/xlsx_kit.py build --spec 材料台账.json --out 材料台账.xlsx
$PY skills/office-layer/scripts/xlsx_kit.py inspect --in 材料台账.xlsx
```

### 阶段一 · 缺件追踪表(本技能的核心工具)

**这是整份材料工作的驾驶舱。** 一眼看出卡在哪、卡在谁身上、什么时候必须解决。

- **输入**:阶段零的台账 + 学校要求的材料清单(模板或通知)
- **动作**:按学校清单逐条比对现有材料,**每一条**给出三级分级
  (完整复用 `QUALITY_GATES.md` 的 `QG-ISSUE-002`);
  存在 `blocked` 时不得进入交付状态(`QG-ISSUE-003`):

| 级别 | 含义 | 处理 |
|---|---|---|
| `blocked` | **必需材料缺失**,或数字无原始出处、口径未定 | 立即列入一次性问题,向教师 / 责任人要 |
| `needs-review` | 材料已有但**待核实**:数字对不上、版本存疑、口径与本校文件不符 | 标注差异点,交教师确认 |
| `advisory` | 建议补充的完善项(如缺少过程性记录、佐证不够充分) | 记入建议,不阻断 |

- **输出**:`缺件追踪表.xlsx`

表格结构(关键列,缺一不可):

| 序号 | 材料名称 | 对应指标点 | 分级 | 状态 | 责任人 | 截止时间 | 存放路径 | 阻塞原因 / 待确认事项 |
|---|---|---|---|---|---|---|---|---|
| 1 | 课程教学大纲 | 1.1 / 2.3 | blocked | 缺失 | 【待补:责任人】 | 【待补:日期】 | — | 需 2024 版,现行版本为 2022 版 |
| 2 | 试卷分析报告 | 3.2 | needs-review | 待核 | 本人 | 【待补:日期】 | `…/试卷分析` | 平均分与成绩单不一致(差 2.3 分) |

```bash
cat > 缺件追踪表.json <<'EOF'
{"sheets": [
  {"name": "缺件追踪表",
   "header": ["序号","材料名称","对应指标点","分级","状态","责任人","截止时间","存放路径","阻塞原因/待确认事项"],
   "rows": [["1","【待补:材料名称】","【待补:指标点】","blocked","缺失","【待补:责任人】","【待补:日期】","—","【待补:缺什么】"]],
   "widths": [6,28,12,14,10,12,12,30,34]},
  {"name": "分级汇总",
   "header": ["分级","条数","占比"],
   "rows": [["blocked","",""],["needs-review","",""],["advisory","",""]],
   "widths": [16,10,10],
   "chart": {"type":"bar","title":"缺件分级分布","value_col":2,"anchor":"E2"}}
]}
EOF
$PY skills/office-layer/scripts/xlsx_kit.py build --spec 缺件追踪表.json --out 缺件追踪表.xlsx
```

- **退出条件**:`blocked` 条数已明确并向教师列出「一次性问题清单」;
  每条都有责任人与截止时间(无责任人则写 `【待补:责任人】`,不得留空蒙混)

### 阶段二 · 教学工作量统计

高校教师最常填、最容易被打回的表。**真正的难点不是加法,是口径。**

- **输入**:课表、教学任务书、成绩单 / 选课名单、**本校折算系数文件**
- **动作**:

1. **三门数据源交叉核对**(这一步不能省):
   - `课表` → 每门课的学时、周数、上课班级
   - `教学任务书` → 认定的计划学时、课程性质(理论 / 实验 / 实习 / 毕设)
   - `成绩单 / 选课名单` → **实际班级人数**(不是教务系统里的名义人数)
2. 按课程性质套**本校**折算系数(AI 不自拟,见红线 1)
3. 汇总:总课时、班级人数、课程门数、折算后工作量
4. 列出**差异清单**:哪门课的学时数在三个来源里不一致

**常见口径差异**(务必逐条向教师确认,这是被打回的头号原因):

| 口径点 | 常见分歧 | 核对方法 |
|---|---|---|
| 计划学时 vs 实际授课学时 | 调课、停课后按哪个算 | 用教学任务书的认定学时,并附调课审批记录 |
| 合班课人数系数 | 60 人以上是否加系数、按哪个档 | 查本校工作量办法;无文件则不套系数并在备注写明 |
| 重复课(同一课程多轮次) | 是否计、计几次 | 查本校文件;一般首次全额、重复按比例 |
| 实验课折算 | 按学时还是按批次(分组数) | 看实验分组数与实验指导记录,按本校口径取一 |
| 实习 / 实践 | 按周、按天还是按学时 | 用实习计划书 + 考勤记录 |
| 毕设指导 | 按生计(每生折多少学时) | 成绩单上的实际指导学生数;注意有无上限(如超过 8 人不再累加) |
| 新课 / 双语课系数 | 是否有上浮、上浮多少 | 查本校文件,并备新课认定材料 |
| 课程门数统计 | 同一课程不同班级算 1 门还是多门 | 学校口径不同,按填报口径填并写备注 |

- **输出**:`教学工作量统计表.xlsx`(含图表)
- **退出条件**:每个数字都能指回**具体来源文件与位置**;差异项已列明并有处理结论

```bash
cat > 教学工作量统计表.json <<'EOF'
{"sheets": [
  {"name": "工作量明细",
   "header": ["序号","课程代码","课程名称","课程性质","班级","人数","计划学时","周数","折算系数","折算工作量","数据来源","备注"],
   "rows": [["1","【待补:课程代码】","【待补:课程名称】","理论课","【待补:班级】","","","","【待补:按本校文件】","","课表/任务书/成绩单",""]],
   "widths": [6,14,22,12,16,8,10,8,12,12,20,24]},
  {"name": "课程类别汇总",
   "header": ["课程性质","课程门数","合计人数","合计学时","折算工作量"],
   "rows": [["理论课","","","",""],["实验课","","","",""],["实习/实践","","","",""],["毕设指导","","","",""],["合计","","","",""]],
   "widths": [16,10,12,12,14],
   "chart": {"type":"bar","title":"各课程性质折算工作量","value_col":5,"anchor":"G2"}},
  {"name": "口径差异待核",
   "header": ["课程名称","差异点","课表值","任务书值","成绩单/名单值","拟采用","依据文件","确认状态"],
   "rows": [["【待补:课程名称】","学时不一致","","","","","【待补:本校文件】","【待教师确认】"]],
   "widths": [22,18,10,12,16,12,24,16]}
]}
EOF
$PY skills/office-layer/scripts/xlsx_kit.py build --spec 教学工作量统计表.json --out 教学工作量统计表.xlsx
$PY skills/office-layer/scripts/xlsx_kit.py inspect --in 教学工作量统计表.xlsx
```

### 阶段三 · 专业认证 / 审核评估材料(最大的一摊)

这是本技能的主战场,按四个子步骤推进。

#### 3a · 材料清单管理与缺件追踪

直接复用**阶段一**的缺件追踪表,但清单换成认证 / 评估的**指标点分解表**,
每条材料必须绑定到具体指标点(否则后面做支撑索引时会重来)。

#### 3b · 大纲审校(课程大纲 / 教学大纲)

- **输入**:课程大纲 docx、教学大纲 docx、本校大纲模板
- **动作**:逐节比对模板要求的结构项,检查:课程目标是否**可测量**(能对应考核方式)、
  目标与毕业要求指标点的支撑关系是否写明、考核方式与成绩构成是否与大纲一致、
  学时分配与课表是否一致
- **输出**:用 `docx_kit` 的 **`comment` 命令把审校意见写成 Word 原生批注** ——
  教师打开大纲就看到批注气球,改完即用,不必对着另一份清单来回找
- **退出条件**:`failed` 为空且退出码为 0(**锚点未命中会以退出码 2 结束,不可忽略**)

```bash
cat > 大纲审校意见.json <<'EOF'
[
  {"anchor": "课程目标2:掌握数据结构的基本算法设计方法",
   "text": "目标表述不可测量。建议改为「能针对给定问题选择合适的数据结构并完成算法实现,正确率不低于 80%」——需先确认该目标对应的考核环节与达标值。"},
  {"anchor": "课程目标与毕业要求指标点的对应关系",
   "text": "此处未写明支撑强度(H/M/L)。请按本校模板补充,并确认与专业毕业要求支撑矩阵一致。"}
]
EOF
$PY skills/office-layer/scripts/docx_kit.py comment \
    --in 课程大纲.docx --out 课程大纲_审校意见.docx \
    --comments 大纲审校意见.json --author "教学副院长"
$PY skills/office-layer/scripts/docx_kit.py inspect --in 课程大纲_审校意见.docx   # 确认批注数 > 0
```

> 锚点 `anchor` 必须是**原文逐字片段(含标点)**,正文与表格单元格内均可锚定。
> 不要凭记忆写锚点,先从原文复制。

#### 3c · 课程目标达成度计算(认证最容易出错的一环)

**算法说明(通用方法,权重与达标值必须取自本校 / 本专业文件)**

设课程有 `n` 个课程目标(CO1…COn),有 `m` 个考核环节(平时作业、实验、期中、期末、课程设计…)。

1. **建权重矩阵**:确定每个考核环节对各课程目标的**贡献权重** `w_ij`
   (课程目标 *i* 由考核环节 *j* 支撑的权重),同一目标下 `Σ_j w_ij = 1`。
   权重来自大纲的「课程目标—考核方式支撑矩阵」,**AI 不得自拟**。
2. **算环节得分率**:对目标 *i*、环节 *j*,取该环节中**考查该目标的那部分**的
   学生平均得分与对应满分:

   ```
   得分率 R_ij = (该环节中考查目标 i 的题目/评分点 平均得分) / (该部分满分)
   ```

   若该环节整体只考一个目标,则 `R_ij = 环节平均分 / 环节满分`。
3. **算单目标达成度**(加权):

   ```
   达成度 CO_i = Σ_j ( w_ij × R_ij )
   ```

4. **算课程总体达成度**:

   ```
   课程达成度 = Σ_i ( W_i × CO_i ),其中 W_i 为课程目标 i 的权重,Σ W_i = 1
   ```

5. **判达标**:与本校规定的**达标值**(如 0.65 / 0.70)比较,逐目标判定。
6. **可选 · 逐生达成度**:把每个学生按同一算法算一遍,用于识别个体差异
   (**学号必须脱敏**,见红线 3)。

> **红线提醒**:达成度不是「算出来」的,是「教出来」的。
> 不得为了凑达标而**调整数据、改权重、删掉低分学生、挑有利的考核环节**。
> 未达标就如实写未达标,并在「持续改进」一节写明分析原因与改进措施 ——
> 这才是认证专家真正想看的东西。见红线 2。

**表格结构**(三张表,`xlsx_kit build` 一次生成)

表 A · 课程目标—考核环节权重矩阵:

| 课程目标 | 描述 | 平时作业 | 实验 | 期中 | 期末 | 权重合计 | 目标权重 W_i | 达标值 |
|---|---|---|---|---|---|---|---|---|
| CO1 | 【待补:取自大纲】 | 0.4 | 0.3 | 0 | 0.3 | 1.00 | 0.30 | 【待补:本校值】 |

表 B · 达成度计算表(核心):

| 课程目标 | 考核环节 | 该部分满分 | 平均得分 | 得分率 R_ij | 环节权重 w_ij | 加权值 | **目标达成度 CO_i** | 达标值 | 是否达标 |
|---|---|---|---|---|---|---|---|---|---|
| CO1 | 平时作业 | 【待补】 | 【待补】 | 0.82 | 0.4 | 0.328 | | | |
| CO1 | 期末 | 【待补】 | 【待补】 | 0.71 | 0.3 | 0.213 | **0.76** | 【待补】 | 【待教师确认】 |

表 C · 学生成绩—目标得分明细(**学号脱敏**):一行一学生,列为各考核环节在
各目标上的得分。此表用于上面两张表的取数,是**唯一原始数据入口**。

```bash
cat > 达成度计算表.json <<'EOF'
{"sheets": [
  {"name": "表A_目标-环节权重矩阵",
   "header": ["课程目标","描述","平时作业","实验","期中","期末","权重合计","目标权重Wi","达标值"],
   "rows": [["CO1","【待补:取自大纲】","","","","","","","【待补:本校文件值】"],
            ["CO2","【待补:取自大纲】","","","","","","","【待补:本校文件值】"]],
   "widths": [12,34,10,10,10,10,12,12,14]},
  {"name": "表B_达成度计算",
   "header": ["课程目标","考核环节","该部分满分","平均得分","得分率Rij","环节权重wij","加权值","目标达成度COi","达标值","是否达标"],
   "rows": [["CO1","平时作业","","","","","","","【待补】","【待教师确认】"],
            ["CO1","期末","","","","","","","【待补】","【待教师确认】"]],
   "widths": [12,14,12,12,12,12,10,16,12,14]},
  {"name": "表C_学生得分明细(脱敏)",
   "header": ["学生编号","平时作业得分","实验得分","期中得分","期末得分","备注"],
   "rows": [["S001","","","","","学号已脱敏;原始表见【待补:路径】"]],
   "widths": [14,14,12,12,12,34]}
]}
EOF
$PY skills/office-layer/scripts/xlsx_kit.py build --spec 达成度计算表.json --out 课程目标达成度计算表.xlsx
$PY skills/office-layer/scripts/xlsx_kit.py inspect --in 课程目标达成度计算表.xlsx
```

**配套材料**:

- **试卷分析**:直接用 `xlsx_kit 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,10,20,10,10]'
```

  > 区分度 D 的判读口径:D≥0.4 优良|0.3–0.39 良好|0.2–0.29 尚可需修改|<0.2 应淘汰。
  > D<0.2 的题会被高亮 —— 认证专家常问「这道题考的是哪个课程目标」,
  > 区分度异常的题要能解释清楚。

- **达成度分析报告**(docx):把表 B 的结论写成叙述,含
  「达成情况 / 未达标原因分析 / 持续改进措施」三节。
  未达标原因必须基于**实际数据**(哪个目标、哪个环节、得分率多少),不得写空话。

#### 3d · 支撑材料索引(哪份材料证明哪个指标点)

认证专家现场最常做的事:**抽一个指标点,让你 5 分钟内拿出全部佐证**。
这份索引就是为这个场景准备的。

- **输入**:指标点分解表 + 材料台账
- **动作**:建立**指标点 ↔ 材料**双向映射,每条写明材料里的**具体位置**(页码 / 章节 / 表格名),
  而不是只写文件名
- **输出**:`支撑材料索引.xlsx`(可按指标点、按材料类型两种排序)
- **退出条件**:每个指标点至少有一条 `blocked` 级以外的支撑材料;
  无支撑的指标点必须在缺件追踪表里回到 `blocked`

| 指标点 | 指标点描述 | 支撑材料名称 | 材料类型 | **具体位置**(页码/章节/表名) | 支撑强度 | 分级 | 存放路径 |
|---|---|---|---|---|---|---|---|
| 1.1 | 【待补:取自分解表】 | 课程教学大纲 | 大纲 | 第 3 节「课程目标与毕业要求对应关系」 | 强 | 完整 | 【待补:路径】 |
| 3.2 | 【待补】 | 试卷分析报告 | 分析报告 | 表 2「课程目标达成度」 | 中 | needs-review | 【待补:路径】 |

### 阶段四 · 教学检查归档

期中 / 期末教学检查、教学档案专项检查的归档清单与命名规范。

- **输入**:检查通知 / 归档要求 + 现有材料目录
- **动作**:
  1. 按检查项逐条比对现有材料,出**归档清单**(用阶段一的三级分级)
  2. 统一**命名规范**,生成改名对照表(**只出对照表,让教师自己改;
     本技能不批量重命名用户原始文件**,避免误伤)
  3. 点名**平时分依据**:平时分必须有可追溯的过程记录(考勤表、作业批改记录、
     课堂表现记录、小测成绩),只有分数没有依据是检查的常见扣分点
- **输出**:`教学检查归档清单.xlsx`、`文件命名对照表.xlsx`
- **退出条件**:清单每条有分级与存放路径;命名对照表覆盖所有待归档文件

**命名规范建议模板**(必须换成本校 / 本学院要求):

```
课程代码_课程名_材料类型_学年学期_版本.扩展名
示例:0821001_数据结构_试卷分析报告_2025-2026-1_v1.docx
```

归档目录建议层级:

```
2025-2026-1/
  └── 数据结构(0821001)/
      ├── 01_课程大纲/
      ├── 02_教学大纲与教学日历/
      ├── 03_教案/
      ├── 04_课件/
      ├── 05_试卷与参考答案/
      ├── 06_成绩单/
      ├── 07_试卷分析报告/
      ├── 08_平时分依据/          ← 考勤、作业、小测、课堂表现记录
      └── 09_课程目标达成度分析/
```

归档清单表格结构:

| 序号 | 检查项 | 材料名称 | 责任人 | 是否含学生个人信息 | 页数/行数 | 分级 | 存放路径 | 备注 |
|---|---|---|---|---|---|---|---|---|
| 1 | 教学文件 | 课程教学大纲 | 本人 | 否 | 【待补】 | 完整 | `01_课程大纲/` | |
| 2 | 过程记录 | 平时分依据(考勤+作业) | 本人 | **是** | 【待补】 | needs-review | `08_平时分依据/` | 需补作业批改记录 |

### 阶段五 · 课程思政材料

- **输入**:课程大纲 / 教案、专业背景、本校课程思政建设要求
- **动作**:三步走 —— **挖元素 → 设计融入点 → 准备成效佐证**

  1. **挖元素**:从课程知识点自然关联的思政元素(家国情怀、科学精神、
     工程伦理、工匠精神、法治意识、职业规范、文化自信…)。
     **从知识点长出来,不是贴上去。** 牵强的思政点评审一眼看穿,反而扣分。
  2. **设计融入点**:每条写清「哪个章节 / 哪个知识点 / 用什么方式(案例、讨论、
     实验、作业)/ 载体材料是什么 / 预计时长」。
  3. **成效佐证**:学生反馈、作业中的体现、课堂讨论记录、调查问卷。
-**红线**:**成效佐证必须来自真实材料**。没有就写 `【待补:成效佐证材料】`,
     绝不编造学生反馈、问卷数据或教学效果。

- **输出**:`课程思政融入设计表.xlsx` + `课程思政实施小结.docx`
- **退出条件**:每个融入点都有载体材料或明确占位;成效部分无编造内容

| 章节 | 知识点 | 思政元素 | 融入方式 | 载体材料 | 预计时长 | 成效佐证 | 备注 |
|---|---|---|---|---|---|---|---|
| 第 3 章 | 【待补:知识点】 | 工程伦理 | 案例研讨 | 【待补:案例来源】 | 10 min | 【待补:成效佐证材料】 | 案例需教师确认适宜性 |

### 阶段六 · 实验室安全自查

- **输入**:本校实验室安全检查表 / 上级检查要点、实验室房间清单
- **动作**:出**三件套** —— 检查表、隐患台账、整改记录
  1. **检查表**:按房间 × 检查项逐条判定(符合 / 不符合 / 不适用),
     不适用必须写原因
  2. **隐患台账**:发现的问题分级(一般 / 重大)、责任人、整改期限、
     整改前状态
  3. **整改记录**:整改措施、完成时间、验证方式,附**整改前后照片**,
     验收结论留**人工签字确认位**
- **输出**:`实验室安全自查表.xlsx`、`隐患台账.xlsx`、`整改记录.docx`
- **退出条件**:每条隐患都有责任人与期限;验收结论为人工确认位而非 AI 判定

| 房间号 | 检查项目 | 检查要点 | 判定 | 隐患描述 | 隐患等级 | 责任人 | 整改期限 | 整改状态 |
|---|---|---|---|---|---|---|---|---|
| 【待补】 | 危化品存放 | 分类分区、专柜双锁 | 不符合 | 酸碱未分区 | 重大 | 【待补】 | 【待补:日期】 | 整改中 |

> 安全检查的判定涉及**安全责任**,AI 只做表格与台账的结构化,
> 「是否符合」必须由教师 / 实验室负责人现场判定并签字。

### 阶段七 · 各类统计报表

- **输入**:成绩单、学生名单、教改项目立项文件、论文成果清单
- **动作**:出年度 / 学期统计报表,**每张表带图表**(`xlsx_kit build` 的 `chart` 字段)
- **输出**:`年度统计报表.xlsx`,含多工作表:
  - 学生数统计(按专业 / 年级 / 班级)
  - 成绩分布(用 `xlsx_kit analyze` 出分数段,或直接汇总)
  - 教改项目(项目名称、级别、经费、起止时间、本人排名)
  - 论文成果(题目、期刊 / 会议、级别、时间、作者排序、DOI)
- **退出条件**:每个数字有出处;论文 / 项目等个人事实无材料一律占位

> **个人成果类数据必须来自教师提供的材料**:项目编号、论文题目、期刊名、
> DOI、作者排序一律不得由模型补全(`EVIDENCE_MODEL.md` 的 `EV-CARD-005`)。
> 缺就写 `【待补:论文信息】`。

```bash
cat > 年度统计报表.json <<'EOF'
{"sheets": [
  {"name": "学生数统计",
   "header": ["年级","专业","班级数","学生数","数据来源"],
   "rows": [["【待补:年级】","【待补:专业】","","","选课名单/成绩单"]],
   "widths": [12,24,10,10,22],
   "chart": {"type":"bar","title":"各年级学生数","value_col":4,"anchor":"G2"}},
  {"name": "教改项目",
   "header": ["序号","项目名称","级别","项目编号","经费(万元)","起止时间","本人排名","数据来源"],
   "rows": [["1","【待补:项目名称】","【待补:级别】","【待补:项目编号】","","","","立项文件"]],
   "widths": [6,34,12,18,12,20,10,20]},
  {"name": "论文成果",
   "header": ["序号","论文题目","期刊/会议","级别","发表时间","作者排序","DOI","数据来源"],
   "rows": [["1","【待补:论文题目】","【待补:期刊名】","【待补:级别】","","","【待补:DOI】","原文/检索页"]],
   "widths": [6,40,24,12,14,10,26,18]}
]}
EOF
$PY skills/office-layer/scripts/xlsx_kit.py build --spec 年度统计报表.json --out 年度统计报表.xlsx
$PY skills/office-layer/scripts/xlsx_kit.py inspect --in 年度统计报表.xlsx
```

### 阶段八 · 教学工作总结与计划

- **输入**:阶段二的工时统计、阶段三的达成度、阶段七的统计报表
- **动作**:
  1. 结构固定四节:**完成情况(用数据说话)→ 成效 → 存在问题(具体到事)→ 下阶段计划(可量化)**
  2. 用 `LANGUAGE_MODEL.md` 压掉公文空话:
     删掉「高度重视、狠抓落实、全面提升、成效显著、赋能、抓手、形成闭环」
     (`WR-STYLE-011`)、「值得注意的是、综上所述」(`WR-STYLE-010`);
     把「取得了良好效果」改成对象 + 机制 + 指标(`WR-STYLE-024`)
  3. **存在问题**一节不得写成变相表功(「虽然……但是……」句式要删);
     问题要具体到可改进的事项
  4. **计划**一条一对应对前面的问题,且可量化(有时间、有指标)
- **输出**:`教学工作总结.docx`、`下阶段教学工作计划.docx`
- **退出条件**:总结里的每个数字都能回溯到前面的统计表;
  问题与计划一一对应;无空话段落

```bash
$PY skills/office-layer/scripts/docx_kit.py md \
    --in 教学工作总结.md --out 教学工作总结.docx --title "2025-2026学年第一学期教学工作总结"
$PY skills/office-layer/scripts/docx_kit.py inspect --in 教学工作总结.docx
```

需要固定排版(页眉页脚、评语模板、显式留空位)时用 `spec`:

```bash
cat > 总结规格.json <<'EOF'
{"title": "2025-2026学年第一学期教学工作总结",
 "subtitle": "【待补:学院】 【待补:姓名】",
 "sections": [
   {"heading": "一、完成情况", "level": 1,
    "paras": ["本学期承担【待补:课程门数】门课程,合计【待补:折算工作量】学时(见《教学工作量统计表》)。"]},
   {"heading": "二、存在问题", "level": 1,
    "paras": ["【待教师确认:存在问题逐条填写,不得写成变相表功】"]},
   {"heading": "三、下阶段计划", "level": 1,
    "paras": ["【待教师确认:每条计划对应一条问题,写明时间与指标】"]}
 ]}
EOF
$PY skills/office-layer/scripts/docx_kit.py spec --spec 总结规格.json --out 教学工作总结.docx
```

### 阶段九 · 数据一致性校验(交付前必做)

**同一数字在不同表里必须一致 —— 这是迎检最常被打回的原因。**
工时数在《工作量统计表》里是 320,在《工作总结》里写成 336,材料当场就被质疑。

- **输入**:本次产出的全部表格与文档
- **动作**:建**关键数字台账**,逐个数字回溯出处并检查跨表一致性
- **输出**:`数据一致性校验表.xlsx`
- **退出条件**:校验表里**无未解决的 `blocked`**(数字冲突且无结论即为 blocked,
  按 `EV-CONFLICT-001` 保留全部变体并阻断,**不得挑有利的那个**)

**必须交叉校验的关键数字**:

| 数字 | 常见出现位置 | 校验方法 |
|---|---|---|
| 课时数 / 折算工作量 | 工作量统计表、年度考核表、工作总结、职称材料 | 三处必须同源同值 |
| 学生数 / 班级人数 | 工作量表、成绩单、成绩分析报告、达成度表 | 以成绩单实际人数为准 |
| 课程门数 | 工作量表、工作总结 | 明确统计口径(是否含重复课) |
| 成绩分布(平均分/及格率) | 试卷分析报告、达成度报告、工作总结 | 同一份成绩单算出的结果必须一致 |
| 课程目标达成度 | 达成度计算表、达成度分析报告、认证申请书 | 三处数值逐位一致 |
| 达标值 | 达成度表、分析报告 | 必须同为本校规定值 |

| 关键数字 | 数值 | 原始出处(文件+位置) | 出现位置 1 | 出现位置 2 | 出现位置 3 | 是否一致 | 差异原因 / 处理 |
|---|---|---|---|---|---|---|---|
| 折算工作量 | 【待补】 | 课表+任务书+本校系数文件 | 工作量统计表 | 工作总结 | — | 【待教师确认】 | — |

```bash
cat > 数据一致性校验表.json <<'EOF'
{"sheets": [
  {"name": "关键数字台账",
   "header": ["关键数字","数值","原始出处(文件+位置)","出现位置1","出现位置2","出现位置3","是否一致","差异原因/处理"],
   "rows": [["折算工作量","【待补】","课表+任务书+本校折算系数文件","工作量统计表","工作总结","—","【待教师确认】","—"],
            ["学生数","【待补】","成绩单(实际人数)","工作量统计表","成绩分析报告","","【待教师确认】","—"]],
   "widths": [16,12,32,20,20,20,14,30]},
  {"name": "冲突清单",
   "header": ["字段","变体A","来源A","变体B","来源B","处理结论"],
   "rows": [["【待补:字段】","","","","","【待教师确认:采用哪一个】"]],
   "widths": [16,12,22,12,22,30]}
]}
EOF
$PY skills/office-layer/scripts/xlsx_kit.py build --spec 数据一致性校验表.json --out 数据一致性校验表.xlsx
```

### 阶段十 · 交付

- 冻结内容,用 office-layer 出全部文件,逐个 `inspect` 自检
- 交付说明必须写明四件事:
  1. **这是初稿**,请重点核对 `【待补:…】` 与 `【待教师确认:…】` 处
  2. 哪些数字用了**通用默认值 / 通用结构**,需按本校文件替换
  3. 哪些材料仍是 `blocked`,卡在谁那里
  4. **含学生个人信息的文件清单**,提醒保管与用后删除中间文件

## 产出物

| 文件 | 内容 | 产出方式 |
|---|---|---|
| `材料台账.xlsx` | 现有材料清点(阶段零) | `xlsx_kit build` |
| `缺件追踪表.xlsx` | **核心驾驶舱**:清单 × 分级 × 状态 × 责任人 × 截止时间 + 分级图表 | `xlsx_kit build` |
| `教学工作量统计表.xlsx` | 课时/人数/门数/折算工作量 + 类别汇总图 + 口径差异待核表 | `xlsx_kit build` |
| `课程目标达成度计算表.xlsx` | 表A 权重矩阵 / 表B 达成度计算 / 表C 脱敏得分明细 | `xlsx_kit build` |
| `试卷分析.xlsx` | 得分率 / 区分度 / 分数段 / 分布图 | `xlsx_kit analyze` |
| `课程大纲_审校意见.docx` | **Word 原生批注**,改完即用 | `docx_kit comment` |
| `达成度分析报告.docx` | 达成情况 / 未达标原因 / 持续改进 | `docx_kit md` |
| `支撑材料索引.xlsx` | 指标点 ↔ 材料 ↔ 具体位置 双向映射 | `xlsx_kit build` |
| `教学检查归档清单.xlsx` + `文件命名对照表.xlsx` | 归档清单 + 改名对照(教师自行执行) | `xlsx_kit build` |
| `课程思政融入设计表.xlsx` + `课程思政实施小结.docx` | 元素 / 融入点 / 载体 / 成效佐证 | `xlsx_kit build` + `docx_kit md` |
| `实验室安全自查表.xlsx` / `隐患台账.xlsx` / `整改记录.docx` | 检查表 + 台账 + 整改(含人工验收位) | `xlsx_kit build` + `docx_kit md` |
| `年度统计报表.xlsx` | 学生数 / 成绩分布 / 教改项目 / 论文成果 + 图表 | `xlsx_kit build` |
| `教学工作总结.docx` / `下阶段教学工作计划.docx` | 数据说话,无空话 | `docx_kit md` 或 `spec` |
| `数据一致性校验表.xlsx` | 关键数字台账 + 冲突清单(交付前必出) | `xlsx_kit build` |

## 红线

1. **绝不编造数据**。课时、学生数、成绩、达成度、项目编号、论文信息
   **全部必须有原始出处**(课表 / 教学任务书 / 成绩单 / 立项文件 / 检索页),
   无出处一律写 `【待补:数据来源】`。
   > **迎检材料造假的后果极严重**:一旦被查出数据不实,轻则材料打回重做、
   > 全院通报,重则影响专业认证结论、评估等级,甚至涉及学术不端与纪律处理,
   > 责任落在签字的教师身上。**AI 宁可交一份满是占位的初稿,也绝不填一个编造的数字。**
   > 这条没有例外,不接受"先填个大概数字回头再改"。
2. **达成度不得凑达标**。不得为「凑达标值」而调整数据、修改权重、
   剔除低分学生、挑选有利的考核环节或更换统计口径。
   未达标就如实写未达标,把原因分析与改进措施写扎实 ——
   认证专家看的正是这一节。任何权重与达标值**必须来自本校 / 本专业文件**,AI 不自拟。
3. **学生个人信息本地处理、脱敏**。成绩、学号、姓名、身份证、联系方式
   只在本机处理,不上传、不外发;对外提交的明细表**学号必须脱敏**
   (用 `S001`、`S002` 或后四位掩码),原始表另行保存;
   交付说明里明确写出「本文件含学生个人信息,请注意保管」,
   任务结束后提醒教师删除中间文件。
4. **评价性内容留人工确认位**。是否达标、是否通过、验收结论、责任认定、
   材料适宜性等判断性内容,一律留 `【待教师确认:…】`,AI 只出草稿不给终稿。
   安全检查的「是否符合」必须由现场负责人判定并签字。
5. **各校口径不同,以本校文件为准**。折算系数、达标值、材料清单、
   命名规范、归档目录都因校而异、因专业而异。本技能给出的是**通用方法**,
   所有涉及本校规定的位置都必须提示教师核对;引用政策一律只写
   「按学校 / 学院相关规定」,不引具体条款号。
6. **不修改用户原始材料**。课表、成绩单、大纲、模板一律只读;
   过程文件放临时目录;命名对照表只出对照方案,不代为批量重命名。
7. **不忽略非零退出码**。`docx_kit comment` 退出码 2 = 锚点未命中,
   必须逐条修好锚点再交付(读返回 JSON 的 `failed` 字段)。

## 自检清单

交付前逐项过一遍:

**数据与真实性**

- [ ] 每个数字都能指回**具体来源文件与位置**(课表 / 任务书 / 成绩单 / 立项文件)
- [ ] 所有无出处的数据都写成了 `【待补:具体说明】`,没有一处被模型补全
- [ ] 项目编号、论文题目、期刊名、DOI、作者排序均来自教师材料,无编造
- [ ] 达成度计算中,权重与达标值均标注了取自哪份本校文件,无自拟
- [ ] **未为了凑达标而调整任何数据、权重或统计口径**

**一致性与口径**

- [ ] 阶段九的 `数据一致性校验表.xlsx` 已产出,且无未解决的 `blocked`
- [ ] 课时数、学生数、课程门数、成绩分布、达成度在**所有**出现位置取值一致
- [ ] 数字冲突处按 `EV-CONFLICT-001` 保留了全部变体,未擅自挑选有利值
- [ ] 已检查所有出现的位置:工作量表 / 工作总结 / 认证材料 / 考核表
- [ ] 折算系数、达标值、命名规范均在交付说明里提示了「以本校文件为准」

**缺件与流程**

- [ ] `缺件追踪表.xlsx` 已产出,每条有分级、责任人、截止时间
- [ ] `blocked` 项已明确并向教师列出清单,卡在谁那里一目了然
- [ ] 缺件信息是**一次性问完**的,没有边做边追问
- [ ] 信息不全处使用了安全默认值并已标注,没有停下干等

**文件产出**

- [ ] 所有 docx / xlsx 均由 `skills/office-layer/` 生成,无伪表格、无手搓 OOXML
- [ ] 每个文件都跑了 `inspect` 自检(段落/表格/批注数符合预期)
- [ ] `docx_kit comment` 退出码为 0,批注数 > 0,无 `failed` 锚点
- [ ] 交付物是 docx / xlsx,没有拿 `.md` 当交付物

**敏感数据与人工确认位**

- [ ] 明细表里的学号已脱敏,原始表路径另行注明
- [ ] 交付说明写明了「本文件含学生个人信息,请注意保管」
- [ ] 已提醒教师任务结束后删除中间文件
- [ ] 达标判定、验收结论、材料适宜性等判断性内容均留了 `【待教师确认:…】`
- [ ] 未替教师下「是否达标 / 是否通过」的结论

**语言质量**

- [ ] 总结 / 计划里无「高度重视、狠抓落实、全面提升、赋能、抓手、形成闭环」等空话
- [ ] 无「值得注意的是、综上所述」等 AI 套话与聊天残留
- [ ] 「存在问题」一节写的是真问题,不是变相表功
- [ ] 问题与计划一一对应,且计划可量化

**收尾**

- [ ] 交付说明写明「这是初稿,请重点核对 `【待补】` 与 `【待教师确认】` 处」
- [ ] 交付说明列出了哪些数字用了通用默认值 / 通用结构,需按本校文件替换

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.