---
name: 出勤记录
description: 查询和管理学生出勤情况，支持按学生姓名、班级、时间范围查询
---

# 出勤记录 Skill

本技能用于查询和管理学生出勤情况。

## 使用方式

```
/出勤记录 [学生姓名] [班级] [时间范围]
```

**参数说明**：
- `学生姓名`：可选，指定查询的学生
- `班级`：可选，指定查询的班级
- `时间范围`：可选，支持以下格式：
  - 月份：如 "4月"、"2026-04"
  - 最近N节课：如 "前3节课"、"前4节课"（从本周起往回数）

## 示例

1. 查询某个学生本学期出勤：
   ```
   /出勤记录 陈嘉博
   ```

2. 查询某个班级本月出勤：
   ```
   /出勤记录 周六晚上1900AI03班
   ```

3. 查询某个学生指定月份出勤：
   ```
   /出勤记录 陈嘉博 4月
   ```

4. 查询所有学生本学期出勤：
   ```
   /出勤记录
   ```

5. 查询某个班级最近3节课出勤率（从本周起往回数）：
   ```
   /出勤记录 周六晚上1900AI03班 前3节课
   ```
   例如：本周是第6课，则统计第4、5、6课的出勤情况

## 执行逻辑

1. 读取 `.claude/memory/class/` 下所有班级文件夹
2. 根据参数筛选班级和学生
3. 在学生的 `feedback/出勤登记-2026春季.md` 文件中查询出勤记录
4. 统计出勤率、缺勤次数
5. 生成清晰的出勤报表

### 查询前N节课出勤率逻辑（从本周起往回数）

当用户输入包含"前3节课"、"前4节课"等关键词时：

1. **确定当前课次**：从出勤记录中找到最大的课次号（如第6课）
2. **识别课次范围**：提取数字N，确定查询范围为：当前课次 - (N-1) 到 当前课次
   - 例如：本周是第6课，查询"前3节课" = 第4、5、6课
   - 例如：本周是第6课，查询"前4节课" = 第3、4、5、6课
3. **筛选记录**：只统计课次在范围内的出勤记录
4. **计算出勤率**：按学生统计这N节课的出勤率
5. **生成报表**：输出班级前N节课出勤汇总表，包含：
   - 每位学生前N节课的出勤次数
   - 每位学生的出勤率
   - 班级整体前N节课的平均出勤率
   - 缺勤学生名单提醒
