Kaoyan kaoyan-plan

This skill should be used when the user asks to generate study plans for 考研 (Chinese graduate entrance exam), parse course schedules, create daily/weekly study schedules, or optimize study time allocation. Supports three input modes (minimal/standard/advanced), adapts to individual chronotypes (morning person/night owl), handles task debt from missed plans with circuit breaker protection (>10h triggers recovery mode), enforces Sunday review, respects minimum block duration requirements for different subjects, implements science-based time block splitting based on cognitive science (attention decay, decision fatigue, spacing effect), integrates with MemOS for persistent learning progress tracking, includes context refresh mechanism (auto-prompts profile update after 30 days), mental health intervention (triggers after 3 consecutive tired days), vocabulary review validation (prevents missing newly learned vocabulary), plan upsert logic with tagging for version control, completion record generation based on user actual reports (supports extra tasks).

install
source · Clone the upstream repo
git clone https://github.com/Treasoni/kaoyan
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/Treasoni/kaoyan "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/kaoyan-plan" ~/.claude/skills/treasoni-kaoyan-kaoyan-plan && rm -rf "$T"
manifest: .claude/skills/kaoyan-plan/SKILL.md
source content

考研规划Skill (Kaoyan Plan Generation Skill)

技能概述

本技能专注于考研学习计划生成,支持从课表中提取空闲时间,智能分配学习任务。采用渐进式输入模式(极简→标准→高级),适应不同使用场景。

核心特性

  • 用户画像持久化、学习进度追踪、欠账熔断保护
  • 心理状态追踪、计划智能更新、周日复盘数据汇总
  • 优雅降级:MemOS不可用时自动降级为无状态模式

三层输入模式

1️⃣ 极简模式(默认)

只需提供:课表(图片/PDF/口头描述)+ 今日优先任务(可选)

示例

"我周一上午没课,下午有英语课,今天想学高数第五章"

2️⃣ 标准模式

额外需要:考试日期 + 科目权重偏好(可选)

示例

"我12月21日考试,数学比较薄弱,需要加强"

3️⃣ 高级模式

额外需要:各科目进度 + 学习时长统计 + 疲劳度反馈

示例

"数学进度落后10小时,这周学了18h英语12h专业课,感觉有点累"


触发条件(意图优先级)

🔴 强触发(必触发)

  • "生成考研计划" + 课表
  • "制定学习计划" + 考研语境
  • "今日学习计划"、"考研时间表"

🟡 弱触发(询问确认)

  • "解析课表"、"提取空闲时间"
  • 课表图片/PDF文件

🔵 不触发

  • 非考研语境的学习计划
  • 纯粹的日程安排(非学习相关)

考研通用规则(默认值)

科目优先级

数学 > 英语 > 专业课 > 政治
权重:数学1.5 | 英语1.2 | 专业课1.0 | 政治0.6

时段适配规则(晨型人默认)

上午(08:00-12:00):数学、英语单词(精力巅峰)
下午(14:00-18:00):英语阅读、专业课(持续学习)
晚上(19:00-23:00):专业课、政治复盘(总结整理)
深夜(23:00后):仅复习,不学新内容

分阶段策略

基础期(>100天):全面打基础,四科均衡
强化期(30-100天):增加刷题量
冲刺期(7-30天):真题模拟为主
极限冲刺期(<7天):只复习,不学新内容

工作流程

[用户输入]
      ↓
[MemOS: 读取用户上下文]
  - 用户画像
  - 昨日计划
  - 本周进度
      ↓
[识别输入模式]
  ├─ 极简模式 → 使用默认值/记忆数据
  ├─ 标准模式 → 询问考试日期/偏好
  └─ 高级模式 → 分析完整数据
      ↓
[检查特殊状态]
  ├─ 任务欠账 → 生成补课方案(>10h触发熔断)
  ├─ 周日复盘 → 生成复盘计划
  └─ 连续疲惫 → 触发心理调节模式
      ↓
[解析课表 + 个性化适配]
  - Chronotype适配
  - 疲劳度调整
  - 最小块时长检查
  - 科学时间块切分
      ↓
[生成计划 + MemOS保存]

验证标准

基础功能验证

  1. ✅ 极简模式下只需课表即可生成计划
  2. ✅ 支持用户主观疲劳反馈
  3. ✅ 支持晨型人/夜型人适配
  4. ✅ 能解析图片/PDF课表
  5. ✅ 能检测任务欠账并生成补课方案
  6. ✅ 周日自动触发复盘模式
  7. ✅ 检查时段是否满足科目最小时长要求
  8. ✅ 自动切分长时间块为高效小块

