study

star 0

开始一个专注的学习会话,记录时间和进度。Use when user wants to start a learning session.

atovk By atovk schedule Updated 2/9/2026

name: study description: 开始一个专注的学习会话,记录时间和进度。Use when user wants to start a learning session.

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

任务列表

会话开始阶段

  1. 确认学习项
  2. 设定会话目标
  3. 进入学习模式

会话进行阶段(根据用户需求)

  1. 概念解释模式
  2. 笔记记录模式
  3. 实践练习模式
  4. 知识检验模式

会话结束阶段

  1. 总结本次学习
  2. 更新进度文件
  3. 设置下次目标

会话开始阶段

步骤 1: 确认学习项

验证检查:

# 检查学习项目录是否存在
if [ ! -d "[学习项名称]" ]; then
    echo "错误:学习项不存在"
    echo "请使用 /new-learning [学习项名称] 创建新的学习项"
    # 提供选项:
    # 1. 列出现有学习项
    # 2. 创建新学习项
    # 3. 取消操作
fi

读取状态文件:

  1. 读取 [学习项名称]/progress.md - 了解当前进度
  2. 读取 [学习项名称]/README.md - 了解当前阶段和路线图
  3. 列出 [学习项名称]/notes/ 目录 - 查看已有笔记

显示当前状态:

 确认学习项:[学习项名称]
 当前阶段: Novice
 已学习:X 小时
 已有笔记:X 篇
 完成度:X%

步骤 2: 设定会话目标

使用 AskUserQuestion 询问用户:

问题 1: 本次计划学习多长时间?

  • 选项:15分钟、30分钟、1小时、2小时、自定义

问题 2: 想要学习哪个具体主题?

  • 从 README.md 的当前阶段中选择
  • 提供具体建议(基于未完成的任务)
  • 选项:自定义主题

示例对话:

用户: /study regular-expressions

AI: 确认学习项:Regular Expressions
     当前阶段: Novice
     已学习:0.5 小时
     已有笔记:1 篇

    基于你的学习路线图,接下来可以学习:
    1. 字符类:[abc], [^abc], \d, \w, \s (推荐)
    2. 量词:*, +, ?, {n}, {n,m}
    3. 锚点:^, $, \b, \B
    4. 自定义主题

    你想学习哪个主题?

步骤 3: 进入学习模式

显示今日学习目标:

 今日学习目标
   主题:字符类
   时长:30 分钟
   目标:掌握 \d, \w, \s 和字符集合的用法

 提示:
   - 随时可以提问:"什么是...?"
   - 要求解释:"用简单话说明..."
   - 记录笔记:"记下来"
   - 测试理解:"考考我"

会话进行中(交互模式)

根据用户需求,提供不同的学习模式:

模式 1: 概念解释

触发条件:

  • 用户问:"什么是 X?"
  • 用户说:"解释一下 X"
  • 用户说:"我不懂 X"

执行步骤:

  1. 使用费曼技巧:用简单语言+类比解释
  2. 提供具体示例(代码、图表、案例)
  3. 解释后提出 1-2 个检验性问题

示例对话:

用户: 什么是字符类?

AI: 好问题!让我用简单的方式解释...

    字符类就像是给字符"贴标签"的方式。

    想象你在一个超市里:
    - \d 就像是"数字区"的标签(只匹配 0-9)
    - \w 就像是"字母区"的标签(匹配字母和数字)
    - \s 就像是"空白区"的标签(匹配空格、制表符等)

    具体例子:
    - \d+ 匹配 "123" 但不匹配 "abc"
    - \w+ 匹配 "hello123" 但不匹配 "hello world"

     检验一下:
    如果你想匹配一个电话号码(如:123-456-7890),
    你会使用什么模式?

   [等待用户回答...]

质量检查:

  • 使用了类比或简单语言
  • 提供了具体示例
  • 提出了检验性问题

模式 2: 笔记记录(康奈尔笔记法)

