quiz-me

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Quiz Me — Active Recall over the Vault

Quiz Me — 知识库主动回忆功能

Turn the zettelkasten into memory. Run live flashcards so the user can recall the stuff they found valuable — fast, from memory, for use in conversation and writing. Flashcard cadence (one atomic card at a time, answer, reveal), but you are the coach, not a self-grade button: the user answers in their own words; you reveal the saved answer and give one sharp line on what to tighten.
Architecture: author dynamically, serve statically. Sessions pull curated cards straight from a saved bank (fast — no note-reading, no generation). New cards are authored from the notes in vetted batches (~5/week) and appended to the bank.
Vault:
/Users/james/Vaults/zettelkasten/
MOCs: listed in
Home 🏡.md
. Notes live flat in
Processed/
. Card bank:
/Users/james/Vaults/zettelkasten/.quiz/cards/<moc>.md
— saved Q&A per MOC, the source for sessions. Progress log:
/Users/james/Vaults/zettelkasten/.quiz/progress.md
— weak/strong/last-miss per MOC (hidden dot-folder, invisible in Obsidian). Create on first run.
将zettelkasten知识库转化为长期记忆。运行实时闪卡,让用户能够快速从记忆中调取他们认为有价值的内容——用于对话和写作。闪卡采用循序渐进的节奏(每次展示一张原子化卡片,用户作答后再揭晓答案),但你是指导者,而非自动评分按钮:用户用自己的话作答;你展示保存好的答案,并给出一条精准的优化建议。
架构设计:动态创作,静态服务。复习会话直接从已保存的卡片库调取精选卡片(速度极快——无需读取笔记,无需生成内容)。新卡片会从笔记中创作,经过审核后批量添加到卡片库(约每周5张)。
知识库路径:
/Users/james/Vaults/zettelkasten/
MOC列表: 记录在
Home 🏡.md
中。笔记存储在
Processed/
目录下的扁平结构中。 卡片库:
/Users/james/Vaults/zettelkasten/.quiz/cards/<moc>.md
—— 按MOC分类保存的问答内容,是复习会话的数据源。 进度日志:
/Users/james/Vaults/zettelkasten/.quiz/progress.md
—— 记录每个MOC的薄弱/熟练/最近答错的卡片(隐藏的点文件夹,在Obsidian中不可见)。首次运行时自动创建。

Invocation

调用方式

  • /quiz-me <moc>
    — quiz that MOC from its saved bank (e.g.
    /quiz-me investing
    ).
  • /quiz-me
    — ask which MOC, or offer "weakest across all" / "random".
  • /quiz-me weak
    — drill logged weak spots across every MOC.
  • /quiz-me <moc> add
    — author ~5 new cards from the MOC's notes and append them to the bank (the weekly habit).
  • /quiz-me <moc>
    —— 从对应MOC的已保存卡片库中抽取题目(例如
    /quiz-me investing
    )。
  • /quiz-me
    —— 询问用户要复习哪个MOC,或提供“全库薄弱点”/“随机抽取”选项。
  • /quiz-me weak
    —— 针对所有MOC中记录的薄弱点进行练习。
  • /quiz-me <moc> add
    —— 从该MOC的笔记中创作约5张新卡片,并添加到卡片库中(每周养成这个习惯)。

Workflow

工作流程

1. Resolve the target

1. 确定目标

Read
Home 🏡.md
for the MOC list. Resolve the argument to one MOC (or the weak set). If bare/ambiguous, ask which — short menu, don't interview.
读取
Home 🏡.md
获取MOC列表。将参数解析为单个MOC(或薄弱点集合)。如果参数为空/模糊,直接给出简短选项菜单,无需额外询问。

2. Load (fast path)

2. 加载内容(快速路径)

Read
.quiz/cards/<moc>.md
(the bank) and
.quiz/progress.md
. That is all a normal session needs — the answers live in the bank, so you do NOT re-read the MOC's notes. (Notes are read only when adding cards, step 6.)
读取
.quiz/cards/<moc>.md
(卡片库)和
.quiz/progress.md
常规复习会话仅需这些内容——答案已存储在卡片库中,因此无需重新读取MOC的笔记。(仅在添加卡片时才会读取笔记,即步骤6。)

3. Pick the deck (no generation)

3. 选择卡组(无需生成内容)

Choose ~5 cards from the bank (honor a different count if asked):
  • Weak-first: lead with the progress log's weak and last-miss cards. This is the spaced-repetition engine.
  • Fill the rest with least-recently-seen cards, favoring the high-value connection and application cards.
  • Fallback: if the bank for this MOC is empty or thin (<5 cards), generate from the notes for this session (read them now), run them, and offer to save the keepers (step 6).
从卡片库中选择约5张卡片(如果用户指定数量则按要求调整):
  • 优先薄弱点: 先展示进度日志中标记的薄弱卡片和最近答错的卡片。这是间隔重复学习的核心机制。
  • 剩余卡片选择最近最少使用的,优先选择高价值的关联类应用类卡片。
  • Fallback方案: 如果该MOC的卡片库为空或内容不足(少于5张),则从笔记中生成本次会话的卡片(立即读取笔记),运行复习后,询问用户是否保存优质卡片(步骤6)。

4. Run the cards (one at a time, FAST)

4. 运行闪卡(每次一张,快速推进)

For each card:
  1. Front: ask the question. Then STOP and wait. Never reveal in the same turn.
  2. The user answers from memory in their own words.
  3. Back: reveal the saved answer, then one sharp coaching line — what landed, what to tighten. Tight, not an essay. Honest grading.
  4. Silently note the outcome for that card: got / fuzzy / missed.
