A skill that finds your worst Anki cards and helps you fix them.
This month I officially crossed two years on my Anki streak. 🎉
Not to brag, but (to brag) that makes me 77th out of about 20,000 people who use the Anki leaderboard. You know, if you care about that sort of thing (which I obviously don’t).
So it’s safe to say Anki is a part of my life now. We’ll stay together until we die. Um, until I die. Or maybe superintelligence takes over and puts all the open-source software behind a paywall I can’t afford (that’s my version of an AI-dystopian nightmare).
Unfortunately, over the years I’ve made some truly terrible cards. Here are three of my worst—each bad for a different reason.
Terrible Card #1:
Front: Searle equated computer programs to what linguistic component?
Back: Syntax.
“Linguistic component”. What was I thinking? What does that even mean? A component of language. Grammar? Morphology?… the cue is not even close to pinning down the answer. One fix would be something like “Searle argues that a program has ___, but no semantics.”
Terrible Card #2:
Front: A function $f$ is measurable on the completion $\mathcal{F}^\mu$ of a $\sigma$-algebra $\mathcal{F}$ if and only if… (and sketch the proof).
Back: …it is a.e. equal to an $\mathcal{F}$-measurable function $g$. Proof: the completion contains every set whose symmetric difference with an $\mathcal{F}$-set is negligible; prove the claim for indicators, then simple functions, then pass to the limit with monotone convergence. Done.
For some unknown reason I thought that (a) I could memorize an entire proof on the back of a flashcard and (b) that this was a useful thing to do. I was in a dark place. This flashcard either needs the useful techniques extracted from it, or it should be deleted altogether.
And finally, my favourite:
Terrible Card #3:
Front: Define strong artificial intelligence in one phrase.
Back: Machines can duplicate human cognition.
Two bad Searle-adjacent cards!?.. maybe I was sick that day. This one is particularly insidious because on the surface it seems like a perfectly reasonable card. But there is no “one phrase” for defining strong artificial intelligence, so it’s virtually impossible to grade the answer to this card. Moreover, it doesn’t actually capture the useful thing I cared about when writing it, which was the difference between strong and weak AI. A card like “What is the difference between strong and weak AI?” would already be a marginal improvement, and even then we should pull out exactly what the key difference is and cue that. This card is difficult to repair.
Anyway, when you’re writing cards regularly, you’re bound to write the occasional dud, and you won’t realize it’s a dud until you start reviewing! Your review data is the best indicator of your cards that need rewriting.
But rewriting cards is such a pain! Anki’s interface for editing cards in bulk is terrible.
Most people are familiar with the “leech” tag that Anki adds to cards you’ve failed 8 or more times. But Anki actually computes far more useful metrics than that. For example, if you open the card browser, right click on a column and enable the “retrievability” column, you can sort cards by how likely you are to recall them. When FSRS chooses how long to wait before it surfaces a card again, it combines retrievability with a difficulty and stability metric for the card.
I use the interval to rank cards by a simple cost: how often a card fails you, divided by how long Anki plans to wait before surfacing it again. The worst cards are not just the ones you keep getting wrong, they’re the ones you keep seeing over and over again. For those interested, I’ve included the exact metric at the end of this post.
Fortunately, while Claude Code / ChatGPT’s Codex are not particularly gifted at writing cards (see the “memory machines” report by Ozzie Kirkby and Andy Matuschak),
I’ve been using Claude Code to talk to my flashcards for a while. In an email to Nate Meyvis (the developer of Zippyflash) back in April, I wrote:
If you’re not using Claude Code to talk to Anki via Ankiconnect, you’re missing out. :)
I stand by it.
I’m not the first person to point an LLM at Anki—there are a few skills out there already, and even a full Anki MCP server. But almost all of them are built around generating cards, which is the one thing LLMs are reliably bad at. I wanted a skill for fixing the cards that you (or your review data) already know are bad.
So I put together a skill
/anki (in Claude Code) or $anki (in Codex).Below is a short video of me using the skill for the first time in Claude Code.
For those interested, the cost of a card is:
I had initially played with more sophisticated metrics combining different statistics that Anki records, until I realized that the interval given by the FSRS algorithm already bakes in how hard it thinks a card is for you (and this is optimized for your own review data).
I hope someone finds this useful!
DJ