Files
ClassFeedback/.claude/skills/出勤记录/README.md
chengzi e4853c6123 按课评规范重构目录结构
- 将 student/ 下班级数据迁移至 class/ 目录
- 班级命名改为"课程+老师+时间"格式(如 AI03橙子周六1900)
- 学生子目录:课评反馈/ → feedback/,用户画像/【姓名】.md → profile.md
- 新增 summary/ 目录用于阶段性总结
- 同步更新 CLAUDE.md、skills、feedback 中的路径引用
2026-04-22 11:51:01 +08:00

181 lines
5.4 KiB
Markdown
Raw 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: 查询和管理学生出勤情况,支持按学生姓名、班级、时间范围查询
---
# 📊 出勤记录查询系统
## 功能说明
本技能用于查询学生出勤情况,生成出勤报表。
## 🎯 核心逻辑
### 出勤记录文件位置
```
.claude/memory/class/[班级]/[学生姓名]/feedback/出勤登记-2026春季.md
```
### 出勤记录状态说明
- **✅ 出勤**:学生正常上课
- **⏸ 请假**:学生请假
- **❌ 未上课**:学生未上课
## 📋 使用方法
### 方式1查询某个学生
```
/出勤记录 陈嘉博
```
输出:陈嘉博本学期的所有出勤记录和出勤率统计
### 方式2查询某个班级
```
/出勤记录 周六晚上1900AI03班
```
输出:该班级所有学生的出勤汇总表
### 方式3查询指定月份
```
/出勤记录 陈嘉博 4月
```
输出该学生4月份的出勤情况
### 方式4查询全部
```
/出勤记录
```
输出:所有班级所有学生的出勤汇总
### 方式5查询班级最近N节课出勤率 ⭐新增
```
/出勤记录 周六晚上1900AI03班 前3节课
```
输出该班级从本周起往回数3节课的出勤情况
- 例如本周是第6课则统计第4、5、6课的出勤情况
```
/出勤记录 周六晚上1900AI03班 前4节课
```
输出该班级从本周起往回数4节课的出勤情况
- 例如本周是第6课则统计第3、4、5、6课的出勤情况
## 📊 输出格式
### 个人出勤记录
```
👤 学生:陈嘉博
🏫 班级周六晚上1900AI03班
📅 学期2026春季
| 日期 | 课程 | 课次 | 状态 | 备注 |
|------|------|------|------|------|
| 2026-04-06 | AI大作家下 | 第5课 | ✅ 出勤 | 已生成课评 |
| 2026-03-30 | AI大作家上 | 第4课 | ❌ 缺勤 | 病假 |
| 2026-03-23 | AI训练师 | 第3课 | ✅ 出勤 | 已生成课评 |
📊 统计:
- 应出勤5次
- 实际出勤4次
- 缺勤1次
- 出勤率80%
```
### 班级汇总表
```
📋 班级周六晚上1900AI03班
📅 学期2026春季
| 学生姓名 | 应出勤 | 实际出勤 | 缺勤 | 出勤率 |
|----------|--------|----------|------|--------|
| 陈嘉博 | 5 | 4 | 1 | 80% |
| 谭俊研 | 5 | 5 | 0 | 100% |
| 李承泽 | 5 | 5 | 0 | 100% |
| 王子墨 | 5 | 4 | 1 | 80% |
📊 班级总出勤率90%
```
### 班级最近N节课出勤率表 ⭐新增
```
📋 班级周六晚上1900AI03班
📊 统计范围最近3节课第4课-第6课
| 学生姓名 | 应出勤 | 实际出勤 | 缺勤 | 出勤率 | 缺勤课次 |
|----------|--------|----------|------|--------|----------|
| 陈嘉博 | 3 | 3 | 0 | 100% | - |
| 谭俊研 | 3 | 2 | 1 | 67% | 第5课 |
| 李承泽 | 3 | 3 | 0 | 100% | - |
| 王子墨 | 3 | 3 | 0 | 100% | - |
| 黄彦棋 | 3 | 1 | 2 | 33% | 第4,6课 |
📊 班级最近3节课平均出勤率75% (12/16人次)
⚠️ 需关注学生:谭俊研、黄彦棋
```
## 🔧 实现步骤
当用户调用 `/出勤记录` 时:
1. **解析参数**
- 读取用户输入的学生姓名、班级、时间范围
- 如果参数包含"前N节课"(如"前3节课"、"前4节课"标记为最近N节课查询模式
- 确定查询范围
2. **定位文件夹**
- 根据班级名称定位到 `.claude/memory/class/[班级]/`
- 如果指定学生,再定位到具体学生文件夹
3. **读取出勤文件**
- 查找每个学生文件夹下的 `出勤登记-2026春季.md`
- 如果文件不存在,显示"暂无出勤记录"
4. **解析表格数据**
- 提取表格中的每一行数据
- 如果有日期筛选条件,筛选指定月份的记录
- **如果是最近N节课查询**
- 先从所有记录中找到最大课次(当前课次)
- 计算查询范围:当前课次-(N-1) 到 当前课次
- 只保留该范围内的记录如当前第6课"前3节课"保留第4、5、6课
- 记录每位学生的缺勤课次
5. **生成报表**
- 统计出勤、缺勤次数
- 计算出勤率
- **最近N节课查询特有统计**
- 计算班级平均出勤率
- 列出需关注学生出勤率低于100%的学生)
- 显示每位学生的具体缺勤课次
- 按格式输出报表
6. **返回结果**
- 显示清晰易读的出勤报表
## 💡 技巧提示
### 快速筛选
- 可以用 "4月"、"3月" 等月份名称快速筛选
- 可以用 "2026-04-06" 这样的具体日期查询单次出勤
- 可以用 "前3节课"、"前4节课" 查询班级前N节课出勤情况
### 最近N节课查询使用场景
- **阶段性检查**了解学生最近3-4节课的出勤趋势
- **重点关注**:找出近期缺勤或出勤率低的学生的具体缺勤课次
- **动态跟踪**:每周更新,掌握最新出勤情况
**示例**
- 本周是第6课`前3节课` 查询的是第4、5、6课
- 本周是第6课`前4节课` 查询的是第3、4、5、6课
### 异常处理
- 如果学生文件夹不存在,提示"该学生不在系统中"
- 如果出勤文件不存在,提示"该学生暂无出勤记录"
- 如果表格格式错误,提示"出勤记录文件格式有误"
### 扩展功能
未来可以添加:
- 导出Excel功能
- 月度出勤对比
- 缺勤原因统计
- 出勤趋势图