From bfc69267f64572596d05872aee6c365e94d7985e Mon Sep 17 00:00:00 2001 From: qiuyan <15989106650@qonnwolf.com> Date: Thu, 14 May 2026 13:41:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E8=AF=BE=E8=AF=84=E8=A7=84?= =?UTF-8?q?=E8=8C=83V1.0=20v4.0=EF=BC=9A=E8=AF=BE=E7=A8=8B=E7=BC=96?= =?UTF-8?q?=E5=8F=B7=E8=A7=84=E8=8C=83=E3=80=81=E7=9B=AE=E5=BD=95=E7=BB=93?= =?UTF-8?q?=E6=9E=84=E3=80=81=E5=AE=8C=E6=88=90=E7=8E=87=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 课程编号:CSP (C++) / AICODE (AI编程),必须与校宝一致 - 目录结构:.claude/memory/class/{班级}/{学生}/feedback/YYYYMMDD_课程编号-课次.md - 文件命名:(请假)/(补课-去班级名) 后缀标记 - 完成率统计:三级查找规则(本班级→跨班级补课→其他老师仓库) - keping-advanced skill 完整重写至 v4.0 - 所有 AI03 → AICODE03,所有 memory/student/ → .claude/memory/class/ --- .claude/rules/00-core.md | 28 +- .claude/rules/10-style.md | 2 +- .claude/rules/15-semester-weeks.md | 39 +- .claude/rules/20-workflow.md | 496 +++++++++++-------- .claude/rules/22-student-mgmt.md | 61 ++- .claude/rules/30-student.md | 28 +- .claude/rules/50-output-format-preschool.md | 7 +- .claude/rules/51-output-format-elementary.md | 15 +- .claude/skills/keping-advanced/SKILL.md | 156 +++--- .claude/skills/keping-advanced/config.json | 53 +- .claude/skills/keping-advanced/速查卡.md | 76 +-- CLAUDE.md | 98 ++-- 12 files changed, 612 insertions(+), 447 deletions(-) diff --git a/.claude/rules/00-core.md b/.claude/rules/00-core.md index 48012e0..c6470f9 100644 --- a/.claude/rules/00-core.md +++ b/.claude/rules/00-core.md @@ -1,7 +1,9 @@ # 核心规则 > 合并文件:系统基础规则 + 年龄段分类 + 课程类型定义 + 评价维度 + 评分标准 -> 版本:v3.1(合并版)| 更新日期:2026-05-05 +> 版本:v4.0 | 更新日期:2026-05-14 +> +> **v4.0 变更**:同步课评规范V1.0 — 新增3.4节「校宝课程编号规范」:C++班统一用CSP、AI编程班统一用AICODE+编号 --- @@ -60,7 +62,7 @@ | 中班 | 4-5岁 | AGE_ZB | 想象力丰富,开始合作游戏 | 发明世界(智能笔) | | 大班 | 5-6岁 | AGE_DB | 逻辑思维萌芽,任务意识增强 | 创造世界(WEDO) | | 小学低年级 | 6-8岁 | AGE_PS_LOW | 抽象思维起步,规则意识强 | SPIKE | -| 小学中年级 | 8-10岁 | AGE_PS_MID | 逻辑思维发展,自主学习 | AI03 | +| 小学中年级 | 8-10岁 | AGE_PS_MID | 逻辑思维发展,自主学习 | AICODE03 | ### 2.2 各年龄段课评重点 @@ -121,6 +123,28 @@ IF age >= 8 AND age <= 10 → 小学中年级 8-10岁:Python + AI启蒙 + 高级机器人 ``` +### 3.4 校宝课程编号规范(课评规范V1.0强制要求) + +> **所有课程编号必须与校宝排课系统中的 `class_name` 一致**,否则课评完成率自动化统计无法识别。 + +| 校宝 class_name | 标准编号 | 说明 | +|----------------|---------|------| +| CSP01信息学奥赛01 | **CSP01** | C++ 信息学奥赛班 | +| CSP02信息学奥赛02 | **CSP02** | | +| CSP05信息学奥赛05 | **CSP05** | | +| AICODE01代码编程入门课01 | **AICODE01** | AI 代码编程班 | +| AICODE02代码编程入门课02 | **AICODE02** | | +| AICODE03AI编程创新课03 | **AICODE03** | | +| AICODE04AI编程创新课04 | **AICODE04** | | +| AICODE06AI编程创新课06 | **AICODE06** | | + +**强制规则**: +1. **C++竞赛班统一用 `CSP`**:不得使用 `C++`、`信奥`、`信息学` 等缩写 +2. **AI编程班统一用 `AICODE`**:不得使用 `AI`、`AI03` 等缩写,必须是完整的 `AICODE01`、`AICODE03` 等 +3. **编号必须与校宝一致**:校宝叫 CSP01 就是 CSP01,叫 AICODE03 就是 AICODE03 + +> **影响范围**:课评完成率自动化统计仅统计 CSP 和 AICODE 班级。乐高学前课程(TUBE/DISC/INVENT/CREATE/SPIKE)暂未纳入自动统计,但建议遵循相同的目录结构规范。 + --- ## 四、评价维度与指标 diff --git a/.claude/rules/10-style.md b/.claude/rules/10-style.md index ec2b75f..9080788 100644 --- a/.claude/rules/10-style.md +++ b/.claude/rules/10-style.md @@ -19,7 +19,7 @@ |---------|---------|---------|---------| | 幼儿积木搭建(意识/发现/发明/创造世界) | 2.5-6岁 | 温暖活泼,画面感强,像蹲下来跟孩子说话 | 180-350字 | | 少儿编程入门(SPIKE/WEDO) | 6-8岁 | 尊重平等,准确使用术语但不堆砌 | 190-350字 | -| 机器人竞赛进阶(AI03/AICODE) | 8-10岁 | 专业竞技感,数据说话,承认比赛残酷 | 200-350字 | +| 机器人竞赛进阶(AICODE03) | 8-10岁 | 专业竞技感,数据说话,承认比赛残酷 | 200-350字 | --- diff --git a/.claude/rules/15-semester-weeks.md b/.claude/rules/15-semester-weeks.md index 7dae6d6..1494362 100644 --- a/.claude/rules/15-semester-weeks.md +++ b/.claude/rules/15-semester-weeks.md @@ -2,7 +2,7 @@ > 2026春季学期课程安排与周数计算规则 > 学期开始:2026年3月2日(第一周) -> 当前日期:2026年5月5日(第十周) +> 当前日期:2026年5月14日(第十一周) > **重要说明**:周数仅用于后端自动匹配课程主题,**课评正文不显示周数信息** --- @@ -57,8 +57,8 @@ | 第7周 | 4月13日 - 4月19日 | | | 第8周 | 4月20日 - 4月26日 | | | 第9周 | 4月27日 - 5月3日 | 劳动节调休 | -| 第10周 | 5月4日 - 5月10日 | **当前周** | -| 第11周 | 5月11日 - 5月17日 | | +| 第10周 | 5月4日 - 5月10日 | | +| 第11周 | 5月11日 - 5月17日 | **当前周** | | 第12周 | 5月18日 - 5月24日 | | | 第13周 | 5月25日 - 5月31日 | | | 第14周 | 6月1日 - 6月7日 | 儿童节 | @@ -123,18 +123,18 @@ | 第19周 | SPIKE-019 | 电子滚轮米尺 | 距离测量、数据显示、实用工具 | 数学应用、工具设计 | | 第20周 | SPIKE-020 | 感应道闸 | 自动识别、开关控制、安全系统 | 物联网应用、系统设计 | -### 2.3 AI03-AICODE课程 - 20周完整主题 +### 2.3 AICODE03课程 - 20周完整主题 | 周数 | 课程代码 | 课程主题 | 核心知识点 | 能力目标 | |:---:|:-------:|:---------|:-----------|:---------| -| 第1周 | AI03-001 | Prompt基础 | 提示词结构、AI对话、基础指令 | AI认知、沟通技巧 | -| 第2周 | AI03-002 | 图像生成 | 文生图、风格描述、创意表达 | 多媒体创作、审美能力 | -| 第3周 | AI03-003 | 代码辅助 | AI编程助手、代码解释、调试帮助 | 编程效率、学习能力 | -| 第4周 | AI03-004 | 数据分析 | 数据处理、图表生成、结论提炼 | 数据思维、逻辑思维 | -| **第5周** | **AI03-005** | **项目整合** | **多AI协作、工作流设计、成果输出** | **系统思维、项目管理** | -| 第6周 | AI03-006 | 未来职业预测器 | AI工具链整合、项目开发、测试迭代 | AI协作、产品开发 | -| 第7周 | AI03-007 | 超能力抽签机 | 随机算法、交互设计、视觉美化 | 编程逻辑、创意设计 | -| **第8周** | **AI03-008** | **我的个人主页(上)** | **内容先行、板块化设计、自定义智能体** | **拆解力、审美力、AI协作** | +| 第1周 | AICODE03-001 | Prompt基础 | 提示词结构、AI对话、基础指令 | AI认知、沟通技巧 | +| 第2周 | AICODE03-002 | 图像生成 | 文生图、风格描述、创意表达 | 多媒体创作、审美能力 | +| 第3周 | AICODE03-003 | 代码辅助 | AI编程助手、代码解释、调试帮助 | 编程效率、学习能力 | +| 第4周 | AICODE03-004 | 数据分析 | 数据处理、图表生成、结论提炼 | 数据思维、逻辑思维 | +| **第5周** | **AICODE03-005** | **项目整合** | **多AI协作、工作流设计、成果输出** | **系统思维、项目管理** | +| 第6周 | AICODE03-006 | 未来职业预测器 | AI工具链整合、项目开发、测试迭代 | AI协作、产品开发 | +| 第7周 | AICODE03-007 | 超能力抽签机 | 随机算法、交互设计、视觉美化 | 编程逻辑、创意设计 | +| **第8周** | **AICODE03-008** | **我的个人主页(上)** | **内容先行、板块化设计、自定义智能体** | **拆解力、审美力、AI协作** | > 第9-20周课程主题待更新 @@ -184,11 +184,11 @@ ## 四、快速查询 -### 4.1 当前周信息(2026年5月5日) -- **周数**:第10周 -- **发现世界主题**:DISC-010 梳妆台(功能分区、镜子安装) -- **SPIKE主题**:SPIKE-010 电动螺丝刀(工具复刻、扭矩控制) -- **AI03主题**:AI03-008 我的个人主页(上)(第8周内容,第9周后待更新) +### 4.1 当前周信息(2026年5月14日) +- **周数**:第11周 +- **发现世界主题**:DISC-011 鳄鱼(嘴巴开合、铰链结构) +- **SPIKE主题**:SPIKE-011 摩天轮(圆周运动、速度控制) +- **AICODE03主题**:AICODE03-008 我的个人主页(上)(第8周,第9周后待更新) ### 4.2 输入简化格式 教师只需提供: @@ -209,7 +209,8 @@ ## 五、版本信息 -- **版本**:v1.0 -- **创建日期**:2026-04-02 +- **版本**:v4.0 +- **更新日期**:2026-05-14 - **适用范围**:2026春季学期全部课程 - **维护者**:穹狼教学团队 +- **v4.0 变更**:同步课评规范V1.0 — AI03课程代码改为AICODE03(如AI03-005 → AICODE03-005);更新当前周数至第11周 diff --git a/.claude/rules/20-workflow.md b/.claude/rules/20-workflow.md index 91fea0c..7d230c8 100644 --- a/.claude/rules/20-workflow.md +++ b/.claude/rules/20-workflow.md @@ -1,12 +1,16 @@ # 工作流程规则:输入格式、批量生成、存储与特殊处理 > 合并文件:快捷输入格式 + 批量课评生成 + 新学生/补课处理 + 速记符号 + 快速入门 -> 版本:v3.2(拆分版)| 更新日期:2026-05-05 +> 版本:v4.0(课评规范同步版)| 更新日期:2026-05-14 +> +> **v4.0 变更**: +> - 新增第10节「课评规范V1.0对照规则」:课程编号、目录结构、文件命名、日期匹配、完成率统计、三级查找 +> - 重写第5节「存储规则」:以 `.claude/memory/class/` 标准目录结构为准 +> - 更新第7节「自动双轨保存机制」:改为单次文件保存 + 班级总结 +> - 更新第3节「学生类型标记」:保存位置指向新路径 +> - 新增补课双向记录规则 > > **v3.2 变更**: -> - 速记符号系统拆分至 `21-shorthand.md` -> - 补课/新学生/转正规则拆分至 `22-student-mgmt.md` -> - 修复第10节重复子章节(原10.3-10.7出现两次) --- @@ -172,100 +176,96 @@ AI自动匹配班级学生名单,实时纠正谐音: --- -## 五、存储规则 +## 五、存储规则(课评规范标准结构) -### 5.1 双轨保存机制 +> ⚠️ **课评规范V1.0强制要求**:课评必须按次按学生**单独文件**保存,不可用汇总文件代替单次课评。目录结构必须遵循 `.claude/memory/class/` 标准,否则课评完成率自动化统计无法识别。 -| 存储位置 | 文件路径 | 用途 | 时机 | -|---------|---------|------|------| -| **班级周汇总** | `memory/class-evaluation-summary/第X周/{班级}.md` | 每周全班课评汇总(含出勤) | 生成后自动保存 | -| **个人档案** | `memory/student/{班级}/{学生名}/历史课评记录.md` | 个人完整轨迹 | 生成后自动保存 | +### 5.1 标准目录结构 -### 5.2 存储优先级 +``` +.claude/memory/class/ +├── {班级名称}/ # 命名:{课程编号}{老师}{星期时间}(如 AICODE03小Q周五1900) +│ ├── summaries/ # 班级总结/群发文案 +│ │ ├── YYYYMMDD_课程编号-课次_班级反馈.md +│ │ └── YYYYMMDD_课程编号-课次_微信群.txt +│ ├── {学生姓名}/ # 学生个人目录 +│ │ ├── feedback/ # 【个人课评目录 - 核心】 +│ │ │ ├── YYYYMMDD_课程编号-课次.md # 正常课评 +│ │ │ ├── YYYYMMDD_课程编号-课次(请假).md # 请假记录 +│ │ │ └── YYYYMMDD_课程编号-课次(补课-去班级名).md # 补课追踪 +│ │ └── profile.md # 学生画像 +│ └── 补课/ # 补课学生专用目录 +│ └── {学生姓名}/ +│ └── feedback/ +│ └── YYYYMMDD_课程编号.md +├── {班级名称2}/ +└── ... +``` -1. **第一优先级**:班级周汇总(必须成功) -2. **第二优先级**:个人档案(允许失败,下次补存) +### 5.2 文件命名规范 -### 5.3 失败处理 +#### 课程编号规则 -- 班级汇总保存成功,个人档案保存失败 → 记录到待补存队列,下次生成前自动补存 +**必须与校宝排课系统中的 `class_name` 完全一致**: + +| 校宝 class_name | 标准编号 | 说明 | +|----------------|---------|------| +| CSP01信息学奥赛01 | **CSP01** | C++ 信息学奥赛班 | +| AICODE03AI编程创新课03 | **AICODE03** | AI 编程创新班 | + +**强制规则**: +- C++ 班统一用 `CSP`,不得用 `C++`、`信奥` 等 +- AI 编程班统一用 `AICODE`,不得用 `AI`、`AI03` 等缩写 + +#### 文件命名格式 + +| 类型 | 格式 | 示例 | +|------|------|------| +| 单次课评 | `YYYYMMDD_课程编号-课次.md` | `20260418_CSP05-07.md` | +| 请假记录 | `YYYYMMDD_课程编号-课次(请假).md` | `20260505_CSP05-10(请假).md` | +| 补课追踪 | `YYYYMMDD_课程编号-课次(补课-去班级名).md` | `20260505_CSP05-10(补课-去AICODE03茄子周六1600).md` | +| 班级反馈 | `YYYYMMDD_课程编号-课次_班级反馈.md` | `20260418_CSP05-07_班级反馈.md` | +| 群发文案 | `YYYYMMDD_课程编号-课次_微信群.txt` | `20260418_CSP05-07_微信群.txt` | +| 月度总结 | `YYYY-MM_月度总结.md` | `2026-04_月度总结.md` | +| 学生画像 | `profile.md`(固定名) | `profile.md` | + +#### 日期规则(关键) + +**文件名中的 `YYYYMMDD` 必须与校宝 `teaching_date` 完全一致。** + +| 校宝 teaching_date | 正确文件名 | 错误文件名 | 原因 | +|-------------------|-----------|-----------|------| +| 2026-05-10(周六) | `20260510_CSP01-10.md` | `20260511_CSP01-10.md` | 05-11是周日,非上课日 | +| 2026-05-09(周五) | `20260509_AICODE04-09.md` | `20260510_AICODE04-09.md` | 应取校宝日期而非提交日期 | + +### 5.3 考勤状态文件检测 + +AI及自动化系统扫描 `feedback/` 目录时,通过文件名后缀判断状态: + +| 文件名匹配 | 判定 | +|-----------|------| +| `YYYYMMDD_课程编号-课次.md` | 正常课评,计为到课 | +| `YYYYMMDD_课程编号-课次(请假).md` | 请假,不要求课评 | +| `YYYYMMDD_课程编号-课次(补课-去班级名).md` | 补课追踪,课评在补课班级 | + +### 5.4 双轨保存机制(新规范) + +| 存储位置 | 标准路径 | 用途 | 保存时机 | +|---------|---------|------|:--------:| +| **个人课评文件** | `feedback/YYYYMMDD_课程编号-课次.md` | 单次个人课评 | 生成后自动保存 | +| **班级总结** | `summaries/YYYYMMDD_课程编号-课次_班级反馈.md` | 班级群发文案 | 课后编写 | +| **学生画像** | `profile.md`(固定名) | 学生基础信息 | 建档时创建 | + +### 5.5 存储优先级 + +1. **第一优先级**:个人课评文件 `feedback/*.md`(必须存在,关系到完成率统计) +2. **第二优先级**:班级总结 `summaries/*.md`(课后必写,但不影响个人完成率) + +### 5.6 失败处理 + +- 个人课评文件保存失败 → 记录到待补存队列,下次生成前自动补存 - 教师可输入`补存`或`同步`手动触发 -### 5.4 学生类型保存对照 - -| 类型 | 标记 | 保存位置 | -|------|------|---------| -| 正式学生 | 无标记 | 班级汇总 + 个人档案 | -| 本班补课 | `[补课]` + 当前班级档案存在 | 班级汇总 + 个人档案 | -| 跨班级补课 | `[补课]` + 其他班级档案存在 | 班级汇总(补课班级)+ 个人档案(原班级,标注补课信息)| -| 体验学生 | `[体验]` | 仅班级汇总 | -| 缺课学生 | `[缺课]` | 仅班级汇总(记录缺席)| - -### 5.5 班级周汇总文件格式 - -班级周汇总文件包含以下部分: - -#### 头部信息 - -```markdown -# {班级名} 第{X}周汇总 - -> 课程代码:{CODE-XXX} -> 课程主题:{主题名称}({知识点}) -> 上课日期:{YYYY-MM-DD}({星期} {时间段}) -> 班级人数:{N}人(出勤{M}人,缺勤{K}人) -> 代课老师:{老师姓名(如有)} -``` - -> **规则**: -> 1. 如未特别标明代课老师,默认本班由常规老师授课,头部信息中不显示代课老师字段,班级整体情况中不显示代课老师反馈部分。 -> 2. **出勤判定**:有课评=出勤,无课评=缺课。补课/体验在课评状态表中标注。 - -#### 本周课评状态 - -```markdown -## 本周课评状态 - -| 学生 | 状态 | 类型 | 档案位置 | 操作 | -|:-----|:----:|:----:|:---------|:----:| -| {姓名}({小名}) | ✅ 已保存 | 常规学生 | 本班 | [查看] [修改] | -| {姓名}({小名}) | ✅ 已保存 | 补课学生 | {原班级} | [查看] [修改] | -| {姓名}({小名}) | ✅ 已保存 | 体验学生 | - | [查看] [修改] | -``` - -#### 学生课评列表 - -每个学生包含: -- 学生姓名(小名) -- 类型标记(补课/体验/常规) -- 三段式课评内容 -- 教师备注 - -#### 本周班级整体情况 - -```markdown -## 本周班级整体情况 - -### 课程目标达成度 -- **知识点掌握**:{主题}({N}/{N}学生掌握) -- **技能操作**:{技能点}({掌握情况}) -- **{其他维度}**:{评估结果} - -### 共性亮点 -1. {亮点1} -2. {亮点2} -3. {亮点3} - -### 共性问题 -1. {问题1} -2. {问题2} - -### 教师反馈 -> {授课老师的整体评价} -> -> **注**:如为代课老师授课,标题改为"代课老师反馈",并注明代课老师姓名。 -``` - --- ## 六、推荐工作流程 @@ -301,74 +301,74 @@ AI生成 → 查看质量报告 → 完成(已自动双轨保存) ## 七、自动双轨保存机制(核心功能) -> 课评生成后立即自动保存到班级汇总和个人档案,无需教师确认 +> 课评生成后立即自动保存为个人课评文件 + 班级总结,无需教师确认 ### 7.1 机制概述 ``` -生成阶段 保存阶段 完成阶段 -───────── ───────── ───────── -AI生成课评 → 【自动双轨保存】 → 教师可随时查看/修改 - ↓ ↓ ↓ -质量检查通过 → 班级汇总 + 个人档案 → 完成(无需确认) +生成阶段 保存阶段 完成阶段 +───────── ───────── ───────── +AI生成课评 → 【自动保存】 → 教师可随时查看/修改 + ↓ ↓ ↓ +质量检查通过 → feedback/YYYYMMDD_课程编号.md → 完成(无需确认) + + summaries/YYYYMMDD_课程编号_班级反馈.md ``` **核心原则**: -- ✅ **生成即双轨保存**:课评生成后立即自动保存到班级周汇总和个人档案 +- ✅ **生成即保存**:课评生成后立即自动保存为单次课评文件到 `feedback/` - ✅ **无需确认**:教师无需点击"确认",课评直接生效 -- ✅ **全程可修改**:生成后教师可随时修改,修改后自动同步到两个位置 -- ✅ **出勤自动记录**:有课评即视为出勤,状态直接体现在班级汇总中 +- ✅ **全程可修改**:生成后教师可随时修改文件内容 +- ✅ **文件名即考勤**:有课评文件即视为出勤 ### 7.2 保存流程 #### 标准流程 ``` -教师输入表现 → AI生成课评 → 质量检查 → 【自动双轨保存】→ 完成 +教师输入表现 → AI生成课评 → 质量检查 → 【自动保存到 feedback/】→ 完成 ``` #### 详细步骤 ```python -def on_evaluation_generated(student, evaluation): +def on_evaluation_generated(student, evaluation, class_info): """课评生成后自动触发""" # 1. 质量检查 if not quality_check(evaluation): return regenerate(student) - # 2. 自动保存到班级汇总 + # 2. 构建文件名和路径 + date = class_info['teaching_date'] # 取校宝排课日期,非编写日期 + course_code = class_info['course_code'] # 如 CSP05-07 或 AICODE03-05 + filename = f"{date}_{course_code}.md" + filepath = f".claude/memory/class/{class_info['class_dir']}/{student}/feedback/{filename}" + + # 3. 自动保存个人课评文件 try: - save_to_class_summary(student, evaluation) - log_success(f"{student} 课评已保存到班级汇总") + save_to_file(filepath, format_evaluation(evaluation)) + log_success(f"{student} 课评已保存:{filepath}") except SaveError as e: - log_error(f"班级汇总保存失败:{e}") + log_error(f"个人课评文件保存失败:{e}") return retry_or_alert() - # 3. 自动保存到个人档案(如有档案) - if has_archive(student): - try: - save_to_personal_archive(student, evaluation) - log_success(f"{student} 课评已保存到个人档案") - except SaveError as e: - add_to_compensation_queue(student, evaluation, error=e) - log_warning(f"{student} 个人档案保存失败,已加入补存队列") - # 4. 展示给教师(已保存状态) - return show_to_teacher(student, evaluation, status="已保存") + return show_to_teacher(student, evaluation, filename=filename, status="已保存") ``` -### 7.3 学生类型处理 +### 7.3 学生类型与文件路径对照 -| 类型 | 档案状态 | 保存位置 | -|:-----|:---------|:---------| -| **正式学生** | 有档案 | ✅ 班级汇总 + ✅ 个人档案 | -| **本班补课** | 有档案(本班) | ✅ 班级汇总 + ✅ 个人档案 | -| **跨班级补课** | 有档案(他班) | ✅ 班级汇总 + ✅ 个人档案(原班级) | -| **其他老师班级补课** | 有档案(其他老师班级) | ✅ 班级汇总(仅) | -| **体验/临时学生** | 无档案 | ✅ 班级汇总(仅) | +| 类型 | 档案状态 | 课评文件保存路径 | +|:-----|:---------|:----------------| +| **正式学生** | 有档案 | `.claude/memory/class/{班级}/{学生}/feedback/YYYYMMDD_课程编号-课次.md` | +| **本班补课** | 有档案(本班) | `.claude/memory/class/{班级}/{学生}/feedback/YYYYMMDD_课程编号-课次.md` | +| **跨班级补课** | 有档案(他班) | `.claude/memory/class/{补课班级}/补课/{学生}/feedback/YYYYMMDD_课程编号.md` | +| **其他老师班级补课** | 有档案(其他老师) | `.claude/memory/class/{班级}/补课/{学生}/feedback/YYYYMMDD_课程编号.md` | +| **体验/临时学生** | 无档案 | `.claude/memory/class/{班级}/补课/{学生}/feedback/YYYYMMDD_课程编号.md` | | **缺课学生** | 有档案 | ❌ 不生成课评 | +> **⚠️ 重要**:跨班级补课学生必须放在 `补课/` 目录下,否则自动化统计系统的三级查找可能无法识别。 + ### 7.4 自动触发条件 | 场景 | 触发动作 | 自动保存 | @@ -379,9 +379,9 @@ def on_evaluation_generated(student, evaluation): **自动保存优先级**: ``` -优先级1(必须成功):班级周汇总文件写入 +优先级1(必须成功):个人课评文件 feedback/*.md ↓ 成功 -优先级2(允许失败):个人档案写入 +优先级2(允许失败):班级总结 summaries/*.md ↓ 失败 加入待补存队列,下次触发时重试 ``` @@ -439,116 +439,46 @@ AI定位班级汇总中乔乔的课评 提示修改完成 ``` -### 7.7 个人档案存储格式规范 +### 7.7 个人课评文件内容格式 -#### 文件结构 +#### 标准课评模板(单次文件) -个人档案`memory/student/{班级}/{学生名}/历史课评记录.md`必须遵循以下结构: +个人课评文件 `feedback/YYYYMMDD_课程编号-课次.md` 内容格式: ```markdown -# 历史课评记录 +# 课程名称:CSP05-07 初等数论2 -> 按时间倒序记录所有课后评价(最新课评始终在最上方) - -## 学生信息 -- **姓名**:{学生姓名} -- **班级**:{班级名称} -- **建档日期**:{YYYY-MM-DD} - -## 课评记录列表 - -### 最新记录 - -### {日期} | {课程代码} | {课程主题} -**核心表现**:{关键词} +**授课日期**: 2026-04-18 **课评内容**: -{三段式课评内容} +学生今天课堂非常认真,三类作业全部完成。但课堂练习调试12次(2次运行错误、3次答案错误、2次编译错误),说明边界条件和代码规范性还需加强。建议每道题重新手写框架,减少复用旧代码,这样基础更扎实。 -**能力评估**(当时): -- 专注度:/5 -- 精细动作:/5 -- 工具使用:/5 -- 问题解决:/5 -- 社交合作:/5 - -**教师备注**: -- 亮点: -- 需关注: -- 保存时间:{日期时间} -- 代课老师:{如有} +课后整理埃氏筛法模板,记录今天的坑点。 --- - -### {更早日期} | {课程代码} | {课程主题} -... +**老师签名:XXX** ``` -#### 存储顺序规则(重要) +#### 请假记录模板 -**必须遵循:时间倒序排列,最新课评在最上方** +```markdown +# 请假记录 -``` -文件结构示意: - -# 历史课评记录 - -### 最新记录 ← 这是占位符,指向最新的课评 - -### 2026-05-01 | DISC-009 ← 最新课评(第1条,刚保存的) -... ---- - -### 2026-04-23 | DISC-008 ← 次新课评(第2条) -... ---- - -### 2026-04-17 | DISC-007 ← 更早前课评(第3条) -... ---- +**日期**: 2026-05-05 +**课程**: CSP05-10 +**学生**: 刘毅潇 +**状态**: 请假 +**原因**: (如有) ``` -#### 追加新课的算法 +#### 补课追踪模板(补课班级侧) -```python -def append_evaluation_to_archive(student, new_evaluation): - """ - 将新课评追加到个人档案 - 规则:插入到文件顶部(最新记录位置) - """ - - # 1. 读取现有档案 - archive = read_personal_archive(student) - - # 2. 定位插入点("### 最新记录"标记之后) - insert_position = find_marker(archive, "### 最新记录") - - # 3. 构建新课评条目(包含日期、课程代码、内容等) - new_entry = format_evaluation_entry(new_evaluation) - - # 4. 插入到顶部(确保最新在最上面) - archive.insert_after(insert_position, new_entry) - - # 5. 保存文件 - write_personal_archive(student, archive) - - log_success(f"{student} 新课评已保存到个人档案顶部") -``` +文件开头注明补课来源: -#### 现有档案顺序修复 +```markdown +(补课,来自 AICODE06洋芋周日1400) -对于已存在顺序混乱的档案,提供修复指令: - -``` -教师输入:修复{学生}档案顺序 -或 -教师输入:整理{学生}历史课评 - -AI处理: -1. 读取该学生所有历史课评 -2. 按日期降序排序(最新的在前) -3. 重写个人档案文件 -4. 报告修复结果 +{正常课评内容} ``` ### 7.8 失败处理机制 @@ -723,3 +653,137 @@ students: ``` **限制**:单次修改不超过50字,单篇累计不超过100字。超出限制建议重新生成。 + +--- + +## 十、课评规范V1.0对照规则(强制) + +> 以下规则来自上级统一发布的「课评管理规范V1.0」,**所有老师必须遵守**,否则课评完成率自动化统计无法正确识别。 + +### 10.1 课程编号规范 + +**班级文件夹中的课程编号必须与校宝排课系统的 `class_name` 一致**: + +| 校宝 class_name | 标准编号 | 文件名示例 | +|----------------|---------|-----------| +| CSP01信息学奥赛01 | **CSP01** | `20260418_CSP01-07.md` | +| CSP02信息学奥赛02 | **CSP02** | `20260418_CSP02-07.md` | +| CSP05信息学奥赛05 | **CSP05** | `20260418_CSP05-07.md` | +| AICODE01代码编程入门课01 | **AICODE01** | `20260418_AICODE01-07.md` | +| AICODE02代码编程入门课02 | **AICODE02** | `20260418_AICODE02-07.md` | +| AICODE03AI编程创新课03 | **AICODE03** | `20260418_AICODE03-05.md` | +| AICODE04AI编程创新课04 | **AICODE04** | `20260418_AICODE04-07.md` | +| AICODE06AI编程创新课06 | **AICODE06** | `20260418_AICODE06-07.md` | + +**强制规则**: +1. C++竞赛班统一用 `CSP`:不得使用 `C++`、`信奥`、`信息学` 等作为课程前缀 +2. AI编程班统一用 `AICODE`:不得使用 `AI`、`AI03`、`AI01` 等缩写,必须是完整编号 +3. **编号必须与校宝一致**:校宝叫 CSP01 就是 CSP01,叫 AICODE03 就是 AICODE03 + +### 10.2 目录结构标准 + +``` +.claude/memory/class/ +├── {课程编号}{老师}{星期时间}/ # 如 AICODE03小Q周五1900 +│ ├── summaries/ +│ ├── {学生姓名}/ +│ │ ├── feedback/ +│ │ │ └── YYYYMMDD_课程编号-课次.md +│ │ └── profile.md +│ └── 补课/ +│ └── {学生姓名}/ +│ └── feedback/ +│ └── YYYYMMDD_课程编号.md +└── ... +``` + +### 10.3 日期匹配规则 + +**文件名中的 YYYYMMDD 必须与校宝 teaching_date 完全一致。** + +常见错误: +- ❌ 用课评编写/提交日期而非实际上课日期 +- ❌ 周六上课但文件标周日日期 +- ❌ 用课次所属周的周一/周日日期 + +**正确做法**:上完课当天就写完课评,文件名日期取校宝排课日期。 + +### 10.4 课评完成率统计规则 + +#### 数据来源 +- **出勤基准**:校宝 API 排课数据(`teaching-schedule`),以校宝为准 +- **统计范围**:仅统计 CSP 和 AICODE 班级 +- **时间范围**:默认上周三到本周二 + +#### 出勤状态判定 + +| 校宝 attendance_status | 判定 | 课评要求 | +|----------------------|------|---------| +| 含 `到课`/`出勤`/`签到` | **到课** | 必须有课评文件 | +| 含 `请假` | **请假** | 当天不要求课评 | +| 其他 | **缺勤** | 不要求 | + +- 补课学生(`student_identity = 补课`)按到课处理,必须有课评 +- 试听学生(`student_identity = 试听`)按到课处理,必须有课评 + +#### 三级查找规则 + +对校宝中每个到课学生,系统按以下优先级查找课评文件: + +``` +校宝记录:学生S 在日期D 到课,排课老师为T,班级编号为B + +第1级 → 去老师T的仓库,在班级B对应目录下查找 + 路径:T仓库/.claude/memory/class/{含B的目录}/S/feedback/ + 文件:YYYYMMDD(D)_*.md(排除汇总/登记/总结/班级反馈) + 找到 → 匹配成功 ✓ + 未找到 → 进入第2级 + +第2级 → 去老师T的仓库,在其他所有班级的 补课/ 目录下查找 + 路径:T仓库/.claude/memory/class/{其他班级}/补课/S/feedback/ + 找到 → 匹配成功 ✓ + 未找到 → 进入第3级 + +第3级 → 去其他所有老师的仓库,在所有班级的 补课/ 目录下查找 + 路径:其他老师仓库/.claude/memory/class/{任意班级}/补课/S/feedback/ + 找到 → 匹配成功 ✓ + 未找到 → 标记为「缺失」✗ +``` + +#### 完成率计算 + +``` +应发总数 = 到课学生数(本班到课 + 补课到课 + 试听到课) +已完成 = 按三级查找规则匹配到的学生数 +完成率 = 已完成 / 应发总数 × 100% +``` + +请假学生不纳入应发总数。请假学生后续在其他课堂补课(校宝中以补课身份出现),按到课学生处理。 + +#### 学生名匹配规则 + +- 去除空格后比较 +- 支持包含匹配(如仓库 `梁铭轩` 可匹配校宝 `梁铭轩(大)`) +- 去除后缀标记如 `(am)`、`1` 等再尝试 + +### 10.5 补课双向记录规范 + +补课产生两条记录,分别在原班级和补课班级: + +**场景**:洋芋老师的学生王五,到茄子老师的 AICODE03 班补课 + +**1) 原班级侧(洋芋老师)**: +- 文件:`feedback/20260510_AICODE06-03(补课-去AICODE03茄子周六1600).md` +- 内容:简要说明去哪补课 + +**2) 补课班级侧(茄子老师)**: +- 文件:`补课/王五/feedback/20260510_AICODE03-05.md` +- 内容开头注明:`(补课,来自 AICODE06洋芋周日1400)`,后续正常写课评 + +### 10.6 课后必做清单 + +- [ ] 为每位**到课**学生编写个人课评(保存到 `feedback/YYYYMMDD_课程编号-课次.md`) +- [ ] 日期取校宝排课日期,不是编写日期 +- [ ] 补课学生必须有课评(放在补课班级的 `补课/学生名/feedback/` 下) +- [ ] 编写班级总结(保存到 `summaries/YYYYMMDD_课程编号-课次_班级反馈.md`) +- [ ] 课程编号使用标准格式(CSP/AICODE),不得使用缩写 diff --git a/.claude/rules/22-student-mgmt.md b/.claude/rules/22-student-mgmt.md index 462fd8a..328a566 100644 --- a/.claude/rules/22-student-mgmt.md +++ b/.claude/rules/22-student-mgmt.md @@ -1,7 +1,9 @@ # 学生特殊处理:补课、新学生、转正 > 从 20-workflow.md 拆分,专注补课/体验/新学生/转正规则 -> 版本:v3.1 | 更新日期:2026-05-05 +> 版本:v4.0 | 更新日期:2026-05-14 +> +> **v4.0 变更**:同步课评规范V1.0 — 新增补课双向记录规则;更新存储路径为 `.claude/memory/class/` 标准结构;新增补课目录 `补课/` 专用路径 --- @@ -33,21 +35,21 @@ ### 1.2 补课学生分类处理 **情况A:自己班级的学生补课** -- **判断**:学生在 `memory/student/{当前班级}/` 目录中存在 -- **处理**:正常双轨保存(班级汇总 + 个人档案) +- **判断**:学生在 `.claude/memory/class/{当前班级}/` 目录中存在 +- **处理**:正常生成课评到 `feedback/YYYYMMDD_课程编号-课次.md` **情况B:跨班级补课(档案在其他班级)** -- **判断**:学生在 `memory/student/{其他班级}/` 目录中存在 -- **处理**:自动双轨保存(跨班级模式) - - ✅ 保存到补课班级周汇总 - - ✅ 追加到原班级个人历史课评记录.md(标注补课班级信息) +- **判断**:学生在 `.claude/memory/class/{其他班级}/` 目录中存在 +- **处理**:自动跨班级保存(课评规范标准) + - ✅ 课评文件保存到补课班级的 `补课/{学生名}/feedback/YYYYMMDD_课程编号.md` + - ✅ 原班级侧生成补课追踪文件 `feedback/YYYYMMDD_课程编号-课次(补课-去班级名).md` - **无需询问,自动完成** **情况C:其他老师班级补课学生** - **判断**:任何班级都不存在该学生档案 - **处理**:询问后决定 - - [1] 仅保存到班级汇总 - - [2] 创建新档案(双轨保存) + - [1] 保存到补课班级的 `补课/{学生名}/feedback/`(仅班级记录) + - [2] 创建新档案(在本班建立 `profile.md`) ### 1.3 跨班级补课示例 @@ -60,10 +62,11 @@ AI检测: 判断:跨班级补课学生(原班级周四19点,补课班级周六09点) -自动处理: -→ 课评保存到「第8周/发现世界-周六09点.md」(补课班级周汇总) -→ 课评追加到「student/发现世界-周四19点/林瀚丞/历史课评记录.md」(原班级个人档案) - 标注:【跨班级补课】本节课程在周六09点班完成 +自动处理(课评规范标准): +→ 补课班级侧:保存到「补课/林瀚丞/feedback/YYYYMMDD_DISC-008.md」 + (内容开头注明"(补课,来自 发现世界-周四19点)") +→ 原班级侧:保存到「林瀚丞/feedback/YYYYMMDD_DISC-008(补课-去发现世界-周六09点).md」 + (简要记录补课去向) ``` --- @@ -110,3 +113,35 @@ AI检测: ``` **快捷指令**:`小明转正` 或 `小明[正式]` + +--- + +## 四、课评规范V1.0补课记录要求 + +### 4.1 补课目录结构 + +``` +.claude/memory/class/{补课班级}/ +├── 学生姓名/ ← 正式学生 +│ └── feedback/ +│ └── YYYYMMDD_课程编号.md +└── 补课/ ← 补课学生专用 + └── {学生姓名}/ + └── feedback/ + └── YYYYMMDD_课程编号.md +``` + +### 4.2 双向记录 + +**补课产生两条文件记录**: + +| 位置 | 文件名 | 内容 | +|------|--------|------| +| 原班级侧 | `feedback/YYYYMMDD_课程编号-课次(补课-去班级名).md` | 记录"去了哪补课" | +| 补课班级侧 | `补课/{学生}/feedback/YYYYMMDD_课程编号.md` | 正常课评,开头注明来源 | + +### 4.3 自动化统计影响 + +- 补课学生必须在补课班级的 `补课/` 目录下有课评文件 +- 原班级侧的 `(补课-去...).md` 文件用于标记出勤状态(补课=到课) +- 系统三级查找的第二级会搜索所有 `补课/` 目录 diff --git a/.claude/rules/30-student.md b/.claude/rules/30-student.md index 9a4a95f..56a546f 100644 --- a/.claude/rules/30-student.md +++ b/.claude/rules/30-student.md @@ -1,7 +1,9 @@ # 学生管理规则:画像建立、千人千面、姓名处理 > 合并文件:班级差异与千人千面 + 学生画像建立指南 + 姓名处理规则 -> 版本:v3.1(合并版)| 更新日期:2026-05-05 +> 版本:v4.0 | 更新日期:2026-05-14 +> +> **v4.0 变更**:同步课评规范V1.0 — 更新档案存储路径为 `.claude/memory/class/` 标准;学生画像文件改为固定名 `profile.md` --- @@ -62,15 +64,23 @@ Step 6: 持续更新成长轨迹 | 成长轨迹 | 每次课后 | | 家长沟通 | 需要时 | -### 1.6 档案存储位置 +### 1.6 档案存储位置(课评规范标准) ``` -memory/student/{班级}/{学生名}/ -├── 用户画像.md # 核心档案 -├── 历史课评记录.md # 课评记录 -└── 成长素材.md # 照片/作品记录 +.claude/memory/class/{班级}/{学生名}/ +├── feedback/ # 课评目录(单次单独文件) +│ ├── YYYYMMDD_课程编号-课次.md # 课评文件 +│ ├── YYYYMMDD_课程编号-课次(请假).md # 请假记录 +│ └── ... +├── profile.md # 学生画像(固定文件名) +└── summaries/ # 阶段性总结(可选) + └── YYYY-MM_月度总结.md ``` +> **历史数据**保留在 `memory/student/` 下,新课评按此标准路径保存。 +> +> **课评规范要求**:学生画像文件必须命名为 `profile.md`(而非`用户画像.md`),课评文件使用 `YYYYMMDD_课程编号-课次.md` 格式。 + --- ## 二、姓名处理规则 @@ -240,6 +250,6 @@ TUBE-001 小小班A班 ## 五、相关文件 -- **用户画像模板**:`memory/student/用户画像模板.md` -- **历史课评模板**:`memory/student/历史课评记录模板.md` -- **成长素材模板**:`memory/student/成长素材模板.md` +- **用户画像模板**:`memory/student/用户画像模板.md`(历史) +- **标准课评模板**:详见 [20-workflow.md 第7.7节](20-workflow.md) +- **课评规范全文**:[20-workflow.md 第10节](20-workflow.md) 课评规范V1.0对照 diff --git a/.claude/rules/50-output-format-preschool.md b/.claude/rules/50-output-format-preschool.md index a3f66fb..ef4b6a4 100644 --- a/.claude/rules/50-output-format-preschool.md +++ b/.claude/rules/50-output-format-preschool.md @@ -6,9 +6,10 @@ > > **首次上课/补课说明**:详见 [20-workflow.md](20-workflow.md)(第3节、第7节) > -> **存储位置**(生成后自动双轨保存): -> - 班级周汇总:`memory/class-evaluation-summary/第X周/{班级}.md` -> - 个人历史课评:`memory/student/{班级}/{学生名}/历史课评记录.md` +> **存储位置**(课评规范标准): +> - **个人课评文件**:`.claude/memory/class/{班级}/{学生名}/feedback/YYYYMMDD_课程编号-课次.md` +> - **班级总结**:`.claude/memory/class/{班级}/summaries/YYYYMMDD_课程编号-课次_班级反馈.md` +> - **历史档案**(过渡保留):`memory/student/{班级}/{学生名}/` --- diff --git a/.claude/rules/51-output-format-elementary.md b/.claude/rules/51-output-format-elementary.md index b91a123..fc3a66b 100644 --- a/.claude/rules/51-output-format-elementary.md +++ b/.claude/rules/51-output-format-elementary.md @@ -1,13 +1,14 @@ # 课评输出格式规则 - 小学版(6-10岁) -> 适用课程:SPIKE(一年级)、AI03-AICODE(四年级) +> 适用课程:SPIKE(一年级)、AICODE03(四年级) > 特点:结构化呈现,视觉化分隔,降低阅读负担,专业清晰 > > **首次上课/补课说明**:详见 [20-workflow.md](20-workflow.md)(第3节、第7节) > -> **存储位置**(生成后自动双轨保存): -> - 班级周汇总:`memory/class-evaluation-summary/第X周/{班级}.md` -> - 个人历史课评:`memory/student/{班级}/{学生名}/历史课评记录.md` +> **存储位置**(课评规范标准): +> - **个人课评文件**:`.claude/memory/class/{班级}/{学生名}/feedback/YYYYMMDD_课程编号-课次.md` +> - **班级总结**:`.claude/memory/class/{班级}/summaries/YYYYMMDD_课程编号-课次_班级反馈.md` +> - **历史档案**(过渡保留):`memory/student/{班级}/{学生名}/` --- @@ -191,7 +192,7 @@ ━━━━━━━━━━━━━━━━━━━━━━━ 📊 课评报告|怡瞳|四年级 ━━━━━━━━━━━━━━━━━━━━━━━ -📅 2026-03-26 AI03-001 初识AI协作 +📅 2026-03-26 AICODE03-001 初识AI协作 ``` --- @@ -435,13 +436,13 @@ Prompt编写的基本概念理解了,能写出简单的指令让AI执行。但 --- -### 示例2:AI03四年级 +### 示例2:AICODE03四年级 ``` ━━━━━━━━━━━━━━━━━━━━━━━ 📊 课评报告|怡瞳|四年级 ━━━━━━━━━━━━━━━━━━━━━━━ -📅 2026-03-26 AI03-001 初识AI协作 +📅 2026-03-26 AICODE03-001 初识AI协作 【核心表现】 diff --git a/.claude/skills/keping-advanced/SKILL.md b/.claude/skills/keping-advanced/SKILL.md index bfd39fe..0c7e561 100644 --- a/.claude/skills/keping-advanced/SKILL.md +++ b/.claude/skills/keping-advanced/SKILL.md @@ -1,7 +1,7 @@ --- name: keping-advanced -description: 穹狼乐高编程高级课评生成Skill。当用户需要生成个性化课评、写课后反馈、创建学生评价时使用。根据学生画像、课程教案、历史课评、学期周数等多维度信息,自动生成180-350字专业课评(根据输入丰富度弹性调整)。支持自动周数计算和主题关联。采用"生成即双轨保存"流程:课评生成后立即自动保存到班级周汇总和个人档案,无需教师确认。同时自动更新出勤统计。支持补课/体验学生的灵活处理(可仅保存到班级周汇总)。适用于2.5岁-小学四年级学生,支持幼儿积木、少儿编程、机器人竞赛等多种课程类型。触发词:/课评、/keping、/写课评、生成课评。 -version: 3.1.0 +description: 穹狼乐高编程高级课评生成Skill。当用户需要生成个性化课评、写课后反馈、创建学生评价时使用。根据学生画像、课程教案、历史课评、学期周数等多维度信息,自动生成180-350字专业课评(根据输入丰富度弹性调整)。支持自动周数计算和主题关联。采用"生成即自动保存"流程:课评生成后立即自动保存到 feedback/ 个人课评文件(课评规范V1.0标准),无需教师确认。支持补课/体验学生的灵活处理。适用于2.5岁-小学四年级学生,支持幼儿积木、少儿编程、机器人竞赛等多种课程类型。触发词:/课评、/keping、/写课评、生成课评。 +version: 4.0.0 author: 穹狼教学团队 --- @@ -21,33 +21,32 @@ author: 穹狼教学团队 --- -## 8步执行流程(v3.1 生成即双轨保存模式 + 出勤统计自动更新) +## 8步执行流程(v4.0 课评规范V1.0标准 + 自动保存) ``` ┌─────────────────────────────────────────────────────────────────────────┐ │ Step 1: 读取学生用户画像 │ -│ ├── 情况A:学生档案存在 → 正常读取 │ +│ ├── 情况A:学生档案存在 → 正常读取 `.claude/memory/class/{班级}/{学生}/profile.md` │ │ └── 情况B:学生档案不存在(补课/体验学生)→ 标记类型 │ │ Step 2: 读取对应课程的课评规则 │ │ Step 3: 读取本节课教案内容(含周数计算) │ -│ Step 4: 读取该学生近10次历史课评(如存在) │ +│ Step 4: 读取该学生近10次历史课评(如存在,从 feedback/ 目录读取) │ │ Step 5: 结合教师提供的本节课表现 │ │ Step 6: 生成180-350字个性化课评(根据输入丰富度弹性调整) │ │ ↓ 【自动生成】 │ -│ Step 7: 【自动双轨保存】 │ -│ ├── 7.1 保存到班级周汇总:`memory/class-evaluation-summary/第X周/{班级}.md` │ -│ ├── 7.2 保存到个人历史课评(如有档案): │ -│ │ ├── 常规学生:`memory/student/{班级}/{学生}/历史课评记录.md` │ -│ │ └── 补课学生:同时保存到补课班级汇总 + 原班级个人档案 │ -│ └── 7.3 更新出勤统计:`memory/class-evaluation-summary/第X周/出勤统计.md` │ +│ Step 7: 【自动保存】(课评规范V1.0标准) │ +│ ├── 7.1 保存个人课评文件:`.claude/memory/class/{班级}/{学生}/feedback/YYYYMMDD_课程编号-课次.md` │ +│ ├── 7.2 班级总结:`.claude/memory/class/{班级}/summaries/YYYYMMDD_课程编号-课次_班级反馈.md` │ +│ └── 7.3 补课/体验学生:补课班级 `补课/` 目录 + 原班级(双向追踪) │ │ Step 8: 展示保存结果,教师可随时查看/修改 │ └─────────────────────────────────────────────────────────────────────────┘ ``` > **重要变更**: -> 1. **v3.1 生成即双轨保存**:课评生成后立即自动保存,无需教师确认 -> 2. **自动更新出勤统计**:每次保存自动更新出勤统计文件 -> 3. **全程可修改**:保存后教师可随时修改,修改自动同步到两个位置 +> 1. **v4.0 课评规范V1.0标准**:改用 `.claude/memory/class/` 目录结构,个人课评存为 `feedback/YYYYMMDD_课程编号-课次.md` +> 2. **课程编号统一**:AI编程班统一用 `AICODE` 前缀(如 AICODE03),C++班统一用 `CSP` 前缀 +> 3. **补课双向追踪**:补课学生在原班级侧生成追踪文件 `(补课-去班级名).md` +> 4. **全程可修改**:保存后教师可随时修改,修改自动同步 ### 详细流程说明 @@ -55,11 +54,11 @@ author: 穹狼教学团队 **操作**: 1. **检查学生档案是否存在**: - - 检查路径:`memory/student/{班级}/{学生名}/` - - 检查文件:`用户画像.md`、`历史课评记录.md` + - 检查路径:`.claude/memory/class/{班级}/{学生}/` + - 检查文件:`profile.md` 2. **情况A:学生档案存在(常规学生)** - - 读取 `memory/student/{班级}/{学生名}/用户画像.md` + - 读取 `.claude/memory/class/{班级}/{学生}/profile.md` - 提取完整信息:气质类型、学习风格、历史表现等 - **标记类型**:`student_type = "regular"` @@ -154,7 +153,7 @@ author: 穹狼教学团队 |---------|:---:|:---------------:|:-----| | 发现世界 | 第5周 | DISC-005 | 天平秤 | | SPIKE | 第5周 | SPIKE-005 | 杯子盖球 | -| AI03 | 第5周 | AI03-005 | 项目整合 | +| AI编程 | 第5周 | AICODE03-005 | 项目整合 | **3.3 提取教案内容** - 根据课程代码(如:DISC-005, SPIKE-005)定位教案 @@ -173,8 +172,8 @@ author: 穹狼教学团队 #### Step 4: 读取该学生近10次历史课评 **操作**: -- 读取 `memory/student/{班级}/{学生名}/历史课评记录.md` -- 提取最近10条记录 +- 读取 `.claude/memory/class/{班级}/{学生}/feedback/` 目录下的所有课评文件 +- 提取最近10条记录(按文件名日期排序) - 分析: - 能力发展趋势 - 进步轨迹 @@ -276,51 +275,51 @@ author: 穹狼教学团队 - 小学低段:尊重专业,平等对话,简洁emoji - 小学高段:成长视角,数据支撑,结构化 -**输出**:`evaluation_text`(180-350字,含emoji),**等待教师确认后再执行Step7** +**输出**:`evaluation_text`(180-350字,含emoji),**自动进入保存流程** --- -#### Step 7: 双轨保存课评(需教师确认后执行) -**触发条件**:教师确认课评内容无误后 +#### Step 7: 自动保存课评(课评规范V1.0标准,无需确认) +**触发条件**:课评生成完成后自动触发 **操作逻辑**: ``` IF student_type == "regular"(常规学生): - ├── 7.1 保存到班级周汇总 - │ └── 路径:`memory/class-evaluation-summary/第X周/{班级}.md` - └── 7.2 保存到个人历史课评 - └── 路径:`memory/student/{班级}/{学生}/历史课评记录.md` + ├── 7.1 保存个人课评文件 + │ └── 路径:`.claude/memory/class/{班级}/{学生}/feedback/YYYYMMDD_课程编号-课次.md` + │ └── 内容:三段式课评正文 + └── 7.2 保存班级总结 + └── 路径:`.claude/memory/class/{班级}/summaries/YYYYMMDD_课程编号-课次_班级反馈.md` ELSE IF student_type == "guest"(补课/体验学生): - └── 仅保存到班级周汇总 - └── 路径:`memory/class-evaluation-summary/第X周/{班级}.md` - └── 标记:(补课/体验学生,无个人档案) + ├── 7.1 保存个人课评文件 + │ └── 路径:`.claude/memory/class/{补课班级}/补课/{学生}/feedback/YYYYMMDD_课程编号.md` + └── 7.2 原班级追踪(跨班级补课) + └── 生成追踪文件:`.claude/memory/class/{原班级}/{学生}/feedback/YYYYMMDD_课程编号(补课-去班级名).md` ``` -**班级周汇总文件结构**: +**个人课评文件格式**: ```markdown -# 发现世界-周四19点 第7周汇总 +# {日期} | {课程代码} | {课程主题} -## 学生课评列表 +**课评内容**: +{三段式课评正文} -### 梁昕乔(常规学生)✓ -[课评内容] -- 状态:已确认 -- 个人档案:已同步 +**课堂表现**(摘要): +- 专注度:/5 +- 动手操作:/5 +- 问题解决:/5 +- 情绪表现:{描述} -### 钟昀昊(常规学生)✓ -[课评内容] -- 状态:已确认 -- 个人档案:已同步 +--- -### 张小明(补课学生)⚠️ -[课评内容] -- 状态:已确认 -- 个人档案:未创建(补课/体验学生) -- 备注:如需创建档案,请回复「为张小明创建档案」 +注意:状态通过文件名后缀自动识别 +- 正常文件名 `.md` = 出勤 +- `(请假).md` = 请假 +- `(补课-去班级名).md` = 补课追踪 ``` -**输出**:保存确认 + 文件路径 + 学生类型标记 +**输出**:保存确认 + 文件路径 --- @@ -330,20 +329,14 @@ ELSE IF student_type == "guest"(补课/体验学生): - 补课/体验学生(`student_type = "guest"`)跳过此步骤 **操作**: -- 更新 `memory/student/{班级}/{学生名}/用户画像.md` 中的成长轨迹表 -- 更新 `memory/student/{班级}/{学生名}/历史课评记录.md` -- 添加新记录: - - 时间:本次课日期 - - 课程:课程代码 - - 关键表现:一句话摘要 - - 能力变化:+/- 标记 +- 更新 `.claude/memory/class/{班级}/{学生}/profile.md` 中的成长轨迹表 +- 在 `.claude/memory/class/{班级}/{学生}/feedback/` 目录下已保存课评文件 **补课/体验学生的后续处理**: 如果教师后续决定为补课/体验学生创建档案: -1. 创建文件夹:`memory/student/{班级}/{学生名}/` -2. 创建通用用户画像 -3. 将该学生的历史课评从班级周汇总迁移到个人档案 -4. 标记为常规学生 +1. 创建目录:`.claude/memory/class/{班级}/{学生}/` +2. 创建 `profile.md` 通用画像 +3. 将该学生的历史课评从 `补课/` 目录迁移到正式 `feedback/` 目录 **输出**:更新确认 @@ -377,35 +370,26 @@ ELSE IF student_type == "guest"(补课/体验学生): ## 依赖文件路径 ``` -# 学生画像 -memory/student/{班级}/{学生名}/用户画像.md +# 学生画像(课评规范V1.0标准) +.claude/memory/class/{班级}/{学生}/profile.md +.claude/memory/class/{班级}/{学生}/feedback/ # 课程教案 memory/lesson/01-发现世界-螺丝刀/{课程代码}.md memory/lesson/08-SPIKE/{课程代码}.md -memory/lesson/09-AI03-AICODE/{课程代码}.md +memory/lesson/09-AICODE-AICODE/{课程代码}.md -# **学期周数与主题映射(新增)** +# 学期周数与主题映射 .claude/rules/15-semester-weeks.md -# **班级周汇总(新增 - 按周期分班级)** -memory/class-evaluation-summary/第X周/{班级}.md +# 班级总结 +.claude/memory/class/{班级}/summaries/ -# 学期周数(保持独立) -.claude/rules/15-semester-weeks.md - -# 风格规则(已合并至10-style.md) +# 风格规则 .claude/rules/10-style.md # 全年龄段风格规范 -# 评价维度(已合并至00-core.md) -.claude/rules/00-core.md # 核心规则(含评价维度) - -# 历史课评 -memory/student/{班级}/{学生名}/历史课评记录.md - -# 输出目录 -memory/student/{班级}/{学生名}/课评/ -memory/class-evaluation-summary/第X周/ # **新增**:按周期分班级的周汇总 +# 评价维度 +.claude/rules/00-core.md # 核心规则(含评价维度、课程编号规范) ``` --- @@ -511,15 +495,17 @@ memory/class-evaluation-summary/第X周/ # **新增**:按周期 | 版本 | 日期 | 更新内容 | |-----|------|---------| -| **v2.5.0** | **2026-05-01** | **统一字数标准**:将课评字数统一为弹性范围180-350字,与系统规则保持一致 | -| v2.4.0 | 2026-04-16 | **补课/体验学生支持**:新增对补课、体验课学生的处理逻辑——无档案时提醒教师,可选择仅保存到班级周汇总,不强制创建个人档案 | -| v2.3.0 | 2026-04-15 | **双轨存储**:新增班级周汇总功能,确认后同时保存到 `class-evaluation-summary/`(班级视角)和 `student/`(个人视角),便于集中查看当周全班表现 | -| v2.2.0 | 2026-04-04 | **流程优化**:新增"确认后保存"模式,Step 6生成后等待教师确认,确认后再执行Step 7-8保存,避免自动保存错误内容 | -| v2.1.0 | 2026-04-02 | **重大更新**:支持学期周数自动计算(基准3月2日),课程主题自动匹配,课评内容关联当周知识点,Emoji段落末尾插入,删除正文周数显示 | -| v2.0.0 | 2026-03-25 | 高级版本,支持8步完整流程,历史课评回顾,千人千面差异化 | -| v1.0.0 | 2026-03-25 | 基础版本,单维度课评生成 | +| **v4.0.0** | **2026-05-14** | **同步课评规范V1.0**:改用 `.claude/memory/class/` 目录结构(feedback/*.md 单次文件);统一课程编号(AI编程→AICODE,C++→CSP);补课双向追踪(`(补课-去班级名).md`);删除"待确认"步骤,生成即自动保存 | +| v3.1.0 | 2026-05-05 | **生成即双轨保存**:删除"待确认"状态,改为生成后立即自动保存;出勤嵌入班级汇总 | +| v2.5.0 | 2026-05-01 | **统一字数标准**:将课评字数统一为弹性范围180-350字,与系统规则保持一致 | +| v2.4.0 | 2026-04-16 | **补课/体验学生支持**:新增对补课、体验课学生的处理逻辑 | +| v2.3.0 | 2026-04-15 | **双轨存储**:新增班级周汇总功能 | +| v2.2.0 | 2026-04-04 | **流程优化**:新增确认后保存模式 | +| v2.1.0 | 2026-04-02 | **重大更新**:支持学期周数自动计算、课程主题自动匹配 | +| v2.0.0 | 2026-03-25 | 高级版本,支持8步完整流程,千人千面差异化 | +| v1.0.0 | 2026-03-25 | 基础版本 | --- *维护者:穹狼教学团队* -*最后更新:2026-04-16* +*最后更新:2026-05-14* diff --git a/.claude/skills/keping-advanced/config.json b/.claude/skills/keping-advanced/config.json index 9113d6d..59a9d2c 100644 --- a/.claude/skills/keping-advanced/config.json +++ b/.claude/skills/keping-advanced/config.json @@ -1,19 +1,19 @@ { "skill_name": "keping-advanced", - "version": "2.2.0", - "description": "高级课评生成Skill v2.2 - 支持学期周数自动计算(仅用于后端课程主题匹配)、课程主题自动匹配、三段式课评生成、自动双轨保存(班级汇总+个人档案)", + "version": "4.0.0", + "description": "高级课评生成Skill v4.0 - 支持学期周数自动计算(仅用于后端课程主题匹配)、课程主题自动匹配、三段式课评生成、自动保存到feedback/个人文件(课评规范V1.0标准)", "triggers": ["/课评", "/keping", "/写课评", "生成课评"], "semester_config": { "baseline_date": "2026-03-02", "week_calculation": "Floor((current_date - baseline) / 7) + 1", "total_weeks": 20, - "current_week": 10, - "current_date": "2026-05-09" + "current_week": 11, + "current_date": "2026-05-14" }, "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"}}, - "AI03": {"prefix": "AI03", "week_mapping": {"1": "AI03-001", "2": "AI03-002", "3": "AI03-003", "4": "AI03-004", "5": "AI03-005", "6": "AI03-006", "7": "AI03-007", "8": "AI03-008", "9": "AI03-009", "10": "AI03-010", "11": "AI03-011", "12": "AI03-012", "13": "AI03-013", "14": "AI03-014", "15": "AI03-015", "16": "AI03-016", "17": "AI03-017", "18": "AI03-018", "19": "AI03-019", "20": "AI03-020"}} + "AICODE03": {"prefix": "AICODE03", "week_mapping": {"1": "AICODE03-001", "2": "AICODE03-002", "3": "AICODE03-003", "4": "AICODE03-004", "5": "AICODE03-005", "6": "AICODE03-006", "7": "AICODE03-007", "8": "AICODE03-008", "9": "AICODE03-009", "10": "AICODE03-010", "11": "AICODE03-011", "12": "AICODE03-012", "13": "AICODE03-013", "14": "AICODE03-014", "15": "AICODE03-015", "16": "AICODE03-016", "17": "AICODE03-017", "18": "AICODE03-018", "19": "AICODE03-019", "20": "AICODE03-020"}} }, "workflow": { "steps": [ @@ -23,7 +23,7 @@ "action": "read_student_profile", "input": ["学生姓名", "班级"], "output": ["气质类型", "学习风格", "核心优势", "待发展能力", "历史表现模式", "display_name(课评用称呼)"], - "file_pattern": "memory/student/{班级}/{学生名}/用户画像.md", + "file_pattern": ".claude/memory/class/{班级}/{学生}/profile.md", "name_processing": { "priority": ["小名/昵称", "去姓称名", "叠字称呼", "全名"], "rules": { @@ -63,7 +63,7 @@ "action": "read_history_reviews", "input": ["学生姓名", "班级"], "output": ["最近10次课评", "能力发展趋势", "进步轨迹", "反复问题"], - "file_pattern": "memory/student/{班级}/{学生名}/历史课评记录.md", + "file_pattern": ".claude/memory/class/{班级}/{学生}/feedback/", "limit": 10 }, { @@ -121,28 +121,27 @@ }, { "id": "step7", - "name": "自动双轨保存(班级汇总+个人档案)", - "action": "save_evaluation_dual_track", + "name": "自动保存课评(课评规范V1.0标准)", + "action": "save_evaluation", "outputs": { - "class_summary": { - "path": "memory/class-evaluation-summary/第{周数}周/{班级}.md", + "feedback_file": { + "path": ".claude/memory/class/{班级}/{学生}/feedback/YYYYMMDD_课程编号-课次.md", "priority": 1, "required": true, - "content": "本周所有学生课评汇总(含出勤统计)" + "content": "单次个人课评文件(课评规范标准格式)" }, - "personal_archive": { - "path": "memory/student/{班级}/{学生名}/历史课评记录.md", + "class_summary": { + "path": ".claude/memory/class/{班级}/summaries/YYYYMMDD_课程编号-课次_班级反馈.md", "priority": 2, "required": false, - "content": "个人课评记录(时间倒序,最新在上)", - "on_failure": "加入待补存队列,下次生成前自动补存" + "content": "班级总结/群发文案(课后编写)" } }, "student_type_handling": { - "正式学生": "双轨保存(班级汇总+个人档案)", - "本班补课": "双轨保存(班级汇总+个人档案)", - "跨班级补课": "自动双轨保存(补课班级汇总+原班级个人档案)", - "体验学生": "仅班级汇总", + "正式学生": "个人课评文件 feedback/ + 班级总结", + "本班补课": "个人课评文件 feedback/ + 班级总结", + "跨班级补课": "补课班级 feedback/ + 原班级补课追踪文件 (补课-去班级名).md", + "体验学生": "仅存 补课/{学生}/feedback/ 目录", "缺课学生": "仅记录缺席" }, "auto_save": true, @@ -212,8 +211,8 @@ ] }, "data_sources": { - "student_profile": "memory/student/{班级}/{学生名}/用户画像.md", - "history_reviews": "memory/student/{班级}/{学生名}/历史课评记录.md", + "student_profile": ".claude/memory/class/{班级}/{学生}/profile.md", + "history_reviews": ".claude/memory/class/{班级}/{学生}/feedback/", "lesson_content": "memory/lesson/**/{课程代码}.md", "semester_weeks": ".claude/rules/15-semester-weeks.md", "style_rules": ".claude/rules/10-style.md", @@ -225,8 +224,8 @@ "output_format_elementary": ".claude/rules/51-output-format-elementary.md" }, "output_paths": { - "class_summary": "memory/class-evaluation-summary/第{周数}周/{班级}.md", - "personal_archive": "memory/student/{班级}/{学生名}/历史课评记录.md" + "feedback_file": ".claude/memory/class/{班级}/{学生}/feedback/YYYYMMDD_课程编号-课次.md", + "class_summary": ".claude/memory/class/{班级}/summaries/YYYYMMDD_课程编号-课次_班级反馈.md" }, "error_handling": { "date_not_found": {"message": "请输入日期,如:4月2日", "action": "prompt_for_date"}, @@ -236,9 +235,9 @@ "lesson_not_found": {"message": "未找到课程教案,请手动输入知识点或补充教案。", "action": "prompt_for_manual_input"}, "insufficient_history": {"message": "历史课评不足10次,使用全部可用记录。", "action": "use_available_records"}, "word_count_short": {"message": "字数偏短,建议补充具体事例。", "action": "suggest_expansion"}, - "class_summary_save_failed": {"message": "班级汇总保存失败,正在重试...", "action": "retry_3_times", "fallback": "显示错误提示,提供手动重试按钮"}, - "personal_archive_save_failed": {"message": "个人档案保存失败,已加入待补存队列。", "action": "add_to_compensation_queue", "fallback": "下次生成课评前自动补存,或教师输入'补存'手动触发"} + "feedback_save_failed": {"message": "个人课评文件保存失败,正在重试...", "action": "retry_3_times", "fallback": "显示错误提示,提供手动重试按钮"}, + "class_summary_save_failed": {"message": "班级总结保存失败,已加入待补存队列。", "action": "add_to_compensation_queue", "fallback": "下次生成课评前自动补存,或教师输入'补存'手动触发"} }, "created_at": "2026-03-25", - "updated_at": "2026-05-09" + "updated_at": "2026-05-14" } diff --git a/.claude/skills/keping-advanced/速查卡.md b/.claude/skills/keping-advanced/速查卡.md index 5012f92..d445901 100644 --- a/.claude/skills/keping-advanced/速查卡.md +++ b/.claude/skills/keping-advanced/速查卡.md @@ -11,7 +11,7 @@ --- -## ⚡ 快速用法(v2.1 新增周数自动计算) +## ⚡ 快速用法(v4.0 课评规范V1.0标准) ### 1. 极简输入(推荐)- 自动计算周数和主题 @@ -52,30 +52,35 @@ **基准日期**:3月2日 = 第1周 -| 日期 | 周数 | 发现世界 | SPIKE | AI03 | -|-----|:---:|:--------:|:-----:|:----:| -| 3月2日-8日 | 第1周 | DISC-001 | SPIKE-001 | AI03-001 | -| 3月9日-15日 | 第2周 | DISC-002 | SPIKE-002 | AI03-002 | -| 3月16日-22日 | 第3周 | DISC-003 | SPIKE-003 | AI03-003 | -| 3月23日-29日 | 第4周 | DISC-004 | SPIKE-004 | AI03-004 | -| **3月30日-4月5日** | **第5周** | **DISC-005** | **SPIKE-005** | **AI03-005** | -| 4月6日-12日 | 第6周 | DISC-006 | SPIKE-006 | AI03-006 | +| 日期 | 周数 | 发现世界 | SPIKE | AICODE03 | +|-----|:---:|:--------:|:-----:|:--------:| +| 3月2日-8日 | 第1周 | DISC-001 | SPIKE-001 | AICODE03-001 | +| 3月9日-15日 | 第2周 | DISC-002 | SPIKE-002 | AICODE03-002 | +| 3月16日-22日 | 第3周 | DISC-003 | SPIKE-003 | AICODE03-003 | +| 3月23日-29日 | 第4周 | DISC-004 | SPIKE-004 | AICODE03-004 | +| 3月30日-4月5日 | 第5周 | DISC-005 | SPIKE-005 | AICODE03-005 | +| 4月6日-12日 | 第6周 | DISC-006 | SPIKE-006 | AICODE03-006 | +| 4月13日-19日 | 第7周 | DISC-007 | SPIKE-007 | AICODE03-007 | +| 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** | -**当前**:2026年4月2日 = **第5周** +**当前**:2026年5月14日 = **第11周** --- -## 📋 8步流程速览(v2.1更新) +## 📋 8步流程速览(v4.0) | 步骤 | 动作 | 耗时 | 输出 | |:---:|:-----|:---:|:----| -| 1 | 读取用户画像 | <1s | 气质、风格、优势 | +| 1 | 读取用户画像(profile.md) | <1s | 气质、风格、优势 | | 2 | 读取课评规则 | <1s | 字数、模块、风格 | | **3** | **计算周数+匹配主题** | **<1s** | **第X周、课程代码、知识点** | -| 4 | 读取历史课评 | <1s | 10次记录、趋势 | +| 4 | 读取历史课评(feedback/目录) | <1s | 近10次记录、趋势 | | 5 | 解析本节课表现 | <1s | 关键行为、情绪 | -| 6 | 生成个性化课评 | 2-3s | 200-300字文本(关联主题) | -| 7 | 保存到学生目录 | <1s | 文件路径确认 | +| 6 | 生成个性化课评 | 2-3s | 180-350字文本(关联主题) | +| 7 | 自动保存 feedback/*.md | <1s | 课评规范V1.0标准文件 | | 8 | 更新成长记录 | <1s | 更新确认 | **总耗时**:约 5-8 秒 @@ -95,13 +100,13 @@ --- -## 📚 第5周主题速查(当前周:4月2日) +## 📚 第11周主题速查(当前周:2026年5月14日) -| 班级 | 课程代码 | 主题 | 核心知识点 | 课评关联建议 | -|-----|:-------:|:-----|:-----------|:-------------| -| 发现世界 | DISC-005 | **天平秤** | 杠杆原理、平衡判断、重量比较 | 用衣架做简易天平比较重量 | -| SPIKE | SPIKE-005 | **杯子盖球** | 传感器应用、条件判断、精准控制 | 调整传感器参数练习 | -| AI03 | AI03-005 | **项目整合** | 多AI协作、工作流设计 | 整合前面所学完成小项目 | +| 班级 | 课程代码 | 主题 | 核心知识点 | +|-----|:-------:|:-----|:-----------| +| 发现世界 | DISC-011 | **鳄鱼** | 嘴巴开合、铰链结构、咬合功能 | +| SPIKE | SPIKE-011 | **摩天轮** | 圆周运动、速度控制、观赏设计 | +| AICODE03 | AICODE03-008 | **我的个人主页(上)** | 内容先行、板块化设计、自定义智能体 | --- @@ -120,9 +125,9 @@ | 年龄段 | 字数 | 语气 | 侧重点 | |-------|:---:|:----|:-------| -| 2.5-6岁 | 180-220 | 温暖具体 | 参与、情绪、兴趣 | -| 6-8岁 | 190-230 | 尊重专业 | 能力、习惯、逻辑 | -| 8-10岁 | 200-300 | 成长数据 | 项目、竞赛、自主 | +| 2.5-6岁 | 180-350 | 温暖具体 | 参与、情绪、兴趣 | +| 6-8岁 | 190-350 | 尊重专业 | 能力、习惯、逻辑 | +| 8-10岁 | 200-350 | 成长数据 | 项目、竞赛、自主 | --- @@ -142,11 +147,11 @@ 生成后自动检查: -- [ ] 字数 200-300 字 +- [ ] 字数 180-350 字(根据输入丰富度弹性调整) - [ ] 5个必写模块完整 - [ ] 学生姓名正确 - [ ] **知识点与当周主题关联** -- [ ] **周数标记正确(第X周)** +- [ ] 周数仅在后台使用,正文不显示 - [ ] 无禁用词汇 - [ ] 纵向对比有据 - [ ] 建议可操作 @@ -157,16 +162,15 @@ ``` # 读取 -memory/student/{班级}/{学生名}/用户画像.md ← Step 1 -.claude/rules/15-semester-weeks.md ← Step 3(周数计算) -.claude/rules/20-style-building.md ← Step 2 -memory/lesson/**/{课程代码}.md ← Step 3 -memory/student/{班级}/{学生名}/历史课评记录.md ← Step 4 +.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/class/{班级}/{学生}/feedback/ ← Step 4 -# 写入 -memory/student/{班级}/{学生名}/课评/{日期}-{课程}.md ← Step 7 -memory/student/{班级}/{学生名}/用户画像.md ← Step 8 -memory/student/{班级}/{学生名}/历史课评记录.md ← Step 8 +# 写入(课评规范V1.0标准) +.claude/memory/class/{班级}/{学生}/feedback/YYYYMMDD_课程编号-课次.md ← Step 7 +.claude/memory/class/{班级}/{学生}/profile.md ← Step 8 ``` --- @@ -190,4 +194,4 @@ memory/student/{班级}/{学生名}/历史课评记录.md ← Step 8 --- -*速查卡 v2.1 | 2026-04-02* +*速查卡 v4.0 | 2026-05-14 | 同步课评规范V1.0* diff --git a/CLAUDE.md b/CLAUDE.md index 628022e..31584ff 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,7 +1,9 @@ # 穹狼乐高编程AI课评生成系统 > 为2.5岁-小学4年级学生自动生成个性化课程评价 -> 版本:v3.2(精简版)| 规则文件:9个核心文件 + 20个归档规则 +> 版本:v4.0(课评规范同步版)| 规则文件:9个核心文件 + 20个归档规则 +> +> **合规说明**:本仓库已同步 [课评规范V1.0](课评规范V1.0.md) 全部要求,包括课程编号规范、目录结构规范、课评文件命名规范、课评完成率统计规则。确保自动统计系统可正确识别到课评。 --- @@ -41,12 +43,26 @@ classfeedback/ │ │ ├── 40-keping-快速入门.md # 快速入门(v2.5旧版,已废弃) │ │ ├── 60-name-processing.md # 姓名处理(已合并至30-student) │ │ └── 70-common-structures.md # 通用结构(已合并至10-style) +│ ├── memory/ # 记忆数据目录(课评规范标准路径) +│ │ ├── class/ # 【班级数据 - 核心课评目录】 +│ │ │ ├── {班级名称}/ # 命名:{课程编号}{老师}{时间}(如AICODE03小Q周五1900) +│ │ │ │ ├── summaries/ # 班级总结/群发文案 +│ │ │ │ ├── {学生姓名}/ # 学生个人目录 +│ │ │ │ │ ├── feedback/ # 【个人课评目录】 +│ │ │ │ │ │ └── YYYYMMDD_课程编号-课次.md +│ │ │ │ │ └── profile.md # 学生画像 +│ │ │ │ └── 补课/ # 补课学生专用目录 +│ │ │ │ └── {学生姓名}/ +│ │ │ │ └── feedback/ +│ │ │ │ └── YYYYMMDD_课程编号.md +│ │ │ └── ... +│ │ └── lesson/ # 课程大纲(从独立仓库同步,不提交远端) │ ├── skills/ # 技能配置 │ └── settings.json # 设置 -├── memory/ -│ ├── lesson/ # 课程教案库 -│ ├── student/ # 学生档案 -│ ├── class-evaluation-summary/ # 班级周汇总 +├── memory/ # 历史数据(过渡期保留) +│ ├── lesson/ # 课程教案库(历史) +│ ├── student/ # 学生档案(历史) +│ ├── class-evaluation-summary/ # 班级周汇总(历史) │ └── 教育理念.md └── src/ └── evaluation_validator.py # 课评质量验证脚本 @@ -72,15 +88,17 @@ classfeedback/ ### 记忆存储 -| 用途 | 路径 | -|------|------| -| 教育理念 | [`memory/教育理念.md`](memory/教育理念.md) | -| 课程教案库 | [`memory/lesson/README.md`](memory/lesson/README.md) | -| 学期课程总览 | [`memory/lesson/2026春季学期课程总览.md`](memory/lesson/2026春季学期课程总览.md) | -| 学生档案总览 | [`memory/student/README.md`](memory/student/README.md) | -| 班级周汇总 | [`memory/class-evaluation-summary/README.md`](memory/class-evaluation-summary/README.md) | -| 班级学期总览 | [`memory/class-evaluation-summary/模板-班级学期总览.md`](memory/class-evaluation-summary/模板-班级学期总览.md) | -| 个人成长时间线 | [`memory/student/模板-成长时间线.md`](memory/student/模板-成长时间线.md) | +| 用途 | 标准路径(课评规范) | 说明 | +|------|---------------------|------| +| 课评文件(新) | [`.claude/memory/class/{班级}/{学生}/feedback/`](.claude/memory/class/) | **单次单文件** `YYYYMMDD_课程编号-课次.md` | +| 学生画像(新) | [`.claude/memory/class/{班级}/{学生}/profile.md`](.claude/memory/class/) | 个人画像,固定文件名 | +| 班级总结(新) | [`.claude/memory/class/{班级}/summaries/`](.claude/memory/class/) | 班级群发文案/反馈 | +| 补课学生(新) | [`.claude/memory/class/{班级}/补课/{学生}/feedback/`](.claude/memory/class/) | 跨班级补课课评 | +| 教育理念 | [`memory/教育理念.md`](memory/教育理念.md) | 历史数据,过渡保留 | +| 课程教案库 | [`memory/lesson/`](memory/lesson/) | 历史数据,过渡保留 | +| 学期课程总览 | [`memory/lesson/2026春季学期课程总览.md`](memory/lesson/2026春季学期课程总览.md) | 历史数据,过渡保留 | +| 学生档案总览 | [`memory/student/README.md`](memory/student/README.md) | 历史数据,过渡保留 | +| 班级周汇总 | [`memory/class-evaluation-summary/README.md`](memory/class-evaluation-summary/README.md) | 历史数据,过渡保留 | --- @@ -95,18 +113,21 @@ classfeedback/ | `AGE_ZB` | 中班 | 4-5岁 | 发明世界(智能笔) | | `AGE_DB` | 大班 | 5-6岁 | 创造世界(WEDO) | | `AGE_PS_LOW` | 小学低年级 | 6-8岁 | SPIKE | -| `AGE_PS_MID` | 小学中年级 | 8-10岁 | AI03 | +| `AGE_PS_MID` | 小学中年级 | 8-10岁 | AICODE03 | ### 课程代码 -| 代码 | 类型 | 班级 | 教具 | -|-----|------|------|------| -| `TUBE` | 管道探索 | 小小班 | 9076+9090 | -| `DISC` | 工具发现 | 小班 | 45002 | -| `INVENT` | 智能笔编程 | 中班 | 威儿2+9656 | -| `CREATE` | WEDO编程 | 大班 | WEDO | -| `SPIKE` | SPIKE编程 | 一年级 | SPIKE-PRIME | -| `AI03` | AI协作开发 | 四年级 | AICODE03 | +| 代码 | 类型 | 班级 | 教具 | 校宝对应 | +|-----|------|------|------|---------| +| `TUBE` | 管道探索 | 小小班 | 9076+9090 | - | +| `DISC` | 工具发现 | 小班 | 45002 | - | +| `INVENT` | 智能笔编程 | 中班 | 威儿2+9656 | - | +| `CREATE` | WEDO编程 | 大班 | WEDO | - | +| `SPIKE` | SPIKE编程 | 一年级 | SPIKE-PRIME | - | +| `AICODE03` | AI协作开发 | 四年级 | AICODE03 | ✅ AICODE03AI编程创新课03 | +| `CSP` | C++信息学奥赛 | - | - | ✅ CSP01-05(校宝标准编号) | + +> **重要**:课程编号必须与校宝排课系统中的 `class_name` 一致。C++班统一用 `CSP`,AI编程班统一用 `AICODE`+编号,不得使用 `AI`、`C++`、`信奥` 等缩写。详见 [20-workflow.md 第10节](.claude/rules/20-workflow.md) 课评规范对照。 ### 评分等级 @@ -184,14 +205,32 @@ classfeedback/ 教师可随时查看/修改(无需确认) ``` -> **自动双轨保存机制**:课评生成后立即自动保存到班级汇总和个人档案,无需教师确认。出勤信息直接体现在班级汇总中。详细规则参见 [20-workflow.md](.claude/rules/20-workflow.md) 第10节。 +> **自动双轨保存机制**:课评生成后立即自动保存到班级汇总和个人档案,无需教师确认。出勤信息直接体现在班级汇总中。详细规则参见 [20-workflow.md](.claude/rules/20-workflow.md)。 -### 存储双轨制 +### 存储双轨制(新规范) -| 存储位置 | 路径 | 用途 | 保存时机 | -|---------|------|------|:--------:| -| 班级周汇总 | `memory/class-evaluation-summary/第X周/{班级}.md` | 每周全班课评汇总(含出勤) | 生成后立即自动保存 | -| 个人档案 | `memory/student/{班级}/{学生名}/历史课评记录.md` | 个人完整轨迹(时间倒序,最新在上) | 生成后立即自动保存(如有档案) | +> 课评规范V1.0要求:课评必须按次按学生单独文件,**不可用汇总文件代替单次课评**。 + +| 存储位置 | 标准路径 | 用途 | 保存时机 | +|---------|---------|------|:--------:| +| **个人课评文件** | `.claude/memory/class/{班级}/{学生名}/feedback/YYYYMMDD_课程编号-课次.md` | 单次个人课评 | 生成后自动保存 | +| **班级总结** | `.claude/memory/class/{班级}/summaries/YYYYMMDD_课程编号-课次_班级反馈.md` | 班级群发文案 | 生成后自动保存 | +| **学生画像** | `.claude/memory/class/{班级}/{学生名}/profile.md` | 学生画像档案 | 建档时创建 | + +### 课评完成率统计规则(自动化) + +系统按以下规则自动统计课评完成率,**仅统计 CSP 和 AICODE 班级**: + +1. **出勤基准**:校宝 API 排课数据(`teaching-schedule`),以校宝为准 +2. **查找规则**(三级查找): + - 第1级 → 班级目录下,学生/feedback/ 匹配文件日期 + - 第2级 → 本仓库其他班级 补课/ 目录查找 + - 第3级 → 其他老师仓库的 补课/ 目录查找 +3. **日期匹配**:文件名中的 `YYYYMMDD` 必须与校宝 `teaching_date` 完全一致 +4. **请假标记**:文件名带 `(请假)` 不要求课评 +5. **补课追踪**:补课学生必须有课评(放在补课班级的 `补课/` 目录) + +> **⚠️ 重要**:如果不按规范导致系统无法识别到课评,将按未完成统计。请确保每位到课学生均有对应日期的个人课评文件。详见 [20-workflow.md 第10节](.claude/rules/20-workflow.md)。 ### 学生出勤状态(嵌入班级汇总) @@ -214,6 +253,7 @@ classfeedback/ ## 版本历史 +- **v4.0** | 2026-05-14 | 同步课评规范V1.0:新增课程编号规范(CSP/AICODE)、新目录结构(`.claude/memory/class/`)、文件命名规范(`YYYYMMDD_课程编号-课次.md`)、课评完成率统计规则 - **v3.1** | 2026-05-05 | 简化保存流程:删除"待确认"状态,改为"生成即双轨保存";出勤嵌入班级汇总 - **v2.5** | 2026-05-01 | 统一字数弹性范围180-350字 - **v2.0** | 2026-04-17 | 批量生成优化,双轨保存