Files

224 lines
8.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: 课评检查
description: 检查指定课次的学生课评完成情况、班级总结完成情况、学生画像完整性。支持API出勤记录与本地课评交叉核对自动发现时间/课程编号/学生不一致问题。
type: skill
agent_created: true
---
# 课评检查技能
## 功能说明
自动检查指定课次的课评完成情况,生成完整的检查报告。
支持两种模式:
- **课次模式**:按课次检查(如"检查第11课"
- **日期模式**按日期范围检查自动调用API出勤记录与本地课评交叉核对如"检查5月15日到5月17日"
## 使用方式
### 模式一:按课次检查
```
检查第X课
```
### 模式二按日期范围检查自动API核对
```
检查 2026-05-15 到 2026-05-17
检查 5月15日到5月17日
```
---
## 检查流程
### 模式一:按课次检查
#### 1. 读取班级学生名单
`CLAUDE.md` 中读取所有班级和学生名单,作为检查基准。
#### 2. 检查学生课评文件
遍历每个班级的每个学生,检查其 `feedback/` 目录下是否有对应课次的文件:
**有效文件类型**
| 文件名特征 | 状态判定 |
|---|---|
| `YYYYMMDD_课程编号-X.md` | 正常课评 |
| `YYYYMMDD_课程编号-X(请假).md` | 请假记录 |
| `YYYYMMDD_课程编号-X(补课-去XX班).md` | 补课/调课记录 |
| `YYYYMMDD_课程编号-X(补课).md` | 补课记录 |
| 无任何匹配文件 | 缺失 |
**注意事项**
- 文件名中的课次编号必须与查询的课次一致如查第10课匹配 `-10.md`
- 日期格式应为8位数字`YYYYMMDD`),如发现 `202605010` 等异常格式,标注
#### 3. 检查班级总结
检查每个班级的 `summaries/` 目录下是否有对应课次的班级反馈文件:
- 匹配文件名包含课次编号的文件(如 `*X_班级反馈.md``*X*`
- 无匹配文件则标注 缺失
#### 4. 检查学生画像
检查每个学生目录下是否有 `profile.md`
- 有则
- 无则
#### 5. 特殊情况处理
检查过程中需关注以下情况并标注:
- **停课学生**:已停课的学生不计入应完成总数
- **进度慢的学生**(如一对一):不看课次编号,而是看其**最新课评的日期**是否与其他学生**被检查课次的日期在同一周**。如果在同一周,视为正常上课(进度慢),不报告缺失
- **新增/删除学生**:以 `CLAUDE.md` 最新名单为准
**进度慢学生判断示例**
```
李梓宁最新课评20260509_AICODE03-07.md日期 05-09
其他学生第10课日期20260509 ~ 20260510
判断05-09 与 05-10 在同一周 → 正常,不缺失
```
---
### 模式二按日期范围检查含API出勤核对
当用户提供日期范围时,自动执行以下增强流程:
#### 步骤1调用API获取出勤记录
调用公司API获取指定日期范围内橙子老师的所有课程和学生出勤记录
```bash
node scripts/check-api-vs-local.js <开始日期> <结束日期>
```
**API数据源**
- 接口:`GET /reports/teaching-schedule`
- 参数:`teacher_name=橙子(程城)`, `teaching_date=YYYY-MM-DD`
- 返回:每节课的日期、时间、班级名称、学生名单、出勤汇总
#### 步骤2API数据解析
从API返回中提取以下关键信息
| API字段 | 说明 | 示例 |
|---------|------|------|
| `teaching_date` | 授课日期 | `2026-05-16` |
| `teaching_time_period` | 授课时间段 | `08:30-10:30` |
| `class_name` | 班级名称 | `AICODE03AI编程创新课03` |
| `student_names` | 学生名单 | `["李梓宁", "王子墨"]` |
| `student_count` | 应到人数 | `5` |
| `attendance` | 出勤汇总 | `{attended:4, on_leave:1}` |
**课程编号提取**:从 `class_name` 中提取前缀,如 `AICODE03AI编程创新课03``AICODE03`
**本地目录映射**根据API数据推断本地班级目录名称
```
API class_name: AICODE03AI编程创新课03
API teaching_date: 2026-05-16 (周六)
API teaching_time_period: 19:00-20:30 → 时间码: 1900
本地匹配目录: AICODE03橙子周六1900
```
**大小写兼容**API可能返回 `KITTEN04`,本地目录为 `Kitten04`,匹配时不区分大小写。
#### 步骤3扫描本地课评文件
在匹配的本地班级目录下扫描:
1. **主目录学生**`.claude/memory/class/[班级]/[学生]/feedback/`
2. **补课目录学生**`.claude/memory/class/[班级]/补课/[学生]/feedback/`
匹配该日期(`YYYYMMDD`)和课程编号(如 `AICODE03`)的 `.md` 文件。
#### 步骤4交叉比对规则
逐项比对API记录与本地课评发现问题
| 核对项 | 比对规则 | 问题等级 |
|--------|----------|----------|
| **本地目录存在性** | API有课 → 本地应有对应班级目录 | ❌ 严重 |
| **学生人数一致性** | API `student_count` vs 本地学生目录数(含补课) | ⚠️ 警告 |
| **学生名单一致性** | API名单中的学生本地应有目录 | ⚠️ 警告 |
| **课评文件完整性** | API显示出勤/补课的学生,本地应有课评文件 | ⚠️ 警告 |
| **文件日期正确性** | 本地文件名日期前8位必须等于API `teaching_date` | ⚠️ 警告 |
| **课程编号正确性** | 本地文件名必须包含正确的课程编号 | ⚠️ 警告 |
| **本地多余课评** | 本地有课评但API名单中无该学生 | ⚠️ 警告 |
**特殊情况说明**
- **体验课**API中可能显示为 `AICODE01` 等,但本地使用 `体验课/` 目录单独管理,无匹配目录属正常
- **补课学生**:在其他班级补课的学生,课评保存在 `补课/` 目录下,脚本会自动扫描
- **新增/转班学生**API名单中有但本地无目录的学生标注为"可能新增/转班"
- **已转走学生**本地有目录但API名单中无此人的学生标注为"可能已转班/停课"
#### 步骤5执行本地课评检查
在完成API核对后继续执行模式一的本地检查流程课评文件检查、班级总结检查、学生画像检查
---
## 输出报告格式
### 模式一报告(课次检查)
```
## 课评完成情况检查报告 — 第X课
### 一、个人课评
| 班级 | 学生 | 状态 | 说明 |
|---|---|---|---|
| AICODE03周六1900 | 陈嘉博 | | 正常课评 |
| AICODE03周六1900 | 王子墨 | | 缺失 |
| ... | ... | ... | ... |
**统计**共X人完成X人缺失X人
### 二、班级总结
| 班级 | 状态 | 说明 |
|---|---|---|
| AICODE03周六1900 | | 无第X课班级反馈 |
| ... | ... | ... |
### 三、学生画像
| 班级 | 学生 | 状态 |
|---|---|---|
| ... | ... | ... |
**统计**共X人有画像X人缺失X人
### 四、异常/需关注
- ⚠️ 黄俊博:文件名日期格式错误(`202605010` 应为 `20260510`
- ...
```
### 模式二报告(日期范围 + API核对
```
## API出勤记录 vs 本地课评核对报告 — 2026-05-15 至 2026-05-17
### 一、核对汇总
| 日期 | 时间 | 课程 | 本地目录 | API人数 | 本地课评数 | 状态 |
|------|------|------|----------|---------|------------|------|
| 2026-05-16 | 08:30-10:30 | CSP03信息学奥赛03 | CSP03橙子周六0830 | 6 | 6 | |
| 2026-05-16 | 14:00-16:00 | CSP03信息学奥赛03 | CSP03橙子周六1400 | 5 | 4 | ⚠️ |
| ... | ... | ... | ... | ... | ... | ... |
**统计**总X节课核对通过X节存在问题X节无本地目录X节
### 二、API核对问题详情
#### 2026-05-16 14:00-16:00 - CSP03信息学奥赛03
- 本地目录: CSP03橙子周六1400
- API学生: 廖梓琪, 张雨禾, 苏俊宇, 郑子煜, 魏铭轩
- 本地学生: 张雨禾, 苏俊宇, 郑子煜, 魏铭轩
- ⚠️ 学生人数不一致: API5人 vs 本地4人
- ⚠️ API名单学生本地无目录(可能新增/转班): 廖梓琪
### 三、本地课评检查
(接续模式一的报告格式)
```
---
## 检查完成后
根据检查结果,询问用户是否需要:
1. 补全缺失的课评/请假记录
2. 生成缺失的班级总结
3. 修正异常文件名
4. 处理API核对发现的学生异动新增/转班)