Community写作与编辑github.com

adamaiken89/learn-something

一项AI代理技能,可通过交互式LLM会话将任何主题转化为结构化课程,并通过CLI进行学习。

learn-something 是什么?

该技能(learn-something)专为开发者设计,可自动将任意主题转化为结构化课程,并通过终端交互式学习。它融合了Marva Collins教学法、Feynman技巧和理想困难理论,确保学习过程严谨、高效且持久。技能支持通过CLI进行阅读课程、解释反馈、选择题练习和间隔重复复习。内容模块包含课程、测验和完形填空,并遵循严格的质量规则(如CILO对齐、双重编码、费曼提示)。该技能已在Claude Code、Codex和Cline等平台上测试,适合构建自学习系统或教育工具。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add adamaiken89/learn-something

Installed? Explore more 写作与编辑 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

学习任何东西框架

通过交互式LLM会话将主题转化为结构化课程。 通过CLI学习:阅读课程、解释反馈、选择题练习、间隔重复。

1. 教学法

融合三种理论:

理论AI角色解决的问题
Marva Collins苏格拉底式导师。严谨问答、高期望、无限耐心需要好老师。AI从不疲倦。
Feynman技巧漏洞检测器。学习者简单解释 → AI发现漏洞理解的幻觉
理想困难间隔调度器。FSRS检索 + 交错练习被动重读

阶段 → 理论映射

阶段理论学习者AI/CLI
阅读Marva学习课程撰写清晰内容
解释Feynman简单解释概念追问:“你说了X,但Y — 如何协调”
练习Marva + 理想回答选择题并证明评分、解释干扰项
评判Marva批判、形成观点苏格拉底式追问
复习理想通过FSRS进行主动回忆调度最佳间隔

时间预算

  • 主题:最多40小时(13周 × 3小时/周)
  • 模块:1.5-3小时,每主题约15-20个
  • SRS复习:每天约10-15分钟

2. 内容结构

<主题>/
├── syllabus.yaml             # 课程规范
├── modules/
│   ├── NN-name/
│   │   ├── lesson.md         # 核心内容 + 练习
│   │   ├── quiz.yaml         # 8-10道选择题
│   │   └── cloze.yaml        # 8-10道完形填空题
│   └── …
└── srs/
    ├── deck.json             # FSRS-5卡片
    └── stats.json            # 历史记录

完整模板位于 templates/。关键:syllabus.yaml(20模块骨架)、module.md(课程结构)、quiz.yaml(4选项选择题格式)。

3. 内容创建协议

工作流程

  1. 范围界定(5分钟):询问领域/水平/时间预算/语言/用例。提出教学大纲。
  2. 大纲阶段:验证模块DAG + 先决条件链。检查时间预算。
  3. 每个模块(10分钟):使用 learn.sh create-module <主题> NN-name 创建模块。用零填充的两位数字 + 短横线命名(例如,01-intro、02-core-concepts)。编写 lesson.md + quiz.yaml。内联应用16条质量规则。确保 lesson.md ≤12,000字符。如果内容溢出,拆分为更多模块并更新教学大纲。用户审阅。继续。 3.5. 验证语法:运行 learn.sh validate-content <主题> [模块]。在继续之前修复所有markdown + mermaid错误。
  4. 发布前:加载 content-verify.md。运行检查清单。修复违规项。
  5. 编译SRS(2分钟):将选择题提取为FSRS-5卡片组。
  6. 累积测验:每3-5个模块后,在主题根目录生成 cumulative_quiz.yaml。8-10道题混合完形填空、选择题、判断题。每题标记 source_modules。答案分布在A-D之间。

