Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.
Documents
flashcard-forge
Try itConvert any text — PDF excerpts, lecture notes, articles, textbook chapters — into spaced-repetition flashcards. Generates Anki-importable CSV with Q&A and cloze-deletion modes using regex-based extraction and sentence analysis.
What it does
Turn walls of text into decks you'll actually review.
The skill document
Flashcard Forge
Turn walls of text into decks you'll actually review.
Flashcard Forge is a skill that transforms study material (PDFs, lecture
notes, articles, textbook chapters) into spaced-repetition flashcards. It
extracts key facts, definitions, and Q&A pairs using regex patterns and
sentence-structure analysis, then exports Anki-importable CSV files.
When to Use
Activate this skill when you need to:
- Convert a textbook chapter or lecture transcript into flashcards
- Extract definitions, key facts, or Q&A from a body of text
- Generate cloze (fill-in-the-blank) cards for memorization
- Produce Anki-importable CSV from raw notes
- Study for an exam by turning reading material into active recall cards
Modes
Q&A Mode (--mode qa)
Extracts question-answer pairs and definition pairs:
- Definition patterns: "X is defined as Y", "X refers to Y", "X means Y"
- Explicit questions: sentences containing "What/Why/How/When/Where" markers
- List patterns: "There are N types of X: A, B, C"
- Cause/effect: "X causes Y", "X results in Y"
- Comparison: "Unlike X, Y does Z"
Cloze Mode (--mode cloze)
Generates fill-in-the-blank cards by identifying key terms in each sentence and masking them:
- Nouns and proper nouns are candidates for clozing
- Numbers, dates, and named entities are high-priority cloze targets
- Each card uses Anki's
{{c1::...}}cloze syntax
Auto Mode (--mode auto, default)
Runs both modes and merges results, deduplicating by question text.
Quick Reference
| Need | Command |
|---|---|
| Q&A cards from a text file | python3 scripts/flashcard_forge.py notes.txt |
| Cloze cards | python3 scripts/flashcard_forge.py notes.txt --mode cloze |
| Anki CSV output | python3 scripts/flashcard_forge.py notes.txt -o deck.csv |
| Custom cloze count | python3 scripts/flashcard_forge.py notes.txt --max-cloze 3 |
| Min sentence length filter | python3 scripts/flashcard_forge.py notes.txt --min-length 20 |
| JSON output | python3 scripts/flashcard_forge.py notes.txt --format json |
How It Works
- Read & clean — load the text, normalize whitespace, strip markdown artifacts.
- Segment — split into sentences using punctuation-aware tokenization.
- Extract — apply regex patterns (see
references/extraction-patterns.md) to find definitions, Q&A, lists, cause/effect, and comparisons. - Rank — score each candidate by information density (presence of key terms, numbers, definitions).
- Deduplicate — remove near-identical cards using Jaccard similarity.
- Export — write Anki-importable CSV (semicolon-separated, quoted) or JSON.
See references/anki-import.md for how to import the CSV into Anki.
Files
references/extraction-patterns.md— catalog of regex extraction patternsreferences/anki-import.md— step-by-step Anki import guidereferences/study-strategies.md— best practices for flashcard-based learningscripts/flashcard_forge.py— the main extraction and export scriptscripts/sample_text.txt— example input demonstrating all pattern types
Common Pitfalls
-
Over-generation. A long text can produce hundreds of mediocre cards. Use
--max-cardsto cap output and--min-lengthto filter trivial sentences. -
CSV delimiter conflicts. Anki expects semicolon-separated values for basic cards. The script handles quoting automatically; don't open the CSV in Excel and re-save (it may change the delimiter).
-
Cloze mode needs cloze note type. Cloze cards only work with Anki's "Cloze" note type, not "Basic." See
references/anki-import.md. -
Poor input quality. Garbled OCR or deeply nested markdown confuses the sentence segmenter. Pre-clean the text for best results.
-
Duplicates across runs. The dedup step is within-file only. If you merge multiple outputs, dedup manually or use
--format jsonand post-process.
Verification Checklist
- Input text is reasonably clean (no raw HTML, minimal OCR artifacts)
- Chosen mode matches your Anki deck type (qa → Basic, cloze → Cloze)
-
--max-cardsset if the input is large - CSV opens correctly in a text editor (fields quoted, semicolon-separated)
- Test-imported into Anki and reviewed 5-10 cards for quality
License
MIT © Denis Voronin
Related skills
Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.
Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.
Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.
Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.
Site audit, content writing, and competitor analysis for organic search rankings.
More from voronindenis5
Browse all skillsPryamoy Russkiy (Straight Russian) — AI assistant that tells it like it is. Direct answers, no fluff, occasional profanity. Specializes in honest analysis, t...
Prepare salary negotiations with a structured toolkit: market-rate anchoring math, walk-away floor calculation, total-compensation evaluation (equity, bonuses, benefits), negotiation scripts for offers, raises, and counter-offers, and BATNA analysis. Use when the user has a job offer, is preparing a raise conversation, wants to know if their pay is competitive, or needs scripts and a strategy for negotiating compensation.
Use when your calendar is eating your week and you want to know exactly where the time goes, when planning recurring meetings for a team, before proposing a new recurring meeting, when someone says 'we should sync weekly' and you want data, or when auditing which meetings to kill — imports ICS calendar files, measures meeting hours per week/person/meeting-series (including double-bookings and fragmentation), computes focus-time destruction from meeting placement, scores the true cost of each series (hours × attendees × frequency), flags specific meetings to kill/shorten/make-async using explicit rules, and simulates the recovered hours before anyone has to argue about it.
Audit password vault exports (Bitwarden, 1Password, KeePass, Chrome, Firefox) for reuse, weakness, staleness, breach exposure, and 2FA gaps without ever storing or transmitting a plaintext password. Use when the user asks to audit passwords, check password strength/reuse, review vault health, or verify whether credentials appeared in breaches.
Turn flat resume bullets ('Responsible for X') into quantified STAR-method achievement narratives, score resumes against job descriptions for ATS keyword coverage and weak-phrase hazards, and expand each bullet into interview-ready stories with likely follow-up questions. Use when the user is writing or updating a resume/CV, preparing bullets for a job application, tailoring a resume to a specific job posting, or preparing interview stories from their experience.
Agent self-awareness of cognitive states — context fatigue, attention drift, memory debt, confidence erosion, and skill staleness. Detect, report, and mitigate degrading conditions before they cause failures.