MemOS集成验证

  • ✅ 能从MemOS读取用户画像和历史数据
  • ✅ MemOS不可用时能优雅降级
  • ✅ 画像超过30天未更新时自动触发刷新询问
  • ✅ 累计欠账超过10小时时触发熔断模式

⚠️ 完成记录更新清单(必读)

当用户报告任务完成时,必须按以下清单逐一更新所有相关文件,不得遗漏:

📋 完成报告处理清单

序号文件路径更新内容触发条件
1
考研计划/每日计划/{date}-每日计划.md
标记任务完成 ✅始终
2
考研计划/每日计划/完成记录/{date}-完成记录.md
创建/更新完成记录始终
3
考研英语/📊 学习进度.md
复习历史+待进行安排+今日完成英语任务
4
考研英语/📅 学习日志.md
追加今日学习日志英语任务
5
考研数学/{模块}/📊 学习进度.md
更新知识点状���+学习记录数学任务
6
考研专业课/📊 学习进度.md
更新章节进度+学习记录专业课任务
7
考研专业课/{章节}/📊 学习进度.md
更新知识点状态+学习记录专业课任务

🔴 英语完成报告更新步骤

当用户报告英语完成时(如 "Day 024 第1次复习 + Day 025 新学"),必须执行以下全部步骤

1. 更新 📊 学习进度.md
   - **【重要】 添加复习历史记录(表格行)** - **无论是"复习"还是"新学"任务,都需要添加记录**
   - 更新"待进行复习安排"表格(标记已完成 + 添加新复习计划)
   - 更新"今日完成情况" callout
   - 更新 frontmatter 中的 last_updated
   - 更新词汇累计数量

