--- name: keping-advanced description: 穹狼乐高编程高级课评生成Skill。当用户需要生成个性化课评、写课后反馈、创建学生评价时使用。根据学生画像、课程教案、历史课评、学期周数等多维度信息,自动生成200-300字专业课评。支持自动周数计算和主题关联。采用"生成-确认-保存"流程:先生成课评供教师审核,确认后再双轨保存到班级周汇总和个人档案。支持补课/体验学生的灵活处理(可仅保存到班级周汇总)。适用于2.5岁-小学四年级学生,支持幼儿积木、少儿编程、机器人竞赛等多种课程类型。触发词:/课评、/keping、/写课评、生成课评。 version: 2.4.0 author: 穹狼教学团队 --- # 高级课评生成 Skill ## 功能概述 本Skill根据学生画像、课程教案、历史表现等多维度信息,自动生成个性化课后评价(200-300字)。 ### 核心能力 - 读取并分析学生画像档案 - 匹配课程教案提取知识点 - 回顾近10次历史课评找规律 - 结合本节课实时表现 - 生成千人千面差异化课评 - 自动保存并更新成长记录 --- ## 8步执行流程(v2.3 双轨存储模式 + 补课/体验学生支持) ``` ┌─────────────────────────────────────────────────────────────────────────┐ │ Step 1: 读取学生用户画像 │ │ ├── 情况A:学生档案存在 → 正常读取 │ │ └── 情况B:学生档案不存在(补课/体验学生)→ 提醒教师 │ │ Step 2: 读取对应课程的课评规则 │ │ Step 3: 读取本节课教案内容(含周数计算) │ │ Step 4: 读取该学生近10次历史课评(如存在) │ │ Step 5: 结合教师提供的本节课表现 │ │ Step 6: 生成200-300字个性化课评 │ │ ↓ 【等待教师确认】 │ │ Step 7: **双轨保存**(确认后执行) │ │ ├── 7.1 保存到班级周汇总:`memory/class-evaluation-summary/第X周/{班级}.md` │ │ └── 7.2 保存到个人历史课评(可选): │ │ ├── 常规学生:`memory/student/{班级}/{学生}/历史课评记录.md` │ │ └── 补课/体验学生:暂不创建个人档案,仅保留在班级周汇总 │ │ Step 8: 更新学生成长记录(常规学生执行,补课/体验学生跳过) │ └─────────────────────────────────────────────────────────────────────────┘ ``` > **重要变更**: > 1. **双轨存储模式**:确认后同时保存到班级周汇总和个人历史课评(如适用) > 2. **补课/体验学生支持**:检测到无档案学生时提醒教师,可选择是否创建档案 ### 详细流程说明 #### Step 1: 读取学生用户画像并确定称呼方式 **操作**: 1. **检查学生档案是否存在**: - 检查路径:`memory/student/{班级}/{学生名}/` - 检查文件:`用户画像.md`、`历史课评记录.md` 2. **情况A:学生档案存在(常规学生)** - 读取 `memory/student/{班级}/{学生名}/用户画像.md` - 提取完整信息:气质类型、学习风格、历史表现等 - **标记类型**:`student_type = "regular"` 3. **情况B:学生档案不存在(补课/体验学生)** - **提醒教师**: ``` ⚠️ 检测到新学生:[学生姓名] 该学生暂无个人档案,可能是: 1. 补课学生(已有档案在其他班级) 2. 体验课学生(首次到店试听) 3. 新转入学生(尚未建立档案) 是否需要为该学生创建个人档案? [是,创建档案] [否,仅保留在班级周汇总] ``` - **标记类型**:`student_type = "guest"`(补课/体验) - 使用通用模板生成课评 - **称呼方式**:使用输入姓名(不去除姓氏) **姓名处理详细规则**: 1. **谐音纠正(输入匹配)**: - **问题**:教师输入可能有谐音词(如"小鱼"→黄晓瑜、"君玲"→罗钧龄) - **解决**:将输入姓名与班级学生名单进行拼音/字形相似度匹配 - **匹配优先级**: - 相似度>90%:自动纠正,不打扰 - 相似度70-90%:生成前提示确认 - 相似度<70%:要求重新输入 - **示例**: - 输入"小鱼" → 匹配"黄晓瑜"(小名/昵称关联) - 输入"良心桥" → 纠正为"梁昕乔" - 输入"中云浩" → 纠正为"钟昀昊" 2. **称呼方式确定(输出优先级)**: ``` 优先级1:小名/昵称(画像中"nickname"字段,如"小鱼") 优先级2:去姓称名(双字名,如"晓瑜""钧龄""思霖") 优先级3:叠字称呼(单字名,如"昊昊""婷婷") 优先级4:全名(特殊要求,如"黄晓瑜") ``` 3. **称呼示例**: | 全名 | 小名/昵称 | 去姓称名 | 课评最终称呼 | |------|----------|---------|-------------| | 黄晓瑜 | 小鱼 | 晓瑜 | 小鱼(昵称优先)| | 罗钧龄 | 无 | 钧龄 | 钧龄(去姓)| | 简思霖 | 无 | 思霖 | 思霖(去姓)| | 梁昕乔 | 乔乔 | 昕乔 | 乔乔(小名优先)| | 钟昀昊 | 无 | 昀昊 | 昀昊(去姓)| | 张昊 | 无 | 昊昊(叠字)| 昊昊(单字名叠字)| **输出**:`student_profile` 对象(含`display_name`课评用称呼) --- #### Step 2: 读取对应课程的课评规则 **操作**: - 根据课程类型(幼儿/小学低/小学中)读取对应风格规则: - 幼儿(2.5-6岁):`.claude/rules/20-style-building.md` - 小学低年级(6-8岁):`.claude/rules/21-style-coding.md` - 小学中高年级(8-10岁):`.claude/rules/22-style-robotics.md` - 提取: - 字数要求(180-220 / 190-230 / 200-240) - 必写模块结构 - 语言风格要求 - 禁用词汇 **输出**:`style_rules` 对象 --- #### Step 3: 读取本节课教案内容(含周数计算) **操作**: **3.1 周数自动计算(新增)** - 读取学期周数规则:`.claude/rules/15-semester-weeks.md` - **基准设定**:2026年3月2日 = 第一周 - **计算公式**:`周数 = Floor((当前日期 - 3月2日) / 7) + 1` - **周数速查**(2026春季学期): - 3月2日-8日 = 第1周 - 3月9日-15日 = 第2周 - 3月16日-22日 = 第3周 - 3月23日-29日 = 第4周 - **3月30日-4月5日 = 第5周(当前周)** - 以此类推... **3.2 课程代码自动匹配(新增)** 根据班级类型和周数,自动匹配课程代码: | 班级类型 | 周数 | 自动匹配课程代码 | 主题 | |---------|:---:|:---------------:|:-----| | 发现世界 | 第5周 | DISC-005 | 天平秤 | | SPIKE | 第5周 | SPIKE-005 | 杯子盖球 | | AI03 | 第5周 | AI03-005 | 项目整合 | **3.3 提取教案内容** - 根据课程代码(如:DISC-005, SPIKE-005)定位教案 - 提取: - 课程主题 - 核心知识点 - 教学目标 - 评价维度 - 适龄提示 **路径**:`memory/lesson/{课程目录}/{课程代码}.md` **输出**:`lesson_content` 对象(含`week_number`周数信息) --- #### Step 4: 读取该学生近10次历史课评 **操作**: - 读取 `memory/student/{班级}/{学生名}/历史课评记录.md` - 提取最近10条记录 - 分析: - 能力发展趋势 - 进步轨迹 - 反复出现的问题 - 优势稳定领域 - 与本次课可对比的点 **输出**:`history_reviews` 数组 + `trend_analysis` 分析 --- #### Step 5: 结合教师提供的本节课表现 **操作**: - 解析教师输入的核心表现描述 - 提取关键行为词(如:主动、坚持、创新、求助等) - 识别情绪状态 - 判断与常态的差异 **输入格式**: ``` 学生:小明 表现:观望5分钟→主动搭3层→自己调高度 情绪:稳定 对比:比上周主动 ``` **输出**:`current_performance` 对象 --- #### Step 6: 生成200-300字个性化课评 **核心逻辑**: 1. **使用正确的称呼**: - 全程使用 `display_name`(Step1确定的小名/去姓/叠字) - 禁止使用全名(除非家长特殊要求) 2. **插入Emoji(每段末尾)**: - **幼儿版**(2.5-6岁): - **模块1**(课程知识点):🔍 - **模块2**(掌握程度):✨ 或 ✋ - **模块3**(课程环节与目标达成):🎯 或 📋 - **模块4**(成长亮点):🌱 或 💪 - **模块5**(课后建议):🏠 或 🎮 - 总计10-15个emoji,每段末尾1-2个 - **小学低年级版**(6-8岁,Kitten/SPIKE): - **模块1**(课程知识点):💡 或 📚 - **模块2**(掌握程度):✓ 或 ⚡ - **模块3**(课程环节与目标达成):🎯 或 ✅ - **模块4**(成长亮点):📈 或 💪 - **模块5**(课后建议):🏠 或 🔧 - 总计5个emoji,每段末尾1个,简洁专业 - **小学高年级版**(8-10岁,机器人/AI): - **模块1**(课程知识点):⚙️ 或 🤖 - **模块2**(掌握程度):📊 或 ⚡ - **模块3**(课程环节与目标达成):🎯 或 ✅ - **模块4**(成长亮点):📈 或 🚀 - **模块5**(课后建议):🏠 或 🔧 - 总计5个emoji,每段末尾1个,体现竞技感 3. **确定侧重点**(基于画像差异化): - 活泼型学生 → 突出创意和参与热情 - 谨慎型学生 → 肯定尝试勇气 - 敏感型学生 → 强调支持和情绪管理 - 慢热型学生 → 认可渐入佳境的过程 4. **选择对比维度**(基于历史): - 与上节课比:最近进步 - 与入学初比:长期成长 - 与班级常态比:独特表现 5. **首次上课/补课表述规则(重要)**: - **原则**:仅在教师输入中**明确写明**"第一次上课"、"新学生"等关键词时,才能在课评中提及相关内容 - **补课特殊情况**:若学生是**补课**(非首次到店),即使第一次上这节课,也**不要**写"第一次上课"、"第一次接触"等表述 - **区分方式**: - 教师写"新学生"/"第一次来"/"首次上课" → 可写"第一次上课" - 教师写"补课"/"插班" → 不写"第一次上课",即使第一次上这节课 - **示例**: - ✅ 教师输入"余正逸是新学生,第一次来上课" → 课评可写"正逸这节课是第一次接触天平秤" - ✅ 教师输入"余正逸是补课" → 课评不写"第一次",可写"正逸这节课表现..." - ❌ 教师未提及,但AI推断是补课 → 课评不得写"作为补课学生"、"第一次接触"等 6. **构建3段内容**(新段落结构): **段落分配**: - **第1段**:课程知识点(30-40字)- 介绍本节课核心知识/技能 - **第2段**:课堂细节长段落(100-130字)- 包含掌握程度、课程环节表现、成长亮点等详细描述 - **第3段**:课后建议(30-40字)- 家庭延伸活动建议 | 内容模块 | 字数 | 归属段落 | |---------|:---:|:--------:| | 课程知识点 | 30-40 | 第1段 | | 掌握程度 | 30-40 | 第2段(长段落)| | 课程环节与目标达成 | 40-50 | 第2段(长段落)| | 成长亮点 | 40-50 | 第2段(长段落)| | 课后建议 | 30-40 | 第3段 | **注意**:第2段为长段落,整合掌握程度、课堂表现、成长亮点等内容,用1-2个emoji自然分隔 7. **语言风格适配**: - 幼儿期:温暖具体,画面感,丰富emoji - 小学低段:尊重专业,平等对话,简洁emoji - 小学高段:成长视角,数据支撑,结构化 **输出**:`evaluation_text`(200-300字,含emoji),**等待教师确认后再执行Step7** --- #### Step 7: 双轨保存课评(需教师确认后执行) **触发条件**:教师确认课评内容无误后 **操作逻辑**: ``` IF student_type == "regular"(常规学生): ├── 7.1 保存到班级周汇总 │ └── 路径:`memory/class-evaluation-summary/第X周/{班级}.md` └── 7.2 保存到个人历史课评 └── 路径:`memory/student/{班级}/{学生}/历史课评记录.md` ELSE IF student_type == "guest"(补课/体验学生): └── 仅保存到班级周汇总 └── 路径:`memory/class-evaluation-summary/第X周/{班级}.md` └── 标记:(补课/体验学生,无个人档案) ``` **班级周汇总文件结构**: ```markdown # 发现世界-周四19点 第7周汇总 ## 学生课评列表 ### 梁昕乔(常规学生)✓ [课评内容] - 状态:已确认 - 个人档案:已同步 ### 钟昀昊(常规学生)✓ [课评内容] - 状态:已确认 - 个人档案:已同步 ### 张小明(补课学生)⚠️ [课评内容] - 状态:已确认 - 个人档案:未创建(补课/体验学生) - 备注:如需创建档案,请回复「为张小明创建档案」 ``` **输出**:保存确认 + 文件路径 + 学生类型标记 --- #### Step 8: 更新学生成长记录(常规学生执行,补课/体验学生跳过) **触发条件**: - 仅对 `student_type = "regular"` 的学生执行 - 补课/体验学生(`student_type = "guest"`)跳过此步骤 **操作**: - 更新 `memory/student/{班级}/{学生名}/用户画像.md` 中的成长轨迹表 - 更新 `memory/student/{班级}/{学生名}/历史课评记录.md` - 添加新记录: - 时间:本次课日期 - 课程:课程代码 - 关键表现:一句话摘要 - 能力变化:+/- 标记 **补课/体验学生的后续处理**: 如果教师后续决定为补课/体验学生创建档案: 1. 创建文件夹:`memory/student/{班级}/{学生名}/` 2. 创建通用用户画像 3. 将该学生的历史课评从班级周汇总迁移到个人档案 4. 标记为常规学生 **输出**:更新确认 --- ## 输入格式规范(v3.1 支持周数自动计算) ### 极简输入(推荐) ``` 日期:4月2日 班级:发现世界-周四19点 乔乔:知道这个主题,话题多,搭建快 昊昊:活跃,认真,开心 ``` **系统自动**:推算日期→计算周数→匹配课程代码→提取主题→生成课评 ### 其他输入方式 - **标准输入**:指定课程代码 - **自然对话**:任意口语化描述 - **批量输入**:Markdown表格格式 详见:`.claude/rules/30-input-format.md` --- ## 输出格式(双版本) - **学龄前版(2.5-6岁)**:表情增强型,参考 `.claude/rules/50-output-format-preschool.md` - **小学版(6-10岁)**:结构化型,参考 `.claude/rules/51-output-format-elementary.md` 格式根据学生年龄段自动选择。 --- ## 依赖文件路径 ``` # 学生画像 memory/student/{班级}/{学生名}/用户画像.md # 课程教案 memory/lesson/01-发现世界-螺丝刀/{课程代码}.md memory/lesson/08-SPIKE/{课程代码}.md memory/lesson/09-AI03-AICODE/{课程代码}.md # **学期周数与主题映射(新增)** .claude/rules/15-semester-weeks.md # **班级周汇总(新增 - 按周期分班级)** memory/class-evaluation-summary/第X周/{班级}.md # 风格规则 .claude/rules/20-style-building.md # 幼儿 .claude/rules/21-style-coding.md # 小学低 .claude/rules/22-style-robotics.md # 小学中高 # 评价维度 .claude/rules/03-evaluation-dimensions.md # 历史课评 memory/student/{班级}/{学生名}/历史课评记录.md # 输出目录 memory/student/{班级}/{学生名}/课评/ memory/class-evaluation-summary/第X周/ # **新增**:按周期分班级的周汇总 ``` --- ## 千人千面实现 ### 同一节课,不同学生的课评差异 **示例:DISC-003 互锁结构** | 学生 | 气质 | 侧重点 | 开头句式 | |------|------|--------|---------| | 梁昕乔 | 活泼型 | 快速启动、创意表现 | "昕乔今天一上课就..." | | 钟昀昊 | 平和型+慢热 | 渐入佳境、坚持过程 | "昀昊今天用了点时间进入状态..." | | 李怡瞳 | 平和型+初学 | 参与度、降低难度 | "怡瞳今天尝试了..." | ### 差异化策略 1. **开头差异化**: - 快速启动型:"一上课就..." - 慢热型:"今天用了点时间..." - 进步型:"和上周相比..." - 突破型:"今天终于..." 2. **侧重点差异化**: - 创意优势学生 → 肯定创新设计 - 坚持性弱学生 → 突出不放弃 - 社交活跃学生 → 强调合作分享 - 敏感型学生 → 强调情绪管理 3. **建议差异化**: - 同一知识点,给不同家庭活动建议 --- ## 质量检查清单 生成后自动检查(详见 `.claude/rules/00-system.md` 质量检查清单): - [ ] 字数 200-300 字(±10%) - [ ] 5个必写模块完整 - [ ] 学生称呼正确(使用display_name) - [ ] 课程知识点准确 - [ ] Emoji在段落末尾 - [ ] 无周数显示 --- ## 异常处理 | 场景 | 处理方式 | |------|---------| | 未找到学生画像 | 提示建立画像,使用通用模板继续 | | 未找到课程教案 | 提示补充教案,或教师手动输入知识点 | | 表现描述过于简单 | 提示补充关键行为细节 | | 字数不足 | 提示补充具体事例 | | **补课/体验学生** | 仅保存到班级周汇总,询问是否创建个人档案 | ### 补课/体验学生特殊处理 **场景描述**: - 学生到班级补课或参加体验课 - 该学生暂无个人档案(`memory/student/{班级}/{学生}/` 不存在) **处理流程**: 1. **检测**:Step 1自动检测学生档案是否存在 2. **提醒**:生成前提醒教师该学生无档案 3. **选项**: - **选项A**:回复「创建档案」→ 创建文件夹 + 生成课评 + 双轨保存 - **选项B**:回复「跳过」→ 生成课评 + 仅保存到班级周汇总 4. **标记**:在班级周汇总中标记为 `(补课/体验学生,无个人档案)` **后续处理**: - 补课学生后续转为正式学员:回复「为[姓名]创建档案」 - 体验学生报名:创建档案后将历史课评从班级周汇总迁移到个人档案 **示例**: ``` 教师输入:班级:发现世界-周四19点,张小明:搭了3层,开心 AI检测:未找到「张小明」的个人档案 AI提醒: ⚠️ 检测到新学生:张小明 该学生暂无个人档案。请选择: [1] 创建档案(补课/新学生) [2] 仅保留在班级汇总(体验课学生) 教师选择 [2] AI处理: ✓ 生成课评 ✓ 保存到「第7周/发现世界-周四19点.md」 ✓ 标记:张小明(体验学生,无个人档案) ``` --- ## 示例运行 ### 示例1:极简输入(推荐)- 自动计算周数和主题 #### 输入 ``` /keping 日期:4月2日 班级:发现世界-周四19点 乔乔:知道这个主题,话题多,搭建快,开心 昊昊:活跃,认真,开心 ``` #### 执行过程 1. ✓ 解析日期:4月2日 → 2026-04-02 2. ✓ **计算周数**:(4月2日 - 3月2日) = 31天 → Floor(31/7) + 1 = **第5周** 3. ✓ **匹配课程**:发现世界 + 第5周 → **DISC-005 天平秤** 4. ✓ **提取主题**:杠杆原理、平衡判断、重量比较 5. ✓ 读取画像:乔乔(活泼型、快速启动、创意突出)、昊昊(平和型+慢热、渐入佳境) 6. ✓ 读取历史:10次课评,表现稳定 7. ✓ 解析表现:乔乔(快速启动+创意)、昊昊(渐入佳境+认真) 8. → **生成关联课评**:结合"天平秤"主题,强调杠杆原理探索 9. → 保存文件 10. → 更新记录 #### 输出课评(乔乔) ``` ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 【学生:梁昕乔(乔乔)】DISC-005 天平秤 🔍 乔乔本周探索了"天平秤",学习了杠杆原理——两边的重量相等时天平就会平衡 ✨ 这节课乔乔状态特别好,对天平主题很熟悉,老师一讲解就能跟上,话题很多,搭建速度也很快,展现出很好的学习热情。全程专注且开心,一上课就表现出浓厚兴趣,还主动和旁边的小朋友分享自己的想法,互动特别积极。和之前相比,乔乔在动手方面表现越来越稳定,能快速理解结构原理,这个进步值得肯定 💪✨ 在家可以用衣架和绳子做一个简易天平,比较不同玩具的重量,巩固今天的平衡概念 🏠 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ``` --- ## 版本历史 | 版本 | 日期 | 更新内容 | |-----|------|---------| | **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 | 基础版本,单维度课评生成 | --- *维护者:穹狼教学团队* *最后更新:2026-04-16*