{ "skill_name": "keping-advanced", "version": "2.1.0", "description": "高级课评生成Skill v2.1 - 支持学期周数自动计算(仅用于后端课程主题匹配)、课程主题自动匹配、课评内容关联当周知识点(不显示周数)", "triggers": ["/课评", "/keping", "/写课评", "生成课评"], "semester_config": { "baseline_date": "2026-03-02", "week_calculation": "Floor((current_date - baseline) / 7) + 1", "total_weeks": 20, "current_week": 5, "current_date": "2026-04-02" }, "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" } } }, "workflow": { "steps": [ { "id": "step1", "name": "读取学生用户画像并确定称呼方式", "action": "read_student_profile", "input": ["学生姓名", "班级"], "output": ["气质类型", "学习风格", "核心优势", "待发展能力", "历史表现模式", "display_name(课评用称呼)"], "file_pattern": "memory/student/{班级}/{学生名}/用户画像.md", "name_processing": { "priority": ["小名/昵称", "去姓称名", "叠字称呼", "全名"], "rules": { "小名/昵称": "画像中有填写则优先使用", "去姓称名": "双字名且无小名时,去掉姓氏(如:梁昕乔→昕乔)", "叠字称呼": "单字名且无小名时,叠字化(如:张昊→昊昊)", "全名": "特殊要求时使用" } } }, { "id": "step2", "name": "读取对应课程的课评规则", "action": "read_style_rules", "input": ["年龄段"], "output": ["字数要求", "必写模块", "语言风格", "禁用词汇"], "file_mapping": { "幼儿(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" } }, { "id": "step3", "name": "计算周数并读取本节课教案内容", "action": "read_lesson_content_with_week", "input": ["日期", "班级", "课程代码(可选)"], "output": ["周数", "课程代码", "课程主题", "核心知识点", "教学目标"], "week_calculation": { "baseline": "2026-03-02", "formula": "Floor((date - baseline) / 7) + 1" }, "auto_mapping": true, "file_pattern": "memory/lesson/**/{课程代码}.md" }, { "id": "step4", "name": "读取该学生近10次历史课评", "action": "read_history_reviews", "input": ["学生姓名", "班级"], "output": ["最近10次课评", "能力发展趋势", "进步轨迹", "反复问题"], "file_pattern": "memory/student/{班级}/{学生名}/历史课评记录.md", "limit": 10 }, { "id": "step5", "name": "结合教师提供的本节课表现", "action": "parse_current_performance", "input": ["表现描述", "情绪", "对比"], "output": ["关键行为词", "情绪状态", "与常态差异"] }, { "id": "step6", "name": "生成200-300字个性化课评(使用display_name称呼,不显示周数)", "action": "generate_evaluation", "input": ["step1-5的所有数据", "display_name(课评用称呼)", "课程主题", "核心知识点"], "output": ["课评文本"], "theme_association": true, "rules": { "word_count": {"min": 180, "max": 300, "target": 250}, "modules": ["课程知识点(兴趣度)", "掌握程度(学习表现)", "课堂状态", "成长亮点", "课后建议"], "week_number_in_content": false, "name_usage": { "use_display_name": true, "display_name_source": "step1确定的称呼(小名/去姓/叠字)", "full_name_forbidden": true }, "emoji_usage": { "enabled": true, "style": "学龄前版", "rules": { "模块1_课程主题": { "title": "🌟", "content": "🔍", "alternatives": ["⭐", "🎯", "📚", "💡", "🏗️"] }, "模块2_课堂表现": { "title": "👀", "content": "✨", "hands": "✋", "alternatives": ["🤗", "😊", "🔧", "🏗️", "👍"] }, "模块3_情绪状态": { "title": "😊", "positive": "😄", "social": "🤝", "alternatives": ["😢", "😴", "🤗", "💪", "❤️"] }, "模块4_成长亮点": { "title": "🌱", "content": "💪", "highlight": "🚀", "alternatives": ["⭐", "✨", "🎉", "👏", "🏆"] }, "模块5_课后建议": { "title": "🏠", "family": "👨‍👩‍👧", "activity": "🎮", "alternatives": ["📱", "🧩", "🎨", "🔬"] } }, "principles": [ "每段配1-2个表情符号", "表情与内容情绪一致", "相邻段落不用相同表情", "总计10-15个表情为宜" ] }, "personalization": { "活泼型": "突出创意和参与热情", "谨慎型": "肯定尝试勇气", "平和型": "强调稳定进步", "敏感型": "强调支持和情绪管理", "慢热型": "认可渐入佳境的过程" } } }, { "id": "step7", "name": "自动保存到学生对应目录", "action": "save_evaluation", "output_path": "memory/student/{班级}/{学生名}/课评/{日期}-{课程代码}.md", "content": { "evaluation_text": "{课评正文}", "metadata": { "student": "{学生名}", "course": "{课程代码}", "week": "{周数}", "date": "{日期}", "generated_by": "keping-advanced v2.1.0", "teacher_input": "{原始输入}" } } }, { "id": "step8", "name": "更新学生成长记录", "action": "update_growth_record", "files": [ "memory/student/{班级}/{学生名}/用户画像.md", "memory/student/{班级}/{学生名}/历史课评记录.md" ], "record": { "date": "{日期}", "week": "{周数}", "course": "{课程代码}", "summary": "{一句话摘要}" } } ] }, "input_templates": { "single_quick": { "format": "日期:{date} 班级:{class} {name}:{performance} [情绪:{emotion}]", "example": "日期:4月2日 班级:发现世界-周四19点 乔乔:知道这个主题,话题多,搭建快 情绪:开心" }, "single_detailed": { "format": "yaml", "fields": ["日期", "班级", "学生", "表现", "情绪", "对比"] }, "batch": { "format": "markdown_table", "header": ["学生", "核心表现", "情绪"] } }, "quality_standards": { "word_count": { "幼儿": {"min": 180, "max": 220, "ideal": 200}, "小学低": {"min": 190, "max": 230, "ideal": 210}, "小学中高": {"min": 200, "max": 300, "ideal": 250} }, "paragraph_count": {"min": 4, "max": 5}, "emoji_usage": { "enabled": true, "count": {"min": 6, "max": 20, "ideal": "10-15"}, "style_mapping": { "幼儿(2.5-6岁)": "学龄前版(丰富表情)", "小学低(6-8岁)": "小学版(简洁点缀)", "小学中高(8-10岁)": "小学版(简洁点缀)" }, "check_items": [ "模块1使用🌟🔍等", "模块2使用👀✨✋等", "模块3使用😊😄🤝等", "模块4使用🌱💪🚀等", "模块5使用🏠👨‍👩‍👧🎮等", "相邻段落表情不重复", "表情与内容情绪匹配" ] }, "forbidden_words": ["宝贝", "小天才", "最棒", "无敌", "超级厉害", "完美", "秒杀", "碾压", "大神"], "forbidden_patterns": [ "比.*小朋友.*", "其他.*不好", "最差", "最慢", "最笨" ], "name_usage_check": { "priority": ["小名/昵称", "去姓称名", "叠字称呼"], "forbidden": ["全名(除非家长要求)"], "check_items": [ "课评中使用的是display_name(小名/去姓/叠字)", "未使用全名(除非有特殊要求)", "谐音姓名已纠正", "单字名已叠字化" ] }, "required_elements": [ "课程知识点(体现兴趣度)", "掌握程度(体现学习表现)", "课堂状态(专注度、情绪、互动)", "成长亮点(纵向对比)", "课后建议(可操作的家庭活动)" ] }, "data_sources": { "student_profile": "memory/student/{班级}/{学生名}/用户画像.md", "history_reviews": "memory/student/{班级}/{学生名}/历史课评记录.md", "lesson_content": "memory/lesson/**/{课程代码}.md", "semester_weeks": ".claude/rules/15-semester-weeks.md", "style_rules": { "building": ".claude/rules/20-style-building.md", "coding": ".claude/rules/21-style-coding.md", "robotics": ".claude/rules/22-style-robotics.md" } }, "output_paths": { "evaluation": "memory/student/{班级}/{学生名}/课评/{日期}-{课程代码}.md", "growth_record": "memory/student/{班级}/{学生名}/用户画像.md", "history_append": "memory/student/{班级}/{学生名}/历史课评记录.md" }, "error_handling": { "date_not_found": { "message": "请输入日期,如:4月2日", "action": "prompt_for_date" }, "profile_not_found": { "message": "未找到学生画像,使用通用模板继续。建议后续建立画像以获得更个性化课评。", "action": "continue_with_default" }, "name_not_found": { "message": "无法识别学生姓名,请检查姓名是否正确或建立画像档案。", "action": "prompt_for_name", "homophone_correction": { "enabled": true, "confidence_threshold": 0.8, "message": "检测到可能的谐音输入 '{输入}',是否纠正为 '{建议}'?" } }, "nickname_not_set": { "message": "学生画像中未设置小名/昵称,将使用去姓称名或叠字称呼。", "action": "use_fallback_name", "fallback_order": ["去姓称名", "叠字称呼", "全名"] }, "lesson_not_found": { "message": "未找到课程教案,请手动输入知识点或补充教案。", "action": "prompt_for_manual_input" }, "insufficient_history": { "message": "历史课评不足10次,使用全部可用记录。", "action": "use_available_records" }, "word_count_short": { "message": "字数偏短,建议补充具体事例。", "action": "suggest_expansion" } }, "created_at": "2026-03-25", "updated_at": "2026-04-02" }