初始化课评系统仓库:包含规则配置、学生档案、课程教案、班级汇总
This commit is contained in:
363
.claude/skills/keping-advanced/config.json
Normal file
363
.claude/skills/keping-advanced/config.json
Normal file
@@ -0,0 +1,363 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
Reference in New Issue
Block a user