更新课评系统代码

This commit is contained in:
qiuyan
2026-06-02 23:01:58 +08:00
parent f8c4b6174f
commit cd05b8a5a7
45 changed files with 8260 additions and 345 deletions

View File

@@ -1,12 +1,126 @@
---
name: keping-advanced
description: 穹狼乐高编程高级课评生成Skill。当用户需要生成个性化课评、写课后反馈、创建学生评价时使用。根据学生画像、课程教案、历史课评、学期周数等多维度信息自动生成180-350字专业课评根据输入丰富度弹性调整。支持自动周数计算和主题关联。采用"生成即自动保存"流程:课评生成后立即自动保存到 feedback/ 个人课评文件课评规范V1.0标准),无需教师确认。支持补课/体验学生的灵活处理。适用于2.5岁-小学四年级学生,支持幼儿积木、少儿编程、机器人竞赛等多种课程类型。触发词:/课评、/keping、/写课评、生成课评。
version: 4.0.0
description: 穹狼乐高编程高级课评生成Skill。当用户需要生成个性化课评、写课后反馈、创建学生评价时使用。根据学生画像、课程教案、历史课评、学期周数等多维度信息自动生成180-350字专业课评根据输入丰富度弹性调整。支持自动周数计算和主题关联。采用"生成即自动保存"流程:课评生成后立即自动保存到 feedback/ 个人课评文件课评规范V1.0标准),无需教师确认。支持补课/体验学生的灵活处理。适用于2.5岁-小学四年级学生,支持幼儿积木、少儿编程、机器人竞赛等多种课程类型。交互式流程:输入 /周几(如 /周六)、/今天 或 /交互式 启动友好的多轮对话流程。触发词:/课评、/keping、/写课评、生成课评、/周六、/今天、/交互式、/批量
version: 4.3.0
author: 穹狼教学团队
---
# 高级课评生成 Skill
## 命令识别与流程选择
本技能根据不同的触发命令,自动选择相应的流程:
| 触发命令 | 流程选择 | 说明 |
|---------|---------|------|
| **`/周几`** | **交互式流程(推荐)** | **按上课日快速索引**,如 `/周六``/周日``/周四` |
| `/今天` | 交互式流程(今天的班级) | 自动判断当天星期几,启动交互式流程 |
| `/交互式` | 交互式流程(通用) | 启动交互式流程,显示完整班级列表 |
| `/批量` | 批量输入模式 | 启动批量输入模式 |
| `/课评`/`/keping`/`/写课评`/`生成课评` | 标准模式 | 需要用户提供日期、班级、学生表现等完整信息 |
## 交互式流程实现v4.3
### 第一步:按上课日快速索引
当用户输入 `/周六`(或 `/今天``/周四` 等)时,执行以下操作:
1. 根据星期几匹配对应班级(如 `/周六` → 匹配所有含"周六"的班级目录)
2. 如果输入的 `/今天`,自动计算当天星期几再匹配
3. 读取 `.claude/memory/class/` 目录,筛选匹配的班级
4. 使用 AskUserQuestions 工具,以单选形式展示匹配的班级选项
5. 添加"其他班级(手动输入)"选项
6. 记录用户选择的班级
**工作日对照表**
| 指令 | 匹配班级示例 |
|:-----|:-------------|
| `/周四` | 发现世界-周四19点 |
| `/周五` | AICODE03小Q周五1900 |
| `/周六` | 发现世界-周六09点、Wedo创造世界-周六1030、AICODE03小Q周六1400 等 |
| `/周日` | 发明世界-周日14点、SPIKE02-周日1030 等 |
**AskUserQuestions 参数配置(以 /周六 为例):**
```
{
"questions": [
{
"question": "请选择今天要写课评的班级",
"header": "班级选择",
"options": [
"发现世界-周六09点",
"Wedo创造世界-周六1030",
"AICODE03小Q周六1400",
"Wedo创造世界-周六16点",
"发现世界-周六19点",
"手动输入其他班级名称"
],
"multiSelect": false
}
]
}
```
### 第二步学生名单加载B模式分开展示
选择班级后:
1. 检查该班级目录:`.claude/memory/class/{班级}/`
2. 查找该班级下的现有学生(有 profile.md 的子目录)
3. 展示学生列表B模式每人独立显示含状态标记按钮
4. 如果无学生,提示教师手动输入学生名单
**B模式展示格式**
```
┌─ 学生1: 乔乔 ─────────────────────────┐
│ 状态:[✅出勤] [🚫请假] [📝体验] [🔄补课] │
│ 表现_____________________________ │
└────────────────────────────────────────┘
┌─ 学生2: 昊昊 ─────────────────────────┐
│ 状态:[✅出勤] [🚫请假] [📝体验] [🔄补课] │
│ 表现_____________________________ │
└────────────────────────────────────────┘
...
```
### 第三步:一次性批量填写学生表现
教师在输入框中一次性输入所有学生表现(多行):
```
乔乔gj5→zd3→zt ↑++
昊昊慢热→zd3→反复调 →
小明 体验
小红搭了3层开心 ↑
```
**标记快捷操作**
- `{学生} 请假` → 标记为请假(不生成课评)
- `{学生} 体验` → 标记为体验学生(仅汇总)
- `{学生} 补课` → 标记为补课学生(跨班级自动保存)
- `{学生} 出勤` → 恢复默认出勤状态
### 第四步:确认并批量生成
展示已填写的所有学生预览汇总表,待教师确认后一次性生成所有课评。
**汇总格式**
```
| 学生 | 状态 | 表现摘要 | 标记 |
|:-----|:----:|:---------|:----:|
| 乔乔 | ✅ 待生成 | gj5→zd3→zt ↑++ | 出勤 |
| 昊昊 | ✅ 待生成 | 慢热→zd3→反复调 → | 出勤 |
| 小明 | 📝 仅汇总 | 体验课 | 体验 |
| 小红 | ✅ 待生成 | 搭3层 ↑ | 出勤 |
[全部生成] → 一次性生成所有课评
```
---
## 功能概述
本Skill根据学生画像、课程教案、历史表现等多维度信息自动生成个性化课后评价180-350字根据输入丰富度弹性调整
@@ -164,7 +278,7 @@ author: 穹狼教学团队
- 评价维度
- 适龄提示
**路径**`memory/lesson/{课程目录}/{课程代码}.md`
**路径**`.claude/memory/lesson/{课程目录}/{课程代码}.md`
**输出**`lesson_content` 对象(含`week_number`周数信息)
@@ -375,9 +489,9 @@ ELSE IF student_type == "guest"(补课/体验学生):
.claude/memory/class/{班级}/{学生}/feedback/
# 课程教案
memory/lesson/01-发现世界-螺丝刀/{课程代码}.md
memory/lesson/08-SPIKE/{课程代码}.md
memory/lesson/09-AICODE-AICODE/{课程代码}.md
.claude/memory/lesson/01-发现世界-螺丝刀/{课程代码}.md
.claude/memory/lesson/08-SPIKE/{课程代码}.md
.claude/memory/lesson/09-AICODE03/{课程代码}.md
# 学期周数与主题映射
.claude/rules/15-semester-weeks.md
@@ -495,6 +609,7 @@ memory/lesson/09-AICODE-AICODE/{课程代码}.md
| 版本 | 日期 | 更新内容 |
|-----|------|---------|
| **v4.3.0** | **2026-05-16** | **交互式流程优化**:新增 `/周几` 快速索引指令B模式分开展示学生 + 独立输入区 + 快捷标记按钮(请假/体验/补课/出勤);批量输入+批量生成 |
| **v4.0.0** | **2026-05-14** | **同步课评规范V1.0**:改用 `.claude/memory/class/` 目录结构feedback/*.md 单次文件统一课程编号AI编程→AICODEC++→CSP补课双向追踪`(补课-去班级名).md`);删除"待确认"步骤,生成即自动保存 |
| v3.1.0 | 2026-05-05 | **生成即双轨保存**:删除"待确认"状态,改为生成后立即自动保存;出勤嵌入班级汇总 |
| v2.5.0 | 2026-05-01 | **统一字数标准**将课评字数统一为弹性范围180-350字与系统规则保持一致 |

View File

@@ -1,8 +1,9 @@
{
"name": "keping-advanced",
"skill_name": "keping-advanced",
"version": "4.0.0",
"description": "高级课评生成Skill v4.0 - 支持学期周数自动计算仅用于后端课程主题匹配、课程主题自动匹配、三段式课评生成、自动保存到feedback/个人文件课评规范V1.0标准)",
"triggers": ["/课评", "/keping", "/写课评", "生成课评"],
"version": "4.3.0",
"description": "高级课评生成Skill v4.3 - 支持交互式流程(/周六、/今天)、学期周数自动计算仅用于后端课程主题匹配、课程主题自动匹配、三段式课评生成、自动保存到feedback/个人文件课评规范V1.0标准)",
"triggers": ["/课评", "/keping", "/写课评", "生成课评", "/周六", "/周日", "/周四", "/周五", "/今天", "/交互式", "/批量"],
"semester_config": {
"baseline_date": "2026-03-02",
"week_calculation": "Floor((current_date - baseline) / 7) + 1",
@@ -10,6 +11,42 @@
"current_week": 11,
"current_date": "2026-05-14"
},
"interactive_workflow": {
"enabled": true,
"default_mode": "interactive",
"weekday_quick_index": {
"enabled": true,
"commands": ["/周一", "/周二", "/周三", "/周四", "/周五", "/周六", "/周日"],
"mapping_method": "匹配班级目录中对应星期关键词"
},
"step_1_weekday_select": {
"title": "选择上课日",
"subtitle": "请选择要处理的星期(或使用 /周几 快速索引)",
"options": ["周四", "周五", "周六", "周日", "其他"],
"custom_input_label": "其他日子",
"allow_custom": true
},
"step_2_class_selected": {
"title": "填写学生表现B模式",
"subtitle": "一次性输入所有学生的表现(每行一个),支持速记符号和快捷标记(请假/体验/补课)",
"default_students": ["乔乔", "昊昊", "小明", "小红"],
"quick_mark_buttons": ["请假", "体验", "补课", "出勤"],
"display_mode": "B_split_view",
"batch_input_hint": "乔乔gj5→zd3→zt ↑++\n昊昊慢热→zd3→反复调 →\n小明 体验\n小红搭了3层开心 ↑"
},
"step_3_batch_generate": {
"title": "确认批量生成",
"subtitle": "预览所有已填写的学生,确认后一次性批量生成课评",
"confirm_label": "全部生成",
"cancel_label": "取消",
"modify_label": "修改学生"
}
},
"batch_workflow": {
"enabled": true,
"header": ["学生", "核心表现", "情绪"],
"default_students": ["乔乔", "昊昊", "小明", "小红"]
},
"course_mapping": {
"发现世界": {"prefix": "DISC", "week_mapping": {"1": "DISC-001", "2": "DISC-002", "3": "DISC-003", "4": "DISC-004", "5": "DISC-005", "6": "DISC-006", "7": "DISC-007", "8": "DISC-008", "9": "DISC-009", "10": "DISC-010", "11": "DISC-011", "12": "DISC-012", "13": "DISC-013", "14": "DISC-014", "15": "DISC-015", "16": "DISC-016", "17": "DISC-017", "18": "DISC-018", "19": "DISC-019", "20": "DISC-020"}},
"SPIKE": {"prefix": "SPIKE", "week_mapping": {"1": "SPIKE-001", "2": "SPIKE-002", "3": "SPIKE-003", "4": "SPIKE-004", "5": "SPIKE-005", "6": "SPIKE-006", "7": "SPIKE-007", "8": "SPIKE-008", "9": "SPIKE-009", "10": "SPIKE-010", "11": "SPIKE-011", "12": "SPIKE-012", "13": "SPIKE-013", "14": "SPIKE-014", "15": "SPIKE-015", "16": "SPIKE-016", "17": "SPIKE-017", "18": "SPIKE-018", "19": "SPIKE-019", "20": "SPIKE-020"}},
@@ -64,7 +101,7 @@
"input": ["学生姓名", "班级"],
"output": ["最近10次课评", "能力发展趋势", "进步轨迹", "反复问题"],
"file_pattern": ".claude/memory/class/{班级}/{学生}/feedback/",
"limit": 10
"limit": 3
},
{
"id": "step5",
@@ -239,5 +276,5 @@
"class_summary_save_failed": {"message": "班级总结保存失败,已加入待补存队列。", "action": "add_to_compensation_queue", "fallback": "下次生成课评前自动补存,或教师输入'补存'手动触发"}
},
"created_at": "2026-03-25",
"updated_at": "2026-05-14"
"updated_at": "2026-05-16"
}

View File

@@ -11,7 +11,7 @@
---
## ⚡ 快速用法v4.0 课评规范V1.0标准)
## ⚡ 快速用法v5.0 课评规范V1.0标准)
### 1. 极简输入(推荐)- 自动计算周数和主题
@@ -64,13 +64,14 @@
| 4月20日-26日 | 第8周 | DISC-008 | SPIKE-008 | AICODE03-008 |
| 4月27日-5月3日 | 第9周 | DISC-009 | SPIKE-009 | AICODE03-009 |
| 5月4日-10日 | 第10周 | DISC-010 | SPIKE-010 | AICODE03-010 |
| **5月11日-17日** | **第11周** | **DISC-011 鳄鱼** | **SPIKE-011 摩天轮** | **AICODE03-008** |
| 5月11日-17日 | 第11周 | DISC-011 鳄鱼 | SPIKE-011 摩天轮 | AICODE03-011 魔幻俄罗斯方块(下) |
| **5月18日-24日** | **第12周** | **DISC-012 数字宝箱** | **SPIKE-012 直升机** | **AICODE03-012 涂鸦PK** |
**当前**2026年5月14日 = **第11**
**当前**2026年5月22日 = **第12**
---
## 📋 8步流程速览v4.0
## 📋 8步流程速览v5.0
| 步骤 | 动作 | 耗时 | 输出 |
|:---:|:-----|:---:|:----|
@@ -79,7 +80,7 @@
| **3** | **计算周数+匹配主题** | **<1s** | **第X周、课程代码、知识点** |
| 4 | 读取历史课评feedback/目录) | <1s | 近10次记录、趋势 |
| 5 | 解析本节课表现 | <1s | 关键行为、情绪 |
| 6 | 生成个性化课评 | 2-3s | 180-350字文本(关联主题 |
| 6 | 生成个性化课评 | 2-3s | 220-300字(标准版)/ 300-400字详细版 |
| 7 | 自动保存 feedback/*.md | <1s | 课评规范V1.0标准文件 |
| 8 | 更新成长记录 | <1s | 更新确认 |
@@ -100,13 +101,13 @@
---
## 📚 第11周主题速查当前周2026年5月14日)
## 📚 第12周主题速查当前周2026年5月22日)
| 班级 | 课程代码 | 主题 | 核心知识点 |
|-----|:-------:|:-----|:-----------|
| 发现世界 | DISC-011 | **鳄鱼** | 嘴巴开合、铰链结构、咬合功能 |
| SPIKE | SPIKE-011 | **摩天轮** | 圆周运动、速度控制、观赏设计 |
| AICODE03 | AICODE03-008 | **我的个人主页(上** | 内容先行、板块化设计、自定义智能体 |
| 发现世界 | DISC-012 | **数字宝箱** | 密码锁、数字认知、空间藏物 |
| SPIKE | SPIKE-012 | **直升机** | 螺旋桨、升力原理、飞行控制 |
| AICODE03 | AICODE03-012 | **涂鸦PK** | 精准需求编写、新窗口审核、角色属性设计 |
---
@@ -117,7 +118,23 @@
| `→` | 行为发展/时间线 | `观望5分钟→主动尝试` |
| `,` | 并列行为 | `搭3层,自己调高度` |
| `→`情绪 | 情绪变化 | `兴奋→烦躁` |
| `比上周` | 纵向对比 | `比上周主动` |
---
## 🎨 Emoji 使用规范
**总数量**:每篇课评使用 **3-5个** Emoji
| 位置 | 数量 | 用途 | 推荐表情 |
|------|:----:|------|----------|
| 第1段知识点 | 1个 | 段尾点缀 | 🔍 💡 ⚙️ 🎯 |
| 第2段掌握与操作 | 1-2个 | 分散插入 | 💪 ✨ 📈 🤝 |
| 第3段亮点与成长 | 1-2个 | 分散插入 | 😊 🌟 💫 🎉 |
| 第4段建议 | 1个 | 段尾点缀 | 🏠 🔧 📚 |
**使用原则**
- 学龄前版2.5-6岁表情丰富增强亲切感
- 小学版6-10岁适度使用保持专业性
---
@@ -125,9 +142,9 @@
| 年龄段 | 字数 | 语气 | 侧重点 |
|-------|:---:|:----|:-------|
| 2.5-6岁 | 180-350 | 温暖具体 | 参与、情绪、兴趣 |
| 6-8岁 | 190-350 | 尊重专业 | 能力、习惯、逻辑 |
| 8-10岁 | 200-350 | 成长数据 | 项目、竞赛、自主 |
| 2.5-6岁 | 220-300标准版<br>300-400详细版 | 温暖具体 | 参与、情绪、兴趣 |
| 6-8岁 | 220-300标准版<br>300-400详细版 | 尊重专业 | 能力、习惯、逻辑 |
| 8-10岁 | 220-300标准版<br>300-400详细版 | 成长数据 | 项目、竞赛、自主 |
---
@@ -147,13 +164,12 @@
生成后自动检查:
- [ ] 字数 180-350 字(根据输入丰富度弹性调整
- [ ] 5个必写模块完整
- [ ] 字数 220-300字标准版/ 300-400字详细版
- [ ] 4个必写模块完整(知识点、掌握与操作、亮点、建议)
- [ ] 学生姓名正确
- [ ] **知识点与当周主题关联**
- [ ] 周数仅在后台使用,正文不显示
- [ ] 无禁用词汇
- [ ] 纵向对比有据
- [ ] 建议可操作
---
@@ -165,7 +181,7 @@
.claude/memory/class/{班级}/{学生}/profile.md ← Step 1
.claude/rules/15-semester-weeks.md ← Step 3周数计算
.claude/rules/10-style.md ← Step 2
memory/lesson/**/{课程代码}.md ← Step 3
.claude/memory/lesson/**/{课程代码}.md ← Step 3
.claude/memory/class/{班级}/{学生}/feedback/ ← Step 4
# 写入课评规范V1.0标准)
@@ -194,4 +210,4 @@ memory/lesson/**/{课程代码}.md ← Step 3
---
*速查卡 v4.0 | 2026-05-14 | 同步课评规范V1.0*
*速查卡 v5.0 | 2026-05-22 | 同步课评规范V1.0*