Initial commit: 穹狼科创课评反馈生成器

- 添加 CLAUDE.md 项目说明
- 添加评语规则、课程模板、技能库
- 添加 .gitignore 忽略 .env
This commit is contained in:
chengzi
2026-04-14 21:27:19 +08:00
commit 7487e8451a
259 changed files with 14446 additions and 0 deletions

View 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功能
- 月度出勤对比
- 缺勤原因统计
- 出勤趋势图

View 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节课的平均出勤率
- 缺勤学生名单提醒