大纲/笔记是用来综合理解的,记忆卡片是用来强记的。这个技能从用户提供的材料 (或在用户明确要求时,从模型知识)生成卡片,用轻量间隔重复复习,并追踪哪些 概念还没记牢。 **不是完整的 SRS 系统。** 只是简单的 Leitner 分桶。够用、不重——如果用户已经 习惯用 Anki 之类的专门工具,建议继续用那个;这个技能是给在对话里想快速过一遍 的场景用的。
Scanned 9/1/2026
Install to Claude Code
npx -y skills add open-octo/octo-agent --skill flashcards --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Flashcards?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/open-octo-flashcards)More formats (shields.io, HTML) on the badges page.
---
name: flashcards
license: Apache-2.0 (adapted from anthropics/claude-for-legal, law-student/skills/flashcards; complete terms in LICENSE.txt)
description:
生成和复习记忆卡片——Leitner 分桶间隔重复、按学科存储、自评式复习。
Use when 用户说"帮我做闪卡""抽认卡""考我一下这些卡片""我要背这些规则/单词/
概念"等需要记忆巩固的场景。不是完整的 SRS 系统——如果用户已经在用 Anki 之类
的工具,建议他们继续用;这是"在对话里就想快速过一遍"的轻量方案。
metadata:
origin: 卡片结构、写卡规则、Leitner 分桶间隔表、生成/复习/统计模式,
改编自 anthropics/claude-for-legal 的 law-student/skills/flashcards
(Apache-2.0);已移除该项目的法学院场景专属内容("这是真实法律问题请找律师"
检查、Westlaw/CourtListener 引用核验、和 socratic-drill/bar-prep-questions
的联动),改为通用记忆卡片方法论
---
# Skill: flashcards
大纲/笔记是用来综合理解的,记忆卡片是用来强记的。这个技能从用户提供的材料
(或在用户明确要求时,从模型知识)生成卡片,用轻量间隔重复复习,并追踪哪些
概念还没记牢。
**不是完整的 SRS 系统。** 只是简单的 Leitner 分桶。够用、不重——如果用户已经
习惯用 Anki 之类的专门工具,建议继续用那个;这个技能是给在对话里想快速过一遍
的场景用的。
## 置信度纪律
- 从用户提供的材料(笔记、教材节选、课件)生成的卡片:内容来自材料本身,
可信。
- 从模型知识(用户没给材料)生成的卡片:每张卡片如果陈述的规则不是模型有
把握的,标注 `[待核实]`。生成前先说清楚"这些卡是从我的知识生成的,不是
从你的材料,请自行核对"。
- 如果某个领域模型把握不大,宁可少生成几张有把握的卡,也不要为了凑数瞎编。
8张靠谱的卡比20张里有5张错的要好。
## 存储
```
~/.octo/learning-data/flashcards/[学科]/cards.md
```
每个学科一个文件,跨会话持久(不受技能本身版本更新影响)。
## 卡片结构
```markdown
### 卡片 [N]
**问:** [问题——一个概念一张卡]
**答:** [答案——规则/定义,一到两句话]
**来源:** [材料出处:笔记/教材页码/课堂日期]
**分桶:** new
**上次复习:** —
**下次复习:** [今天日期]
**备注:** [可选——易混淆点、例外情况、常见陷阱]
```
## 写卡规则
1. **一个概念一张卡。** "光合作用的三个阶段"应该拆成3张卡,不是1张。
2. **正面是问题,不是主题。** "光合作用"不好;"光合作用的三个阶段分别是
什么"好。
3. **背面是规则/定义,不是一段话。** 如果答案需要一整段才能说清楚,拆成
多张卡。
4. **标注来源**,方便复习时回去核对。
## 模式
Flag: `--generate | --drill | --review | --stats | --session <n>`(不带 flag 时先问用户要哪种)
### `--generate`——生成卡片
**输入:** 学科/主题、来源材料(笔记路径、教材节选,或"就用我已有的大纲")、
可选的目标卡片数量(默认每次10-20张)。
按上面的卡片结构和写卡规则生成,写入 `~/.octo/learning-data/flashcards/
[学科]/cards.md`(已有文件则增量追加,不要覆盖)。
**如果是从模型知识生成的**:每张卡的规则/答案是模型生成的,未经核实。用户
背下来之前,建议对照教材、笔记或权威来源核实一遍——背了一张错卡比没有这张
卡更糟。
### `--drill`(默认)——复习
**优先级:**
1. `下次复习 <= 今天` 且分桶不是 mastered 的卡
2. 还没复习过的新卡
3. 如果没有到期卡也没有新卡:问用户要不要复习已经 mastered 的卡(防遗忘)
**复习流程(逐张):**
1. 显示问题,等用户回答
2. 用户回答(或输入"跳过"/"不会")
3. 显示答案
4. 用户自评:`对` / `部分对` / `错` / `不会`
5. 按下表更新分桶和下次复习时间:
| 自评 | 分桶变化 | 下次复习 |
|---|---|---|
| 对 | 升一档(new→learning→review→mastered) | +1天(new) / +3天(learning) / +7天(review) / +21天(mastered) |
| 部分对 | 不变 | +1天 |
| 错 | 降一档(review→learning;learning→new;new不变) | 今天+4小时 |
| 不会 | 降一档 | 今天+4小时 |
### `--review`——浏览卡组
按分桶分组展示某学科的所有卡片。用于快速扫一眼卡组内容,或手动调整卡片。
### `--stats`——进度快照
按学科统计:卡片总数、各分桶分布、今天到期数、本周已复习数。标出反复降到
`new` 两次以上的卡——这些是真正卡住的概念,值得用 `weak-point-drill` 或
向老师/教材再确认一遍,光靠卡片记不住的东西说明理解上有缺口。
### `--session <n>`——聚焦N卡片小节
用户说"来5张合同法的卡"或类似需求时用这个模式。
- 读取 `~/.octo/learning-data/study-plan.yaml`(如果存在)里该学科的
`session_history`。
- 优先级:之前答错的卡 > 到期卡 > 新卡。
- 按 `--drill` 流程逐张跑完N张。
- 小节结束后,把结果追加到 `study-plan.yaml` 的 `session_history`:
```yaml
session_history:
- date: 2026-05-08
subject: 合同法
type: flashcards
n_cards: 5
right: 3
partial: 1
wrong: 1
stuck_topics: [不可抗力条款]
```
如果 `study-plan.yaml` 不存在,写到 `~/.octo/learning-data/session-history.yaml`。
## 和其他技能的配合
- **outline-builder:** 建好或扩充大纲之后,主动提议从新内容生成卡片。
- **weak-point-drill:** 某张卡连续错2次以上,说明光靠卡片记不住,路由给
`weak-point-drill` 做更深入的针对性练习或建议回去重新理解这个概念。
- **study-plan:** `--session` 的结果写入学习计划,供计划自适应调整。
## 这个技能不做的事
- **替代专门的 SRS 工具。** 如果用户已经有 Anki 之类的习惯,建议继续用;
这个技能是给不想切换工具、想在对话里快速过一遍的场景用的。
- **为了凑数量编卡片。** 材料只够生成8张有把握的卡,就给8张。硬凑一堆
`[待核实]` 的猜测卡比小卡组更糟。
- **强制学习纪律。** 漏复习的天数会累积,这个技能只负责告诉用户今天该复习
什么,要不要复习是用户自己的事。
- **教会用户规则本身。** 卡片是用来复习已经学过的内容的。如果一张卡反复
答错,问题出在更上游——用 `weak-point-drill` 或回去重新看材料。
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!