触发条件:

  • 用户说:"记录这个"
  • 用户说:"记笔记"
  • 用户说:"保存下来"
  • 用户说:"笔记"

执行步骤:

  1. 确定笔记主题(当前讨论的内容)
  2. 生成笔记文件名
  3. 使用康奈尔笔记法整理内容(参考模板 _templates/CORNELL_NOTE.md
  4. 保存到 notes/ 目录
  5. 确认保存成功

康奈尔笔记格式:

# 康奈尔笔记 - [主题名称]

| 线索栏(Cue Column) | 笔记栏(Note-taking Column) |
| -------------------- | ---------------------------- |
| 关键词/问题          | 详细笔记内容                  |
| 什么是 X?           | X 是指...具体解释...          |
| X 的应用场景?       | 1. 场景一 2. 场景二           |

## 总结区(Summary)
用 2-3 句话总结本页核心内容...

文件命名规则:

[序号]-[主题-简述].md

示例:
01-character-classes.md
02-quantifiers.md
03-email-matching.md

避免命名冲突:

# 检查文件是否已存在
if [ -f "notes/01-character-classes.md" ]; then
    # 询问用户:
    # 1. 追加到现有笔记
    # 2. 创建新版本(01-character-classes-v2.md)
    # 3. 覆盖现有笔记
    # 4. 取消操作
fi

注意:优先使用上方的康奈尔笔记格式。对于简短的知识点记录,也可以使用简化格式(概念+示例+要点)。 完整模板参考:_templates/CORNELL_NOTE.md

示例对话:

用户: 记录这个

AI: 好的!让我整理一下我们刚才讨论的字符类内容...

    [生成笔记内容]

     笔记已保存到:regular-expressions/notes/02-character-classes.md

    笔记包含:
    - 概念解释(使用超市类比)
    - 5 个代码示例
    - 3 个关键要点
    - 2 个练习题

    需要查看或修改笔记吗?

模式 3: 实践练习

触发条件:

  • 用户说:"练习一下"
  • 用户说:"我想做练习"
  • 用户说:"hands-on"
  • 用户说:"实践"

执行步骤:

  1. 设计符合当前水平的练习题
  2. 提供清晰的任务描述
  3. 引导用户完成
  4. 提供反馈和改进建议
  5. 将代码保存到 projects/ 目录

练习题设计原则:

  • 从简单到复杂
  • 与当前主题直接相关
  • 可以在 5-15 分钟内完成
  • 提供即时反馈

项目保存结构:

projects/
├── practice-01-[主题]/
│ ├── README.md(任务描述)
│ ├── solution.[ext](解决方案)
│ └── notes.md(学习笔记)

示例对话:

用户: 练习一下

AI: 好的!让我们来实践一下字符类的使用...

     练习任务:匹配电话号码

    目标:写一个正则表达式,匹配以下格式的电话号码:
    - 123-456-7890
    - (123) 456-7890
    - 123.456.7890

    提示:
    1. 先匹配数字部分
    2. 再考虑分隔符
    3. 测试你的模式

    [等待用户尝试...]

    用户: 我写了 \d{3}-\d{3}-\d{4}

    AI: 很好!这个模式可以匹配第一种格式

        让我测试一下:
         123-456-7890 匹配成功
         (123) 456-7890 不匹配
         123.456.7890 不匹配

         改进建议:
        要匹配所有三种格式,可以考虑:
        1. 使用选择符 |
        2. 使用字符类匹配分隔符

        想要继续尝试吗?

    [练习结束后...]

     练习已保存到:projects/practice-01-phone-matching/
       - README.md(任务描述)
       - solution.txt(你的解决方案)
       - notes.md(反馈和建议)

    想要再做一个练习吗?

模式 4: 知识检验

触发条件:

  • 用户说:"测试我"
  • 用户说:"检验理解"
  • 用户说:"考考我"
  • 用户说:"quiz"

执行步骤:

  1. 提出 3-5 个由浅入深的问题
  2. 根据回答判断理解程度
  3. 指出知识薄弱点
  4. 提供针对性建议

问题设计原则:

  • 第 1-2 题:基础概念(回忆)
  • 第 3-4 题:应用理解(应用)
  • 第 5 题:综合运用(分析)

示例对话:

用户: 测试我

AI: 好的!让我检验一下你对字符类的理解...

     知识检验:字符类

    问题 1(简单):
    \d 匹配什么内容?
    A) 任何字母
    B) 任何数字
    C) 任何空白字符

    [等待用户回答...]

    用户: B

    AI: 正确!\d 匹配任何数字(0-9)

    问题 2(中等):
    要匹配 "a1b2c3" 中的所有字母和数字,
    应该用什么模式?

    [等待用户回答...]

    用户: \w+

    AI: 很好!\w+ 会匹配 "a1b2c3"

        不过,如果你想分别匹配每个字符,
    应该使用 \w 而不是 \w+。

    问题 3(较难):
    如何匹配一个不包含数字的单词?
    提示:可以使用否定字符类

    [等待用户回答...]

    用户: [^\d]+

    AI: 非常好![^\d]+ 会匹配不包含数字的字符序列

     检验结果:3/3 正确!
    你对字符类的理解很扎实!

     下一步建议:
    - 尝试更复杂的模式
    - 结合量词使用
    - 练习实际应用场景