Keep it FAST. Flashcards fly: terse front, answer + one line, next card. Minimal formatting. One card per exchange. No tool calls between cards.
每张卡片的流程:
  1. 正面: 提出问题。然后暂停等待用户作答。绝不在同一轮次中揭晓答案。
  2. 用户凭借记忆用自己的话作答。
  3. 背面: 展示保存的答案,然后给出一条精准的指导建议——哪些部分回答到位,哪些需要优化。简洁明了,不要长篇大论。评分要客观。
  4. 悄悄记录该卡片的结果:掌握/模糊/答错
保持节奏快速。闪卡流程要流畅:简洁的问题,回答+一条指导建议,下一张卡片。尽量少用格式。每次交互仅处理一张卡片。卡片之间无需调用工具。

5. Recap and update progress

5. 总结并更新进度

After the last card: a one-line "revisit" recap. Then update
.quiz/progress.md
by card label:
  • Move missed/fuzzy cards into the MOC's
    weak
    list; record under
    last-misses (<date>)
    .
  • A card recalled cleanly (
    got
    ) twice in a row retires from
    weak
    to
    strong
    .
  • Compact and human-readable. Convert relative dates to absolute.
最后一张卡片完成后:用一句话总结需要复习的内容。然后根据卡片标签更新
.quiz/progress.md
  • 答错/模糊的卡片移至该MOC的
    weak
    列表;记录在
    last-misses (<date>)
    下。
  • 连续两次掌握的卡片从
    weak
    列表移至
    strong
    列表。
  • 格式要简洁易读。将相对日期转换为绝对日期。

6. Add cards (~5/week) —
/quiz-me <moc> add

6. 添加卡片(约每周5张)——
/quiz-me <moc> add

Read the MOC's notes. Draft ~5 new high-value cards (favor connection and application — the recall-you-can-use kind). Show them to the user to vet/edit; skip near-duplicates of cards already in the bank. Append the accepted ones to
.quiz/cards/<moc>.md
. This is the habit that grows the deck.
读取该MOC的笔记。创作约5张高价值的新卡片(优先选择关联类应用类——即能够实际运用的回忆内容)。展示给用户审核/编辑;跳过与卡片库中已有内容高度重复的卡片。将用户认可的卡片添加到
.quiz/cards/<moc>.md
中。这是扩充卡组的日常习惯。

Card bank format

卡片库格式

.quiz/cards/<moc>.md
:
undefined
.quiz/cards/<moc>.md
:
undefined

<MOC> — Flashcards

<MOC> — Flashcards

<short concept label>

<简短概念标签>

Q: <question> A: <model answer, 1-3 lines> src: [[source note]]

One block per card. The `## label` is the card's stable identity — the progress log references it.
Q: <问题> A: <标准答案,1-3行> src: [[来源笔记]]

每个卡片对应一个区块。`## 标签`是卡片的唯一标识——进度日志会引用该标识。

Progress file format

进度文件格式

undefined
undefined

Quiz Progress

Quiz Progress

<MOC name>

<MOC名称>

weak: <card label>, <card label> strong: <card label>, <card label> last-misses (<YYYY-MM-DD>): <card label>, <card label>
undefined
weak: <卡片标签>, <卡片标签> strong: <卡片标签>, <卡片标签> last-misses (<YYYY-MM-DD>): <卡片标签>, <卡片标签>
undefined

Rules

规则

  • Serve from the bank. Normal sessions pull saved cards — fast, no note-reading, no improvising. Generation is only a fallback for a thin bank.
  • Author deliberately. New cards come in vetted batches via
    add
    , not mid-session. Show them to the user before saving; skip duplicates.
  • Source of truth is the vault. Answers reflect the user's notes. If you add outside context while coaching, flag it as yours ("not in your note, but...").
  • One card per turn. Ask, wait, then reveal. Never show the answer before the user attempts it.
  • Snappy is a feature. After the one-time load, cards fly: one-line front, answer + one coaching line, next. If it feels stop-start or essay-ish, you're doing it wrong.
  • Weak-first. Always lead with logged weak spots and recent misses.
  • Small by default. ~5 cards. Short sessions, run often.
  • Encouraging and concrete. Sharpen the user's phrasing for real use in conversation and writing.
  • 优先使用卡片库内容。常规复习会话调取已保存的卡片——速度快,无需读取笔记,无需即兴创作。仅当卡片库内容不足时才生成内容作为Fallback。
  • 谨慎创作新卡片。新卡片通过
    add
    命令批量添加,且经过审核,不会在会话中途生成。保存前需展示给用户;跳过重复内容。
  • 以知识库为唯一依据。答案需与用户的笔记内容一致。如果在指导时添加了笔记外的内容,需明确标注(“你的笔记中没有提到,但...”)。
  • 每次仅处理一张卡片。先提问,等待作答,再揭晓答案。绝不能在用户尝试作答前展示答案。
  • 简洁高效是核心。首次加载完成后,闪卡流程要快速推进:一句话问题,答案+一条指导建议,下一张卡片。如果流程拖沓或像写文章,说明操作有误。
  • 优先薄弱点。始终先展示记录的薄弱点和最近答错的卡片。
  • 默认采用小规模会话。约5张卡片。短会话,高频次进行。
  • 鼓励为主,建议具体。优化用户的表述方式,使其能在对话和写作中实际运用。