Install
$ agentstack add skill-pinakdhabu-exam-prompt-flashcard-generator ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Universal Flashcard Generator
Overview
Transforms any study material into exam-optimized flashcards. Uses cognitive science principles (active recall, spaced repetition, elaboration, interleaving) to maximize retention. Generates SRS-ready decks with proper scheduling metadata for long-term memory consolidation.
How This Skill Works
- User provides: Source material (notes, textbook chapters, syllabus topics, question papers,
or any text)
- System analyzes: Content structure, subject type, Bloom's level distribution, exam patterns
- System selects: Optimal flashcard types based on content characteristics and learning goals
- System generates: Formatted flashcard deck with SRS scheduling metadata
- System exports: In requested format (Anki APKG, Quizlet CSV, plain text, or markdown)
1. Flashcard Types
Type A — Basic Fact (Recall)
| Element | Description | | ----------------- | ------------------------------------------------ | | Front | Direct question or prompt | | Back | Concise answer (1-3 sentences) | | Best for | Definitions, dates, formulas, terminology, lists | | Bloom's Level | Remember | | Example Front | What is the time complexity of binary search? | | Example Back | O(log n) in the average and worst case |
Type B — Cloze Deletion
| Element | Description | | ----------------- | --------------------------------------------------------------------------------------------- | | Front | Sentence with key term blanked: The capital of France is {{c1::Paris}} | | Back | Full sentence with revealed term | | Best for | Fill-in-the-blank style recall, language learning, definitions | | Bloom's Level | Remember, Understand | | Example Front | The three pillars of {{c1::sustainable development}} are economic, social, and environmental. |
Type C — Concept Association
| Element | Description | | ----------------- | --------------------------------------------------------------------------------- | | Front | Concept, term, or scenario | | Back | Related concept, application, or counter-example | | Best for | Linking related ideas, compare/contrast, "why" questions | | Bloom's Level | Understand, Apply | | Example Front | How does DHCP differ from DNS? | | Example Back | DHCP assigns IP addresses dynamically; DNS resolves domain names to IP addresses. |
Type D — Multi-Step Problem
| Element | Description | | ----------------- | --------------------------------------------------- | | Front | Problem or calculation | | Back | Step-by-step solution with reasoning | | Best for | Numerical problems, derivations, proofs, algorithms | | Bloom's Level | Apply, Analyze | | Example Front | Solve: Find the determinant of [[2,3],[1,4]] | | Example Back | det = (24) - (31) = 8 - 3 = 5 |
Type E — Application Scenario
| Element | Description | | ----------------- | ----------------------------------------------------------------------------------------- | | Front | Real-world scenario or case snippet | | Back | Diagnosis, solution, or analysis | | Best for | Case studies, clinical scenarios, engineering design, business cases | | Bloom's Level | Analyze, Evaluate | | Example Front | A user reports "Connection refused" when accessing port 443 on a server. What is likely? | | Example Back | The service on port 443 (likely HTTPS) is not running or a firewall is blocking the port. |
Type F — Compare & Contrast
| Element | Description | | ----------------- | --------------------------------------------------------- | -------------------------------------------------- | | Front | Two related concepts | | Back | Structured comparison (similarities / differences table) | | Best for | Comparative questions, distinguishing confusable concepts | | Bloom's Level | Analyze | | Example Front | Compare TCP vs UDP | | Example Back | TCP: connection-oriented, reliable, ordered, slower | UDP: connectionless, unreliable, unordered, faster |
2. Difficulty Tiers
| Tier | Question Style | Cognitive Load | Use Case | | ------------------------ | ----------------------------------------------------- | -------------- | -------------------------------------------- | | Tier 1 — Recognition | Multiple choice, true/false, "which of the following" | Low | Initial learning, building confidence | | Tier 2 — Recall | Direct question, cloze deletion, fill-in-the-blank | Medium | Active recall practice, memory consolidation | | Tier 3 — Application | Scenario-based, problem-solving, "why/how" questions | High | Deep understanding, exam readiness |
Each deck includes a progression path: Tier 1 -> Tier 2 -> Tier 3.
3. SRS Scheduling Metadata
Every generated flashcard includes these scheduling fields for SRS system import:
| Field | Example | Description | | -------------- | ----------------- | ------------------------------------ | | Deck | Computer Networks | Subject or chapter name | | Tag | cn3transport | Hierarchical topic tag | | Due | 2026-05-24 | Next review date | | Interval | 1 | Days until next review (starts at 1) | | Ease | 250 | Starting ease factor (default 250%) | | Difficulty | 3 | Card difficulty (1=Easy, 5=Hard) | | LastReviewed | 2026-05-23 | Last review timestamp |
4. Export Formats
| Format | Extension | Compatible With | Notes | | -------------- | --------- | ----------------------------------------- | ------------------------------ | | Anki | .apkg | Anki desktop, AnkiDroid, AnkiMobile | Full SRS metadata preserved | | CSV | .csv | Anki import, Quizlet, Excel, custom tools | Tab-separated by default | | Markdown | .md | Any markdown renderer, Obsidian, Notion | Readable, version-controllable | | Plain Text | .txt | Any text editor | Minimal formatting | | JSON | .json | Programmatic processing | Structured data export |
International Export Examples
Example CSV Header
Front, Back, Tags, Deck, Due
Example Quizlet Import Format
| Front | Back | Tags | | ---------------- | ----------------------------- | -------- | | What is TCP? | Transmission Control Protocol | cnunit3 | | Define OSI model | 7-layer conceptual model | cnunit1 |
JSON Export Schema
{
"deck": "Subject_Unit",
"cards": [
{
"front": "Question text",
"back": "Answer text",
"tags": ["tag1", "tag2"],
"due": "2026-06-01",
"interval": 1,
"ease": 250,
"difficulty": 3
}
]
}
Anki APKG Packaging Note
APKG files are SQLite databases with a collection.anki21 table containing the card/note data and a media directory for images/audio. The system generates APKG-format output compatible with Anki 2.1+. Import via: Anki Desktop → File → Import → Select .apkg file.
5. Generation Modes
Mode 1 — From Lecture Notes
- Input: Raw notes or textbook chapters
- Output: Comprehensive deck covering all key concepts
- Algorithm: Extract definitions, named concepts, lists, important figures, and causal relationships
Mode 2 — From Syllabus
- Input: Syllabus topics and subtopics
- Output: Coverage-optimized deck ensuring every syllabus point has at least one card
- Algorithm: Map syllabus items to question templates
Mode 3 — From PYQs
- Input: Previous year question papers
- Output: Exam-focused deck targeting historically tested concepts
- Algorithm: Frequency-weight topics and generate cards proportional to historical importance
Mode 4 — Exam Cram
- Input: High-priority topics (from imp topics analysis)
- Output: Condensed deck covering only high-probability questions
- Algorithm: Selects Tier 1 and Tier 2 cards for fastest coverage
6. Deck Organization
Subject Name/
Unit 1 - Topic Name/
Section 1.1 - Subtopic/
[F] Definition of concept X
[C] Cloze: The three types of Y are ___
[P] Problem: Calculate Z given W
Section 1.2 - Subtopic/
...
Unit 2 - Topic Name/
...
Cross-Unit Connections/
[A] How does concept A from Unit 1 relate to concept B from Unit 3?
Prefix legend: [F] = Fact, [C] = Cloze, [P] = Problem, [A] = Association, [S] = Scenario
7. Active Recall Triggers
For each card, the system adds memory-triggering cues:
- Visual cues: Parent diagram references "(see Fig 3.2 in textbook)"
- Mnemonic triggers: Acronym hints (e.g., "PEMDAS: Parentheses, Exponents...")
- Association chains: "This concept is related to X which you studied in Unit 2"
- Contrast prompts: "Not to be confused with Y (see card #42)"
8. Common Use Cases
| Scenario | Mode | Card Types | Deck Size (approx) | | -------------------------- | -------------------- | ---------- | ------------------ | | Learning a new subject | From Lecture Notes | A, B, C | 200-500 cards | | Exam revision (1 week) | From PYQs + Syllabus | A, B, D | 100-300 cards | | Last-night cramming | Exam Cram | A, B | 50-100 cards | | Language vocabulary | From Lecture Notes | A, B | 500-1000 cards | | Medical/legal memorization | From Syllabus | A, B, C, E | 500-2000 cards | | Formula revision | From Syllabus | D | 30-100 cards |
9. Example
User: Generate flashcards for Computer Networks Unit 3 (Transport Layer) for SPPU TE Comp. Include TCP, UDP, congestion control.
System generates:
Deck: SPPU_TE_CN_Unit3
Card 1 [F]: What does TCP stand for?
Back: Transmission Control Protocol
Card 2 [C]: {{c1::TCP}} is connection-oriented, while {{c2::UDP}} is connectionless.
Card 3 [D]: A sender uses AIMD with cwnd=16 MSS. After packet loss, what is the new cwnd in TCP Reno?
Back: cwnd = 16/2 = 8 MSS (multiplicative decrease)
Card 4 [E]: A video streaming app uses UDP. Why?
Back: Streaming tolerates minor packet loss but requires low latency. UDP provides faster delivery without retransmission delays.
... (full deck generated)
10. Export Command (for Anki)
# The generated .apkg file can be imported via:
# Anki Desktop: File > Import > Select .apkg
# AnkiDroid: Tap + > Import .apkg
# AnkiMobile: Share > Open in Anki
# CSV format follows Anki's preferred tab-separated schema:
# Front\tBack\tTags\tDeck
Session Config
This skill integrates with the session config system (deps/session-profile.json). Before executing, check for an existing session profile:
- If
deps/session-profile.jsonexists, readuniversity,subject,pattern, andexam_type
fields to auto-configure the skill.
- If the file does not exist, fall back to user-provided context or prompt the user to run
setup-exam-prompt (or npm run init) first.
- Session config eliminates redundant context detection — detection happens once and is reused
across all skill calls.
Error Handling
| Situation | Action | | ------------------------- | ------------------------------------------------------------------------------------------------------------------ | | Source material too short | Respond: "Material too sparse for flashcard generation. Minimum of 500 characters of meaningful content required." | | Unsupported file format | Respond: "Unsupported format. Accepted formats: PDF, DOCX, TXT, MD, or pasted text." | | SRS metadata conflict | Auto-resolve by prioritizing session config defaults over card-level overrides | | Export format failure | Log error, fall back to Markdown export, notify user of format limitation |
Quality Gate — Check Before Output
- [ ] Every syllabus point has at least one corresponding flashcard
- [ ] No duplicate cards (same front text across different cards)
- [ ] Difficulty progression exists (Tier 1 → Tier 2 → Tier 3 cards)
- [ ] SRS metadata fields are populated for all cards
- [ ] Export format matches user's requested format exactly
- [ ] Deck naming convention follows
University_Subject_Unitpattern
11. Integration with Other Skills
| Skill | Integration | | ------------------------------------ | -------------------------------------------------------------- | | universal-session-config | Reads university/subject/pattern from session profile | | universal-notes-generator | Takes generated notes as input and converts them to flashcards | | universal-pyq-analyzer | Uses PYQ frequency analysis to weight card importance | | universal-imp-topics-generator | Generates cram-mode decks from imp topics output | | universal-mcq-practice-generator | Creates exam-simulated MCQ practice from same material |
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: pinakdhabu
- Source: pinakdhabu/Exam-prompt
- License: MIT
- Homepage: https://pinakdhabu.github.io/Exam-prompt/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.