会话结束阶段

步骤 8: 总结本次学习

触发条件:

  • 用户说:"/end-study"
  • 用户说:"完成"
  • 用户说:"结束学习"
  • 用户说:"好了"
  • 达到预定学习时长

总结内容:

 学习会话总结

 本次学习内容:
   1. [概念 1] - [简要描述]
   2. [概念 2] - [简要描述]
   3. [概念 3] - [简要描述]

 完成的学习任务:
   - [ ] 任务 1
   - [] 任务 2
   - [] 任务 3

 创建的笔记:
   - notes/02-character-classes.md

 完成的练习:
   - projects/practice-01-phone-matching/

 学习时长:X 分钟

步骤 8.5: 自动生成闪卡

从本次学习内容中提取关键知识点,生成闪卡:

  1. 分析本次学习的概念和笔记
  2. 提取 3-5 个核心知识点
  3. 为每个知识点创建正面(问题)和反面(答案)
  4. 保存到 [学习项名称]/flashcards/ 目录
  5. 使用模板 _templates/FLASHCARD_DECK.md

闪卡格式:

### 卡片 X

**正面(问题):**
[关于核心概念的问题]

**反面(答案):**
[简洁准确的答案]

**难度:** 基础/中等/困难
**标签:** [相关主题标签]

示例:

正面:\d 在正则表达式中匹配什么?
反面:匹配任何单个数字字符(0-9),等价于 [0-9]

步骤 8.6: 更新间隔重复计划

将本次学习内容添加到间隔重复追踪:

  1. 读取 [学习项名称]/reviews/spaced-repetition.md
  2. 添加新的复习条目
  3. 计算未来复习日期(基于艾宾浩斯遗忘曲线)
  4. 标记首次复习时间(20分钟后 / 次日)

复习时间表(自动计算,基于艾宾浩斯遗忘曲线):

学习日期:YYYY-MM-DD
第 1 次复习(R1):+1 天    -> YYYY-MM-DD
第 2 次复习(R2):+3 天    -> YYYY-MM-DD
第 3 次复习(R3):+7 天    -> YYYY-MM-DD
第 4 次复习(R4):+14 天   -> YYYY-MM-DD
第 5 次复习(R5):+30 天   -> YYYY-MM-DD
第 6 次复习(R6):+90 天   -> YYYY-MM-DD

注意:此时间表与 /daily-review skill 和 _templates/SPACED_REPETITION.md 保持一致。

步骤 9: 更新进度文件

更新 progress.md:

  1. 读取现有 progress.md
  2. 添加新的进度日志
  3. 更新总学习时长
  4. 更新完成百分比
  5. 检查是否达成阶段里程碑

