AgentSkillsCN

daily-review

基于艾宾浩斯遗忘曲线的每日间隔重复复习系统。当用户希望进行每日复习、间隔重复复习,或询问“今天该复习什么”时,可选用此系统。触发关键词:“每日复习”、“今日复习”、“复习”、“什么需要复习”、“review today”、“spaced repetition”。

SKILL.md
--- frontmatter
name: daily-review
description: 基于艾宾浩斯遗忘曲线的每日间隔重复复习系统。Use when user wants to do daily review, spaced repetition review, or asks "what should I review today". Triggers: "daily review", "今日复习", "复习", "什么需要复习", "review today", "spaced repetition".

每日复习 (Daily Review) - 艾宾浩斯间隔重复

概述

基于艾宾浩斯遗忘曲线,自动检查今日需要复习的内容,引导用户进行主动回忆练习,并更新复习追踪记录。

复习时间表标准

轮次间隔记忆保持率目标
R1学习后1天恢复到90%
R2学习后3天恢复到90%
R3学习后7天巩固到85%
R4学习后14天巩固到80%
R5学习后30天长期记忆70%
R6学习后90天永久记忆60%+

任务列表

请使用 TodoWrite 工具创建以下任务列表,然后逐步执行:

  1. 确认学习项并扫描复习状态
  2. 识别今日需复习内容
  3. 执行复习会话(康奈尔回忆 + 闪卡)
  4. 记录复习结果
  5. 更新间隔重复追踪表
  6. 安排下次复习

详细执行指南

步骤 1: 扫描复习状态

