Claude Academy
Sign in

Worked Example: The flashcard-gen Skill

This site's flashcards are never authored as flashcards. The skill (.claude/skills/flashcard-gen/SKILL.md) encodes the trick: any vault bullet of the form - **Term** — definition is harvested by the content pipeline into an SM-2 scheduled deck. Writing good notes and writing good cards become the same act.

Cards as a side effect of notes

  • wiki/301/glossary.md → the Glossary deck; cheatsheet.md → the Cheatsheet deck; every other note pools per level into level-101/201/301-terms decks.
  • The ## Section heading above a bullet becomes the card's category label, so note structure doubles as deck structure.
  • Coverage grows automatically: when skill-vault-sync adds a note for a new Anthropic course, its definitions are already cards on the next build.

The craft rules the skill enforces

  • Minimum information principle — one atomic fact per bullet; compound facts get split.
  • Self-contained fronts — the bold term must be answerable cold, without the surrounding paragraph.
  • Gotchas over happy paths — the card worth drilling is the one that costs exam points ("cache invalidation — any prefix change invalidates all later breakpoints").

The scheduler contract

The skill documents the SM-2 parameters implemented in the app so nobody "improves" them casually: easiness factor starts at 2.5 with a 1.3 floor; intervals go 1 day → 6 days → previous×EF; a grade below 3 resets repetitions and requeues the card in-session; EF' = EF + (0.1 − (5−q)(0.08 + (5−q)×0.02)).

Key terms

  • SM-2 — the SuperMemo spaced-repetition algorithm scheduling this site's reviews.
  • Easiness factor (EF) — per-card multiplier controlling interval growth; init 2.5, floor 1.3.
  • Minimum information principle — flashcards should test exactly one atomic fact.
  • Harvested cards — flashcards extracted from prose conventions rather than authored separately.

Canonical copy: .claude/skills/flashcard-gen/SKILL.md. Try grading yourself honestly on the how-this-site-works deck — the scheduler only works if the grades mean something.