进度日志格式:

### YYYY-MM-DD

**学习时长**: X 分钟

**完成内容**:
- [任务 1]
- [任务 2]
- [任务 3]

**关键收获**:
- [收获 1]
- [收获 2]

**待解决问题**:
- [问题 1]

**下次计划**:
- [下次学习内容]

阶段升级检查:

# 检查当前阶段里程碑是否全部完成
if [ 当前阶段所有任务完成 ]; then
    echo " 恭喜!你已完成 [阶段名称] 阶段!"
    echo "是否升级到 [下一阶段]?"
    # 使用 AskUserQuestion 询问
fi

步骤 10: 设置下次目标

推荐下次学习主题:

 下次学习建议

基于你的进度,建议下次学习:
1. [主题 1] - [原因]
2. [主题 2] - [原因]

待解决的问题:
- [问题 1]
- [问题 2]

学习资源:
- [资源 1](链接)
- [资源 2](链接)

庆祝与鼓励:

 太棒了!你今天取得了不错的进步!

进度更新:
- 学习时长:0.5h → 1.0h (+0.5h)
- 完成度:5% → 10% (+5%)
- 距离下一阶段还有:90%

保持这个节奏,你很快就能完成 Novice 阶段!

错误处理与恢复

中断会话处理

如果会话意外中断:

  1. 创建临时会话文件:.session/[学习项名称]-session.json
  2. 记录会话开始时间、主题、已创建的文件
  3. 恢复时询问用户是否继续

会话状态文件格式:

{
  "learning_item": "regular-expressions",
  "session_start": "2026-02-02T18:00:00",
  "planned_duration": 30,
  "topic": "character-classes",
  "notes_created": ["notes/02-character-classes.md"],
  "exercises_completed": ["projects/practice-01-phone-matching/"],
  "interrupted": true
}

常见错误处理

错误情况 处理方式
学习项目录不存在 提示创建新学习项或列出现有项
progress.md 文件损坏 备份损坏文件,创建新的 progress.md
笔记文件名冲突 提供选项:追加、新版本、覆盖、取消
无法保存文件 检查权限、磁盘空间,提供详细错误信息
预定时间到达 询问用户是否延长学习时间或结束会话

示例完整会话流程

用户: /study regular-expressions

AI: 确认学习项:Regular Expressions
     当前阶段: Novice
     已学习:0.5 小时
     已有笔记:1 篇

    基于你的学习路线图,接下来可以学习:
    1. 字符类:[abc], [^abc], \d, \w, \s (推荐)
    2. 量词:*, +, ?, {n}, {n,m}
    3. 锚点:^, $, \b, \B
    4. 自定义主题

    [AskUserQuestion...]

用户: 选 1,计划学习 30 分钟

AI: 今日学习目标
       主题:字符类
       时长:30 分钟
       目标:掌握 \d, \w, \s 和字符集合的用法

    [开始概念解释...]

用户: 什么是 \d?

AI: [使用费曼技巧解释...]

用户: 记录这个

AI: 笔记已保存到:notes/02-character-classes.md

用户: 练习一下

AI: [提供练习任务...]

用户: [完成练习]

AI: 练习已保存到:projects/practice-01-phone-matching/

用户: /end-study

AI: 学习会话总结

     本次学习内容:
       1. 字符类基础概念
       2. \d, \w, \s 的用法
       3. 字符集合 [abc] 和否定 [^abc]

     学习时长:30 分钟
     总进度:0.5h → 1.0h (+0.5h)

    [更新 progress.md...]

     下次学习建议:
    1. 量词:*, +, ? (这是下一个主题)
    2. 复习字符类(巩固基础)

    继续保持!
Install via CLI
npx skills add https://github.com/atovk/MasterAnything --skill study
Repository Details
star Stars 0
call_split Forks 0
navigation Branch main
article Path SKILL.md
Occupations
More from Creator