flashcards
Skill9 starsChanged 2 months agoMITView on GitHub
Use when the student wants to generate Anki-style flashcards from studied topics — creates question/answer cards in Markdown and Anki-compatible CSV, prioritized by weak areas and misconceptions. Cards saved to global education DB and project-local docs.
6 other projects use a version of this.
Adopted by
Most recently taken up by
- baney75/myelinatetheir own version, first seen Oct 20, 2026
- dwfennell/claude-skillstheir own version, first seen Oct 13, 2026
- flowing-abyss/obsidian-vault-skillstheir own version, first seen Sep 19, 2026
- leonardoaraujosantos/my_ai_skillstheir own version, first seen Jul 6, 2026
- Ic3b3rg/learn-skillstheir own version, first seen Jun 26, 2026
- anthropics/claude-for-legaltheir own version, first seen May 15, 2026
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 6
- anthropics/claude-for-legal★ 9.5ksame name
- flowing-abyss/obsidian-vault-skills★ 9same name
- Ic3b3rg/learn-skills★ 9same name
- baney75/myelinate★ 6same name
- leonardoaraujosantos/my_ai_skills★ 1same name
- dwfennell/claude-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository15 other files it gives its agents.
- .claude/CLAUDE.mdCLAUDE.md
- asciiSkill
- challengeSkill
- compareSkill
- demoSkill
- excalidrawSkill
- init-eduSkill
- motivateSkill
- progressSkill
- quiz-meSkill
- researchSkill
- reset-eduSkill
- roadmapSkill
- save-progressSkill
- summarySkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
18 rules. 0 are common, 9 are distinctive, and 9 are very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 9
Before accessing education data, read ${CLAUDE_PLUGIN_ROOT}/references/education-data.md.
- Very specific: line 24
Read <education-db>/dashboard.json — get all topic statuses
- Very specific: line 25
Read <education-db>/student.json — adapt card style to learning preferences
- Very specific: line 26
If a topic was given, read <education-db>/topics/<topic>.json — check depth, misconceptions, quiz history
- Distinctive: line 27
If no topic given, collect all topics from dashboard and read each topic file
- Distinctive: line 79
Every card back should be concise — aim for 1-3 sentences, not paragraphs
- Distinctive: line 80
If the topic file has unresolved misconceptions, create at least one card that directly addresses each misconception
- Very specific: line 81
Use the student's interests from student.json for analogies in card backs (e.g., if they like gaming, use gaming analogies)
- Distinctive: line 82
Avoid the student's dislikes — if they dislike dry definitions, make cards more scenario-based
- Very specific: line 136
Use the metadata headers shown above for Anki 2.1.54+.
- Distinctive: line 139
No HTML — plain text only for maximum compatibility
- Distinctive: line 163
If generating for multiple topics, show a combined summary at the end with totals.
- Very specific: line 173
Update last_session to today
- Very specific: line 177
Only generate cards for studied topics: Check dashboard.json — only topics with status weak, learned, or solid are valid.
- Distinctive: line 178
Verify facts with WebSearch: Every factual claim on a card must be checked.
- Distinctive: line 181
Respect student preferences: Use their learning style, interests, and avoid their dislikes when crafting card language.
- Distinctive: line 182
Regeneration is safe: Read existing files before regenerating.
- Very specific: line 183
Create project-local
docs/directory: if it doesn't exist before saving.
“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Requested topic/task: $ARGUMENTS
Before accessing education data, read ${CLAUDE_PLUGIN_ROOT}/references/education-data.md. Resolve every <education-db> below using that contract. Current session ID: ${CLAUDE_SESSION_ID}.
Flashcards — Anki-Style Card Generation
Generates study flashcards from topics the student has already learned. Cards are prioritized by weakness, misconceptions, and spaced repetition schedule. Exports in Markdown and Anki-compatible CSV.
Invocation
/claude-teacher:flashcards — generate cards for all studied topics, prioritized by need
/claude-teacher:flashcards [topic] — generate cards for a specific topic
Process
1. Load Context
- Read
<education-db>/dashboard.json— get all topic statuses - Read
<education-db>/student.json— adapt card style to learning preferences - If a topic was given, read
<education-db>/topics/<topic>.json— check depth, misconceptions, quiz history - If no topic given, collect all topics from dashboard and read each topic file
- NEVER generate flashcards for topics not in the DB — the student hasn't learned them yet. If no studied topics exist: "Nothing to make flashcards for yet — let's learn something first!"
2. Prioritize Topics for Card Generation
Generate cards in this order (highest priority first):
- Weak topics — these need the most reinforcement
- Topics with unresolved misconceptions — targeted cards to correct misunderstandings
- Topics with
next_review <= today— due for spaced repetition - Topics at
surfacedepth — need more exposure to reachworking - Learned topics — general reinforcement
- Solid topics — fewer cards, focused on edge cases and connections
3. Generate Cards
For each topic, generate 5-10 flashcards using a mix of card types. Use WebSearch to verify every fact before putting it on a card — flashcards with wrong information are worse than no flashcards.
Card Types
Definition — core concept recall
Front: What is [concept]?
Back: [Concise definition]. [Why it matters in one sentence].Concept Application — apply knowledge to a scenario
Front: You need to [scenario]. Which [concept/tool/approach] would you use and why?
Back: [Answer with reasoning]. [Key tradeoff or consideration]."What happens if..." — trace behavior and consequences
Front: What happens if [specific situation related to topic]?
Back: [Step-by-step what occurs]. [Common mistake: ...].Compare/Contrast — distinguish related concepts
Front: What is the difference between [concept A] and [concept B]?
Back: [A]: [key trait]. [B]: [key trait]. Key distinction: [one sentence].Fill-in-the-Blank — active recall of specifics
Front: In [context], the ___ is responsible for [function].
Back: [answer]. [Brief explanation of why].Card Rules
- Every card back should be concise — aim for 1-3 sentences, not paragraphs
- If the topic file has unresolved misconceptions, create at least one card that directly addresses each misconception
- Use the student's interests from
student.jsonfor analogies in card backs (e.g., if they like gaming, use gaming analogies) - Avoid the student's dislikes — if they dislike dry definitions, make cards more scenario-based
- Include a source link on cards that cite specific technical facts
- Tag each card with difficulty:
[easy],[medium],[hard]based on topic depth and quiz history
4. Export in Both Formats
Markdown Format
Save as docs/flashcards-<topic-slug>.md (project-local) and <education-db>/docs/flashcards-<topic-slug>.md (global):
# Flashcards: [Topic Name]
Generated: [date]
Cards: [count]
Priority: [weak / review-due / reinforcement]
---
### Card 1 [easy] — Definition
**Q:** What is [concept]?
**A:** [Answer]. [Why it matters].
---
### Card 2 [medium] — What happens if...
**Q:** What happens if [scenario]?
**A:** [Answer]. Common mistake: [misconception].
---
(... more cards ...)
---
*Generated from your study progress. Review with `/claude-teacher:quiz-me [topic]` or practice with `/claude-teacher:challenge [topic]`.*Anki-Compatible CSV
Save as docs/flashcards-<topic-slug>.csv (project-local) and <education-db>/docs/flashcards-<topic-slug>.csv (global):
#separator:Semicolon
#html:false
#columns:Front;Back;Tags
#tags column:3
"What is [concept]?";"[Answer]. [Why it matters].";"[topic-slug] [card-type] [difficulty]"
"What happens if [scenario]?";"[Answer]. Common mistake: [misconception].";"[topic-slug] what-happens-if [difficulty]"CSV rules:
- UTF-8, semicolon-separated; the
#separator:Semicolonheader makes this explicit - All fields double-quoted
- Use the metadata headers shown above for Anki 2.1.54+. Do not add a normal
Front;Back;Tagsrow, which could be imported as a card. For older versions, remove metadata and map the separator/fields/tags manually - Tags field uses space-separated tags: topic slug, card type, difficulty
- Escape any double quotes inside fields by doubling them (
"") - No HTML — plain text only for maximum compatibility
5. Show Summary
After generating, display:
── Flashcards Generated ──────────────────
Topic: [topic name]
Cards: [count] ([easy]/[medium]/[hard])
Misconception cards: [count]
Card types: [list of types used]
Saved to:
docs/flashcards-[slug].md
docs/flashcards-[slug].csv
<education-db>/docs/flashcards-[slug].md
<education-db>/docs/flashcards-[slug].csv
Import CSV into Anki: File > Import > select the .csv file
Preview: Front → Front, Back → Back, column 3 → Tags; no header card
──────────────────────────────────────────If generating for multiple topics, show a combined summary at the end with totals.
6. Update DB
Append to session log <education-db>/sessions/[date].jsonl:
{"time": "[now]", "event": "flashcards", "topics": ["[slug1]", "[slug2]"], "total_cards": 15, "formats": ["markdown", "csv"]}Update dashboard <education-db>/dashboard.json:
- Update
last_sessionto today
Rules
- Only generate cards for studied topics. Check
dashboard.json— only topics with statusweak,learned, orsolidare valid. Never invent cards for topics the student hasn't seen. - Verify facts with WebSearch. Every factual claim on a card must be checked. Include source links for technical facts.
- Prioritize weak areas. The whole point is targeted review — weak topics and misconceptions come first.
- Keep cards atomic. One concept per card. If a card needs more than 3 sentences on the back, split it.
- Respect student preferences. Use their learning style, interests, and avoid their dislikes when crafting card language.
- Regeneration is safe. Read existing files before regenerating; preserve student edits or save a new version. Keep existing fronts stable when updating answers so Anki can match notes.
- Create project-local
docs/directory if it doesn't exist before saving.
Integration with Other Skills
/claude-teacher:quiz-me [topic]— flashcards are for self-study; quizzes are for active testing. Suggest quizzing after reviewing flashcards./claude-teacher:challenge [topic]— for hands-on practice after memorizing concepts via flashcards./claude-teacher:progress— check which topics need flashcards most (weak areas, due reviews)./claude-teacher:save-progress— flashcard generation auto-logs to the session, but student can explicitly checkpoint.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

