Initial commit: 穹狼科创课评反馈生成器
- 添加 CLAUDE.md 项目说明 - 添加评语规则、课程模板、技能库 - 添加 .gitignore 忽略 .env
This commit is contained in:
180
.claude/skills/出勤记录/README.md
Normal file
180
.claude/skills/出勤记录/README.md
Normal file
@@ -0,0 +1,180 @@
|
||||
---
|
||||
name: 出勤记录
|
||||
description: 查询和管理学生出勤情况,支持按学生姓名、班级、时间范围查询
|
||||
---
|
||||
|
||||
# 📊 出勤记录查询系统
|
||||
|
||||
## 功能说明
|
||||
本技能用于查询学生出勤情况,生成出勤报表。
|
||||
|
||||
## 🎯 核心逻辑
|
||||
|
||||
### 出勤记录文件位置
|
||||
```
|
||||
.claude/memory/student/[班级]/[学生姓名]/课评反馈/出勤登记-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/student/[班级]/`
|
||||
- 如果指定学生,再定位到具体学生文件夹
|
||||
|
||||
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功能
|
||||
- 月度出勤对比
|
||||
- 缺勤原因统计
|
||||
- 出勤趋势图
|
||||
73
.claude/skills/出勤记录/skill.md
Normal file
73
.claude/skills/出勤记录/skill.md
Normal file
@@ -0,0 +1,73 @@
|
||||
---
|
||||
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/student/` 下所有班级文件夹
|
||||
2. 根据参数筛选班级和学生
|
||||
3. 在学生的 `课评反馈/出勤登记-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节课的平均出勤率
|
||||
- 缺勤学生名单提醒
|
||||
Reference in New Issue
Block a user