From coding-workflow
用 Claude Code 高效读书的交互式学习系统。核心方法:诊断盲点 → 拆解书籍骨架 → 按痛点重排学习路径。 触发短语:"我要学这本书"、"帮我读《X》"、"用交互式学习X"
How this skill is triggered — by the user, by Claude, or both
Slash command
/coding-workflow:book-interactive-learningThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**问题**:作者组织知识的顺序 ≠ 你吸收知识的顺序 ≠ 你解决问题的顺序
问题:作者组织知识的顺序 ≠ 你吸收知识的顺序 ≠ 你解决问题的顺序
方法:让书反向服务于你当下的问题
用户:我要学《思考,快与慢》
行动:
{学习目录}/{书名}/⚠️ 加载文件:references/diagnostic_questions.md
行动:
诊断报告保存到:{学习目录}/{书名}/诊断报告.md
⚠️ 加载文件:references/skeleton_schema.md
行动:
骨架文件保存到:{学习目录}/{书名}/骨架/骨架_第N章.md
关键纪律:没有行号的骨架是糊弄式总结
⚠️ 加载文件:references/course_map_schema.md
行动:
学习地图保存到:{学习目录}/{书名}/学习地图.md
⚠️ 加载文件:references/unit_template.md
行动:
单元文件保存到:{学习目录}/{书名}/单元/单元N_[主题].md
⚠️ 判断依据:根据用户对费曼检验的回答,判断掌握程度。
| 掌握程度 | 判断依据 | 下一步行动 |
|---|---|---|
| 完全掌握 | 准确、能举一反三 | 生成下一单元文件,推进学习 |
| 基本掌握 | 大致正确、小偏差 | 简短纠正(1-2句)+ 生成下一单元 |
| 部分理解 | 概念混淆、有误区 | 换类比重新解释 + 生成补充单元(如单元2b) |
| 尚未理解 | 错误或不知道 | 回到诊断,找出卡点,从基础补充 |
行动:
进度.md⚠️ 加载文件:无(直接写入)
行动:每次交互后更新 {学习目录}/{书名}/进度.md
进度文件格式:
# 《书名》学习进度
## 当前状态
- 阶段:[诊断/骨架/学习地图/单元学习]
- 当前单元:单元N
- 掌握程度:[完全掌握/基本掌握/部分理解/尚未理解]
## 学习路径
1. 单元1:[主题] ✅ 已完成
2. 单元2:[主题] 🔄 进行中
3. 单元3:[主题] ⏳ 待学习
## 单元记录
| 日期 | 单元 | 掌握程度 | 备注 |
|-----|------|---------|------|
| 2026-04-29 | 单元1 | 完全掌握 | - |
| 2026-04-29 | 单元2 | 部分理解 | 需补充单元2b |
## 误区记录
- 日期:2026-04-29
- 单元:单元2
- 误区:[具体描述]
- 纠正:[纠正内容]
关键:进度文件是"继续学习"的断点依据,必须及时更新
| 步骤 | 加载文件 | 原因 |
|---|---|---|
| Step 1 | 无 | 只需知道流程 |
| Step 2 | diagnostic_questions.md | 设计诊断题时需要模板 |
| Step 3 | skeleton_schema.md | 生成骨架时需要格式规范 |
| Step 4 | course_map_schema.md | 重排学习顺序时需要模板 |
| Step 5 | unit_template.md | 创建单元时需要模板 |
不要一次性加载所有文件 - 按需加载,减少上下文膨胀。
{学习目录}/{书名}/
├── 诊断报告.md
├── 学习地图.md
├── 进度.md
├── 骨架/
│ ├── 骨架_第1章.md
│ ├── 骨架_第2章.md
│ └── ...
└── 单元/
├── 单元1_[主题].md
├── 单元2_[主题].md
└── ...
| 场景 | 输入材料 | 诊断重点 |
|---|---|---|
| 读书 | 书籍全文 | 知识盲点 |
| 网课 | 转录文字 | 技能缺口 |
| 论文综述 | 30篇论文 | 研究空白 |
| 会议记录 | 公司文档 | 决策盲区 |
| 城市攻略 | 网络资料 | 行程痛点 |
当输入材料是 Word 文件时,使用 scripts/convert_docx_to_md.sh 转换:
./scripts/convert_docx_to_md.sh document.docx output.md
| 场景 | 触发条件 | 处理动作 |
|---|---|---|
| 用户不回答诊断题 | 提问后无响应或说"不知道" | 提供简化版诊断(2题)或跳过诊断,用默认学习地图 |
| 书籍太长 | 超过 500 页或 10 万字 | 只读取核心章节,跳过附录/参考文献 |
| 书籍文件不存在 | 用户说"帮我读X"但没提供文件 | 询问:是否有电子版?还是需要我推荐相关书籍? |
| 输入格式不支持 | 非 PDF/EPUB/MD/DOCX | 提示支持的格式,或建议转换为 Markdown |
| 用户中途退出 | 说"暂停""不学了" | 保存当前进度到 进度.md,下次可继续 |
| 用户跳过单元 | 说"这个我会""跳过" | 标记该单元为已跳过,推进下一单元 |
| 诊断结果矛盾 | 用户回答前后不一致 | 指出矛盾,请用户澄清,或取更保守的诊断 |
| 骨架生成失败 | agent 读取超时或报错 | 降级为单 agent 顺序读取,或让用户提供章节摘要 |
| 学习地图为空 | 所有章节都被跳过 | 提示"你可能不需要这本书",询问真实学习目标 |
| 用户说 | 系统做 |
|---|---|
| "我要学《X》" | 开始新学习流程 |
| "继续学习《X》" | 读取 进度.md,从断点继续 |
| "跳过这个单元" | 标记跳过,推进下一单元 |
| "暂停" | 保存进度,等待下次继续 |
| "重新诊断" | 清除旧诊断,重新生成诊断题 |
| "换个方式讲" | 换类比重新解释当前单元 |
| "这书我有电子版" | 询问文件路径,读取后继续 |
| 阶段 | 检查点 | 用户确认 |
|---|---|---|
| 诊断后 | 展示诊断报告 | "这个诊断准确吗?需要调整吗?" |
| 骨架后 | 展示骨架摘要 | "骨架已生成,是否开始学习地图?" |
| 地图后 | 展示学习地图 | "这是你的学习路径,确认后开始第一单元" |
| 每单元后 | 费曼检验 | 用户回答后才推进 |
用户:我要学《原子习惯》
AI:好的,先做诊断。[加载 diagnostic_questions.md]
请回答以下 4 个问题:
1. 你认为习惯形成的核心机制是什么?
2. 为什么"靠意志力坚持"往往失败?
3. 你有没有"想养成但一直失败"的习惯?
4. 你想成为什么样的人?
用户:[回答]
AI:[分析盲点,生成诊断报告]
AI:现在开始精读全书。[加载 skeleton_schema.md]
[并行发 4 个 agent 读取...]
AI:骨架生成完成。现在生成学习地图。[加载 course_map_schema.md]
基于你的诊断结果,学习顺序是:
- 单元1:身份认同(你最大盲点)
- 单元2:习惯叠加
- 跳过:第1章(已掌握)
AI:开始单元1学习。[加载 unit_template.md]
...
npx claudepluginhub zhaohuanke123/vanko-skill --plugin interactive-learningGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.