内容原则

  • CILO对齐:每个模块满足≥1个学习目标。无冗余内容。
  • 语言:所有内容使用syllabus.yaml指定的语言(en/zh/yue)。
  • 先实践:从具体示例开始,再介绍抽象定义。
  • 领域相关:场景来自学习者所在行业。
  • 完形填空:每个模块有3-5个完形填空空白({术语})。学习者填写后才能继续。强制在阅读时检索。
  • 预测下一步:每个因果链有2-3个预测块。学习者在揭示结果前先写下自己的预测。
  • 找错练习:每个模块有1-2个“找错”练习。错误驱动学习培养诊断能力。
  • 双重编码:每个概念配一张图表(Mermaid、ASCII或结构化层次图)。
  • 选择题多样性:40%回忆、40%应用、20%多步骤。
  • 费曼提示:每节课以解释任务 + AI漏洞探测结束。
  • 理想困难:同一概念在不同模块中从不同角度测试。
  • 时间预算:模块≤3小时。主题≤40小时。
  • 模块大小限制:每个模块的lesson.md ≤12,000字符。超出限制?将主题拆分为更多模块。相应调整教学大纲模块数。
  • 递进性:建立在先决条件之上。早期模块为基础。
  • 允许跳过:学习者提供的信息很少?仍使用合理的默认值生成内容。不要阻塞。
  • 全程苏格拉底式:每个主要概念后紧跟一个问题,让学习者停下来思考——不仅在模块末尾,而是在每个新观点之后立即插入。问题 → 紧接着提供简短答案/解释,以便学习者自查。模式:陈述概念 → 问“为什么?”或“如果…会怎样?” → 回答。
  • Mermaid图表:对于有分支逻辑、状态机、工作流或因果链的概念:生成Mermaid流程图/序列图/状态图。主题自动注入 neutral 以兼容深色/浅色主题。使用柔和的土色调色板作为 style 填充色——在深色和浅色主题中均可见。调色板:蓝色 #5c7a99、绿色 #5c8a6a、橙色 #b8924a、红色 #b86a4a、紫色 #7a5a8a、灰色 #888。描边:使用填充色的深色或 #333。示例:style A fill:#5c7a99,stroke:#333。图表放在概念解释之后、思考问题之前。
  • 模块思维导图:每个模块的lesson.md顶部(元数据之后、学习目标之前)有一个Mermaid思维导图。展示知识层级:中心概念 → 关键主题 → 子概念。使用 mindmap 语法。最多3层深。
  • 答案分布:选择题答案键必须在A/B/C/D之间均匀分布。连续两个以上问题不能有相同答案字母。模板以B为例——生成时要轮换。
  • 累积测验:每3-5个模块后,在主题根目录生成 cumulative_quiz.yaml。8-10道题混合完形填空、选择题、判断题。每题标记 source_modules。答案分布在A-D之间。

内容质量规则(16条)

#规则实施方法错误示例 → 正确示例
1解释惯例说明惯例存在的原因,而不仅仅是定义“报价95” → “95 = 面值$1,000的95%。百分比惯例使得不同面值债券之间具有可比性。”
2回答隐含问题预判学习者未问出的1-3个问题对票息保持沉默 → “票息会变吗?固定利率债券不会。浮动利率债券会(定期重置)。”
3回归面值直觉解释价格到期收敛于面值是机械过程“价格回归面值是因为时间缩短+剩余现金流的现值收敛于本金。并非由利率驱动。”
4因果链优先先直观逻辑,再公式直接跳到债券定价公式 → “新债券支付6%。我的债券支付4%。我的债券价值下降→价格下跌直到收益率匹配。”
5实际背景每个数字都有实际含义“久期7.5” → “利率上升1% → 价格下跌约7.5%(仅适用于小幅变动;大幅变动需凸性调整)。”
6“有多可能”说明正常频率与罕见频率省略 → “收益率曲线倒挂很少见。每次倒挂后约8个月出现衰退。并非完美预测。”
7常见误解指出初学者持有的1-2个具体错误“票息越高债券越好” → “不,折价债券在到期时有内置的价格上涨(增值)效应。”
8全程苏格拉底式每个概念部分嵌入思考问题 + 立即解答学习者被动阅读 → 被迫停下来思考

…

[因翻译而截断]

相关技能