2. 更新 📅 学习日志.md
   - 在文件开头追加新的日志条目(### {date} (第N天))
   - 更新 frontmatter 中的 last_updated
   - 更新文件末尾的 *最后更新* 日期

   - **【注意】 如果学习进度文件中漏了"新学"记录,日志中也应同步补充**

3. 更新每日计划文件
   - 标记对应任务为 [x] ✅

4. 创建完成记录文件
   - 路径:考研计划/每日计划/完成记录/{date}-完成记录.md

🟡 专业课完成报告更新步骤

当用户报告专业课完成时,必须执行以下全部步骤

1. 确认正确的章节
   - 检查学习进度文件,确认当前学习的是哪一章
   - 不要盲目更新,先读取文件确认

2. 更新章节进度文件
   - 路径:考研专业课/数字电子技术/{章节}/📊 学习进度.md
   - 更新知识点状态(⬜ → ✅)
   - 添加学习记录

3. 更新总进度文件
   - 路径:考研专业课/📊 学习进度.md
   - 更新章节完成度
   - 添加学习记录

4. 更新每日计划 + 创建完成记录

🔵 数学完成报告更新步骤

当用户报告数学完成时(如 "完成涉及导数的中值定理(拉格朗日+柯西+泰勒)"),必须执行以下全部步骤

1. 确认正确的模块和知识点
   - 使用 Glob 搜索:`考研数学/**/📊 学习进度.md`
   - 使用 Grep 搜索关键词定位相关文件(如 "中值定理")
   - 读取学习进度文件,确认当前学习的是哪个模块
   - 不要盲目更新,先读取文件确认

2. 更新模块进度文件
   - 路径:考研数学/{模块名}/📊 学习进度.md(如:考研数学/高数-一元微分学/一元函数微分的应用2/📊 学习进度.md)
   - 更新整体进度表(已完成数量、进度百分比)
   - 更新详细进度中的知识点状态(⬜ → ✅ 或 🔄 → ✅)
   - 在学习日志中添加今日学习记录(日期+学习内容+用时+备注)
   - 更新 frontmatter 中的 last_updated

3. 更新每日计划 + 创建完成记录
   - 标记每日计划中的数学任务为 [x] ✅
   - 在完成记录文件中添加数学完成记录

⚠️ 常见错误警示

错误类型描述防止方法
遗漏学习日志只更新学习进度,忘记更新学习日志按清单逐一检查
更新错误章节专业课章节搞错先读取进度文件确认
遗漏 frontmatter忘记更新 last_updated每次更新文件时检查 frontmatter
遗漏数学进度只更新英语和专业课,忘记更新数学进度必须检查是否包含数学任务,使用 Glob/Grep 定位进度文件

限制条件

基础限制

  • OCR识别依赖图片清晰度
  • 课表格式需要一定的规范性
  • 疲劳度基于主观感受,存在主观性

降级策略

当MemOS不可用时,技能会自动降级为无状态模式(v2.1.0),核心功能不受影响。


技能集成

MCP工具依赖

MCP工具用途必需性
search_memory读取用户画像、历史计划、学习进度可选
add_message保存计划、记录任务完成、保存复盘数据可选
add_feedback收集用户对计划质量的反馈可选

依赖技能

技能用途
obsidian-markdown保存学习计划和笔记
docx导出Word/PDF格式的计划

📁 详细模块文档

模块文件内容
核心算法code.md主规划算法(v3.0/v2.1/自适应)、疲劳度计算、欠账处理、时间块切分
核心功能features.md功能1-7详细说明、Chronotype适配、脑科学原理
计划模板templates.md每日计划(极简/标准版)、周计划、复盘模板、补课计划
使用示例examples.md11个详细使用示例(极简模式→欠账熔断→心理调节)
MemOS集成memos-integration.mdMCP工具策略、v3.1标签系统、数据模型、降级策略
跨技能调度dispatch.md调度协议、全局权重、跨学科协调、统一用户画像

版本历史

v3.15.0 (2026-03-31)

修复后续复习计划遗漏问题(核心Bug修复):

  • 问题
    update_english_progress_file()
    函数只生成第1次复习计划,没有生成第2次和第3次复习计划
  • 影响:Day 024-026 的第2次复习任务被遗漏,导致大量复习任务没有提醒
  • 修复方案
    • 新���
      generate_future_review_plans()
      函数:根据当前复习类型生成后续复习计划
      • 新学 → 生成第1次复习计划(1天后)
      • 第1次复习 → 生成第2次复习计划(3天后)
      • 第2次复习 → 生成第3次复习计划(7天后)
    • 新增
      generate_makeup_review_plan()
      函数:扫描学习进度文件,找出逾期需要复习的任务
    • 修改
      update_english_progress_file()
      函数:在完成复习任务时调用新函数生成后续复习计划
  • 解决问题:所有复习任务现在都能正确生成后续复习提醒

v3.14.0 (2026-03-27)

修复英语完成报告遗漏"新学"记录问题(重要Bug修复):

  • 问题:在更新"复习历史记录"表格时,只添加"复习"任务的记录,遗漏了"新学"任务
  • 影响:Day 027 新学的记录没有出现在复习历史记录表格中
  • 修复方案
    • 在 SKILL.md 第 157 行明确说明:无论是"复习"还是"新学"任务,都需要添加到复习历史记录表格
    • 在 SKILL.md 第 170 行添加注意事项:如果学习进度文件中漏了"新学"记录,日志中也应同步补充
  • 解决问题:复习历史记录表格现在会包含所有"新学"任务的记录

v3.13.0 (2026-03-24)

修复完成记录和学习日志问题

  • 完成记录文件路径:将完成记录文件路径从
    考研计划/每日计划/{date}-完成记录.md
    改为
    考研计划/每日计划/完成记录/{date}-完成记录.md
  • 英语学习日志格式:修复
    append_english_learning_log()
    函数,使其生成的日志格式与现有文件格式一致
    • 自动计算学习天数
    • 生成完整的日志条目(包括学习时长、进度更新等)
    • 更新 frontmatter 中的 last_updated 字段
  • 解决问题:完成记录文件现在会自动放到正确的文件夹,学习日志格式也正确了

v3.11.0 (2026-03-19)

全面修复英语学习进度更新问题(核心Bug修复):

  • 问题1:正则表达式匹配失败
    • 原代码使用
      r'(### 复习历史记录(已修正).*?)(\n### 待进行复习安排)'
      匹配复习历史记录
    • 实际文件结构中,表格和标题之间有多行内容,导致匹配失败
    • 修复:改用逐行扫描方式定位表格位置,更可靠
  • 问题2:待进行复习安排未标记已完成
    • 原代码只处理"新学"任务添加次日复习计划
    • 没有将已完成的复习任务标记为"已完成"
    • 修复:新增逻辑,将已完成的任务在"待进行复习安排"中标记为
      ✅ **已完成**
  • 问题3:今日完成情况更新失败
    • 原代码的日期块查找和替换逻辑有缺陷
    • 修复:重写今日完成情况更新逻辑,直接替换整个块
  • 新增功能
    • 完成任务时自动更新三个部分:复习历史记录 + 待进行复习安排 + 今日完成情况
    • 新学任务自动添加次日复习计划
  • 解决问题:英语学习进度文件的所有部分现在能正确自动同步更新

v3.9.0 (2026-03-17)

修复英语学习进度"今日完成情况"不同步问题(核心Bug修复):

  • 修复
    update_english_progress_file()
    函数中的 bug
    • 问题
      completion_records
      列表被初始化为空但从未被填充
    • 影响:第 659-665 行的循环永不执行,导致"今日完成情况"部分不会自动更新
  • 修复方案
    • 在第 633 行后添加
      completion_records
      填充逻辑
    • 循环中同步生成今日完成情况记录
  • 解决问题:英语学习进度文件的"今日完成情况"部分现在能正确自动更新

v3.10.0 (2026-03-18)

新增"待进行复习安排"自动更新(功能增强):

  • 新增:在
    update_english_progress_file()
    函数中添加"待进行复习安排"更新逻辑
    • 当用户完成"新学"任务时,自动在"待进行复习安排"表格中添加次日的第1次复习计划
    • 按日期排序插入,确保计划顺序正确
  • 解决问题:完成"新学"后不再遗漏"待进行复习安排"的更新

v3.8.0 (2026-03-16)

修复完成记录遗漏问题(核心功能修复):

  • 新增
    parse_user_completion_report()
    函数
    • 从用户输入中提取所有完成的任务(包括计划外任务)
    • 支持解析多种任务格式(Day复习、知识点、错题等)
    • 自动识别科目分类
  • 新增
    generate_completion_record_file()
    函数
    • 生成每日完成记录文件
    • 关键改进:完成记录基于用户实际报告,而非计划任务
    • 自动标记计划外任务(⭐标记)
    • 按科目分组展示
  • 修改
    record_task_completion()
    函数
    • 集成完成记录文件生成
    • 确保所有用户报告的任务都被记录
    • 支持超额完成场景
  • 解决问题:当用户超额完成任务时,完成记录不再遗漏计划外的任务

使用建议

  • 报告完成任务时,请明确列出所有完成的任务
  • 推荐格式:
    我完成了:
    ### 英语学习
    1. Day 008 第2次复习(~50词)✅
    2. Day 016 新学(~70词)✅
    ### 数学学习
    1. 1-导数模块全部6个知识点 ✅
    

v3.7.0 (2026-03-15)

自动更新英语学习进度(用户需求):

  • 新增
    extract_english_tasks()
    函数
    • 从完成任务中智能识别英语学习任务
    • 支持解析"Day 015 第1次复习"、"Day 016 新学"等格式
    • 支持解析多任务格式(Day 011+012第2次复习)
  • 新增
    estimate_vocab_count()
    函数
    • 已知Day的词汇量映射
    • 自动估算复习任务的词汇数量
  • 新增
    update_english_progress_file()
    函数
    • 自动更新复习历史记录表格
    • 自动更新今日完成情况
    • 自动更新已完成复习列表
    • 智能文件更新,避免数据丢失
  • 修改
    record_task_completion()
    函数
    • 集成英语进度自动更新逻辑
    • 保持向后兼容,失败时不影响原有功能
  • 解决问题:用户在每日计划中标记完成时,英语学习进度文件能够自动同步更新

v3.6.0 (2026-03-14)

单词表验证增强(v3.2新增):

  • 新增
    validate_vocabulary_review_files()
    函数
    • 自动扫描单词表目录获取最新文件
    • 对比学习进度文件检查是否已记录
    • 根据SM-2算法判断是否需要复习
    • 返回遗漏的复习任务列表并自动添加到计划
  • 新增
    consistency_check_after_plan_generation()
    函数
    • 计划生成后执行一致性检查
    • 验证是否遗漏了新学单词表的复习任务
    • 返回发现的问题列表用于警告提示
  • 修复问题:防止生成计划时漏掉新学习的单词表(如Day 15)
  • 主规划算法集成:在步骤8和步骤10之间调用验证函数

v3.5.0 (2026-03-10)

模块化重构

  • 将 skill.md 拆分为6个独立模块文件
  • 提高可维护性和可读性
  • 保持功能完全不变

v3.4.0 (2026-03-07)

科学时间块划分(基于脑科学):

  • 注意力衰减机制、决策疲劳预警、离散效应应用
  • 自动时间块切分(>90分钟自动拆分)
  • 推荐时间块表(45/60/75-90分钟)

v3.2.0 (2025-02-26)

跨技能联合架构

  • 跨技能调度协议、全局权重计算、跨学科知识关联
  • 统一错误模型、周日全科复盘、统一用户画像

v3.1.0 (2025-02-26)

鲁棒性增强

  • context_refresh机制(画像30天刷新)
  • debt_circuit_breaker熔断(欠账>10h)
  • upsert with tag(计划版本控制)
  • mental_status追踪(心理调节模式)

v3.0.0 (2025-02-26)

MemOS集成

  • 用户画像持久化、学习进度追踪
  • 周日复盘增强、任务完成记录

v2.1.0

任务欠账处理、周日复盘模板、最小块时长限制

v2.0.0

三层输入模式、疲劳度混合模型、Chronotype适配

v1.0.0

课表解析、空闲时间提取、基础计划生成