读取文件:

  1. [学习项]/reviews/spaced-repetition.md - 间隔重复追踪表
  2. [学习项]/notes/*.md - 所有笔记(检查复习追踪栏)
  3. [学习项]/flashcards/*.md - 闪卡集(检查掌握度)

如果 reviews/ 目录不存在:

bash
mkdir -p [学习项]/reviews
cp _templates/SPACED_REPETITION.md [学习项]/reviews/spaced-repetition.md

如果 flashcards/ 目录不存在:

bash
mkdir -p [学习项]/flashcards

显示复习概览:

code
每日复习 - [学习项名称]
今日日期:YYYY-MM-DD

复习状态概览:
   [逾期] 逾期未复习:X 项(需要立即复习)
   [今日] 今日待复习:X 项
   [完成] 已完成复习:X 项
   [即将] 即将到来:X 项(未来7天)

   笔记总数:X 篇
   闪卡总数:X 张

步骤 2: 识别今日复习内容

计算逻辑:

code
对于每个笔记/概念:
  学习日期 = notes 文件创建日期 或 笔记中标注的学习日期
  今日日期 = date +"%Y-%m-%d"

  间隔天数 = 今日日期 - 学习日期

  需要复习的轮次:
    if 间隔天数 >= 1 且 R1 未完成 -> 需要 R1 复习
    if 间隔天数 >= 3 且 R2 未完成 -> 需要 R2 复习
    if 间隔天数 >= 7 且 R3 未完成 -> 需要 R3 复习
    if 间隔天数 >= 14 且 R4 未完成 -> 需要 R4 复习
    if 间隔天数 >= 30 且 R5 未完成 -> 需要 R5 复习
    if 间隔天数 >= 90 且 R6 未完成 -> 需要 R6 复习

按优先级排序:

  1. [逾期] 逾期项(应复习日期已过)
  2. [今日] 今日到期(应复习日期=今日)
  3. 低回忆质量项优先(上次回忆分数低的先复习)

显示待复习列表:

code
今日复习计划(共 X 项,预计 Y 分钟)

[逾期]:
   1. [概念/笔记名] - R2(应3天前复习) - 来自: notes/01-xxx.md
   2. [概念/笔记名] - R1(应昨天复习) - 来自: notes/02-xxx.md

[今日]:
   3. [概念/笔记名] - R3(7天复习) - 来自: notes/00-overview.md

准备开始复习吗?

如果没有待复习内容:

code
太棒了!今日没有需要复习的内容。

当前状态:
   - X 个概念已完成所有复习轮次 [已掌握]
   - X 个概念正在复习周期中 [巩固中]
   - 下次复习日期:YYYY-MM-DD

建议:继续学习新内容,使用 /study [学习项] 开始

步骤 3: 执行复习会话

复习模式A: 康奈尔笔记回忆

对于有康奈尔笔记的内容:

  1. 展示笔记的「线索/问题栏」(左栏)
  2. 让用户根据线索尝试回忆笔记内容
  3. 展示原始笔记对比
  4. 让用户自评回忆质量(1-5分)

示例对话:

code
AI: 复习笔记:01-character-classes.md (R2 复习)

   线索提示:
   1. \d 匹配什么?
   2. 字符类和预定义类的区别?
   3. 如何匹配"非xx"?

   请尝试根据这些线索回忆笔记内容...
   (回忆完成后输入"看答案")

用户: 看答案

AI: 原始笔记内容:
   [展示笔记栏内容]

   你觉得回忆得怎么样?
   1 - 完全忘记
   2 - 模糊记忆
   3 - 部分记忆
   4 - 良好记忆
   5 - 完全掌握

复习模式B: 闪卡复习

对于有闪卡的内容:

  1. 展示闪卡正面(问题)
  2. 等待用户回答
  3. 展示闪卡反面(答案)
  4. 标记正确/错误

示例对话:

code
AI: 闪卡复习 (1/5)

   Q: \d 是什么的缩写?它匹配什么?

   [思考后输入你的答案...]

用户: digit, 匹配数字 0-9

AI: 正确!

   A: \d 是 digit 的缩写,匹配任意单个数字 [0-9]

   下一张 ->

复习模式C: 主动回忆(无笔记/闪卡时)

  1. 提出该概念相关的3-5个问题
  2. 让用户回答
  3. 给出反馈和补充

步骤 4: 记录复习结果

reviews/spaced-repetition.md 中追加记录:

markdown
### YYYY-MM-DD 复习会话

**复习内容:**
| 笔记/概念 | 轮次 | 回忆质量(1-5) | 用时 | 备注 |
|-----------|------|-------------|------|------|
| 01-character-classes | R2 | 4 | 3min | 基本掌握 |
| 00-overview | R3 | 3 | 5min | 部分概念模糊 |

**总结:**
- 本次复习数量:2
- 平均回忆质量:3.5
- 需重点关注:概览中的xx部分

步骤 5: 更新追踪表

更新 reviews/spaced-repetition.md 中的调度表:

  1. 将已复习项从「待复习」移到「已完成本轮」或下一轮「待复习」
  2. 更新掌握度状态
  3. 更新统计数据

回忆质量低(<=2分)时的处理:

code
[警告] [概念名] 回忆质量低(2分),建议:
   1. 重新阅读原始笔记
   2. 重做相关练习
   3. 该概念的复习计划将重置为 R1

是否现在重新学习该概念?(使用 /study [学习项])

步骤 6: 安排下次复习

计算并显示:

code
下次复习安排

| 概念 | 下次复习日期 | 轮次 | 距今天数 |
|------|-----------|------|---------|
| character-classes | YYYY-MM-DD | R3 | 4天后 |
| overview | YYYY-MM-DD | R4 | 7天后 |

小提示:建议设置每日提醒,在固定时间进行复习

今日复习完成!你已连续复习 X 天,继续加油!

复习完成后更新 progress.md

在学习项的 progress.md 中追加复习记录:

markdown
### YYYY-MM-DD - 间隔复习

**复习时长**: X 分钟
**复习数量**: X 个概念
**平均回忆质量**: X/5
**连续复习天数**: X 天
**下次复习**: YYYY-MM-DD

错误处理

情况处理
没有 reviews/ 目录自动创建并初始化
没有笔记文件提示先使用 /study 学习
复习追踪表格式损坏备份后重建
所有复习都完成恭喜消息 + 建议学新内容

与其他 Skill 的集成

  • /study 结束时 -> 自动将新学概念加入复习系统
  • /review-learning -> 展示间隔重复完成率
  • /new-learning -> 创建 reviews/flashcards/ 目录

Skill version: 1.1 Last updated: 2026-02-09