SSkilltecabyclaudinhocode
Enviar skill
← Voltar para o catálogo

generating-stem-flashcards

Design e Frontend

Generates atomic flashcards from technical/STEM source material. Supports three output modes: (1) interactive React artifacts with client-side KaTeX rendering, (2) Anki-ready TSV export with MathJax-compatible LaTeX, or (3) direct push to Anki via MCP Server (no export/import step). Use when users request flashcards, study cards, revision cards, Anki cards, quiz materials, or spaced repetition con

11estrelas
Ver no GitHub ↗Autor: jalliet

STEM Flashcard Generation

Output Mode Detection

Detect the output mode from the user's request:

Artifact mode (default): "flashcards", "interactive", "artifact", "study cards", "revision cards" Anki mode (TSV export): "anki", "anki deck", "for anki", "import into anki", "anki export", "export to anki" Anki mode (MCP direct): "send to anki", "push to anki", "add to anki directly", "anki mcp", "create in anki"

If ambiguous, ask the user. Default to artifact mode. If the user says "anki" without specifying, ask whether they want a TSV file or direct push via MCP.

Dependencies

Artifact mode

No CLI dependencies required. The React artifact handles KaTeX rendering client-side.

Recommended complementary skills from anthropics/skills:

  • frontend-design — Improved React artifact rendering and styling
  • pdf — Better extraction from scanned/complex PDFs
  • docx — Preserves formatting from Word documents

Anki mode (TSV export)

No dependencies required (uses raw LaTeX with MathJax delimiters).

Anki mode (MCP direct)

Requires:

  • Anki 25.x or later running locally
  • Anki MCP Server addon installed (code: 124672614) Install: Tools → Add-ons → Get Add-ons → enter 124672614 → restart Anki
  • Server auto-starts on http://127.0.0.1:3141/ when Anki opens

No file export or manual import needed — cards are pushed directly into Anki.


Shared Workflow (All Modes)

Step 1: Extract Topics

Identify topic boundaries from section headings or conceptual groupings.

Step 2: Generate Cards

For each topic, create cards across three layers:

  • L1 (Recall): Facts, definitions, formulas
  • L2 (Understanding): Why/how, connections, intuition
  • L3 (Boundaries): Limitations, edge cases, when things break

See references/COGNITIVE_LAYERS.md for layer definitions, card types, and answer constraints.

Step 3: Validate Cards

Check each card against atomicity rules and refusal policy.

See references/ATOMICITY.md for atomicity definition, refusal policy, and quality checklist.

For LaTeX syntax lookup: references/LATEX_SYNTAX.md


Mode-Specific Workflow

After completing Steps 1–3, branch based on the detected mode:

→ Artifact Mode

Read and follow artifact/WORKFLOW.md. Summary:

  1. Write raw LaTeX strings (NOT compiled HTML)
  2. Build artifact from artifact/template.jsx
  3. Save to /mnt/user-data/outputs/[name]_flashcards.jsx
  4. Present draft

→ Anki Mode (TSV Export)

Read and follow anki/WORKFLOW.md. Summary:

  1. Wrap LaTeX in MathJax delimiters (see anki/RENDERING.md)
  2. Build 5-column TSV with per-card tags
  3. Save to /mnt/user-data/outputs/[name]_anki.txt
  4. Present draft with import instructions from anki/IMPORT_GUIDE.md

→ Anki Mode (MCP — Direct Push)

Read and follow anki/MCP_WORKFLOW.md. Summary:

  1. Wrap LaTeX in MathJax delimiters (see anki/RENDERING.md)
  2. Ensure note type "3-Layer Card" and target deck exist (auto-created if missing)
  3. Push cards directly to Anki via add_note
  4. Report results — no import step needed

Communication Style

Report progress in phases, not steps. Use compact formats:

Extracted 8 topics. Generating cards...

Draft: 45 cards (L1: 18, L2: 15, L3: 12). Review and let me know changes.

For iterations: "Updated card 12. ✓"

Omit rendering mechanics (KaTeX/MathJax) from user-facing messages.

Como adicionar

/plugin marketplace add jalliet/flashcards

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Comentários · Nenhum comentário

Entre para comentar. Entrar

  • Ainda não há comentários. Seja o primeiro.