# Anki Card Maker

> Extract key knowledge from study materials (text, Markdown, notes) and generate front-question + back-answer flashcards, producing an Anki-compatible CSV file ready for import. Trigger when users mention flashcards, Anki, spaced repetition, need to convert notes into Q&A pairs, or request memory cards or review cards from their study content.

- **Type:** Skill
- **Install:** `agentstack add skill-serejaris-kimi-skills-anki-card-maker`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [serejaris](https://agentstack.voostack.com/s/serejaris)
- **Installs:** 0
- **Category:** [Data & Analytics](https://agentstack.voostack.com/c/data-and-analytics)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [serejaris](https://github.com/serejaris)
- **Source:** https://github.com/serejaris/kimi-skills/tree/main/skills/anki-card-maker

## Install

```sh
agentstack add skill-serejaris-kimi-skills-anki-card-maker
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# anki-card-maker

Automatically extracts knowledge points from study materials and generates flashcards in "front question + back answer" format, outputting a CSV file ready for direct import into [Anki](https://apps.ankiweb.net/).

Two working modes are supported:
- **auto mode**: Rule-based extraction of definitions, Q&A pairs, lists, and other structured knowledge from Markdown/plain text
- **json mode**: Accepts pre-constructed JSON flashcard data and formats it as Anki CSV

## Quick Start

```bash
# Auto-extract flashcards from Markdown notes
python scripts/generate_flashcards.py --input notes.md --output flashcards.csv

# Generate Anki CSV from JSON data (ideal for agent calls)
python scripts/generate_flashcards.py --mode json --input cards.json --output flashcards.csv

# Use via stdin/stdout
cat notes.md | python scripts/generate_flashcards.py > flashcards.csv
```

## Agent Workflow

When a user provides study materials and requests flashcard generation, the recommended workflow is:

1. **Read the material**: Read the study material file provided by the user
2. **Intelligent extraction**: Analyze the material content, extract core knowledge points, and generate high-quality Q&A pairs. Follow these principles:
   - Each card focuses on a single knowledge point (minimum information principle)
   - Use precise question format on the front; avoid vague questions
   - Provide concise but complete answers on the back
   - Cover core concepts, definitions, formulas, cause-and-effect relationships, comparisons, etc.
3. **Generate CSV**: Write the extracted Q&A pairs as JSON, then call the script to convert to Anki CSV
4. **Deliver the file**: Inform the user of the output path and import instructions

### Agent Call Example

Construct extracted knowledge points as a JSON array and convert to CSV via `--mode json`:

```bash
cat  /tmp/cards.json
[
  {"front": "What is photosynthesis?", "back": "The process by which plants use light energy to convert CO₂ and H₂O into organic matter while releasing O₂", "tags": "biology"},
  {"front": "What is the chemical equation for photosynthesis?", "back": "6CO₂ + 6H₂O → C₆H₁₂O₆ + 6O₂", "tags": "biology"}
]
EOF
python scripts/generate_flashcards.py --mode json --input /tmp/cards.json --output flashcards.csv
```

## Parameters

| Parameter | Description | Default |
|---|---|---|
| `--input, -i` | Input file path | stdin |
| `--output, -o` | Output CSV file path | stdout |
| `--mode, -m` | Extraction mode: `auto` (rule-based) or `json` (structured input) | auto |
| `--no-tags` | Omit the tags column | tags included |
| `--separator, -s` | CSV separator: `\t`, `;`, `,` | Tab |

## Output Format

The generated CSV follows the Anki import specification:

```
#separator:Tab
#html:true
#columns:Front	Back	Tags
What is photosynthesis?	The process by which plants use light energy to convert CO₂ and H₂O into organic matter while releasing O₂	biology
```

### How to Import into Anki

1. Open Anki → File → Import
2. Select the generated CSV file
3. Anki will automatically detect the separator and column mapping
4. Confirm and click "Import"

## Knowledge Structures Supported in Auto Mode

| Structure Type | Example | Generated Flashcard |
|---|---|---|
| Definition (Term: Definition) | `Photosynthesis: Plants use light energy...` | Q: What is photosynthesis? A: Plants use light energy... |
| Q&A pair | `Q: What is DNA? A: Deoxyribonucleic acid` | Extracted directly as a flashcard |
| Heading + list | `## Organelles - Mitochondria - Ribosome` | Q: What are the key points of Organelles? A: List |
| Heading + paragraph | `## Newton's First Law An object at rest...` | Q: Explain: Newton's First Law A: Paragraph content |

## Prerequisites

- Python 3.6+
- No additional dependencies required (uses standard library only)

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [serejaris](https://github.com/serejaris)
- **Source:** [serejaris/kimi-skills](https://github.com/serejaris/kimi-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-serejaris-kimi-skills-anki-card-maker
- Seller: https://agentstack.voostack.com/s/serejaris
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
