anki

Create and manage Anki flashcards. Use when the user wants to create flashcards, add notes to Anki, manage decks, or work with spaced repetition learning. Also use when user mentions "anki", "make cards", "add to anki", "learn this", "memorize", "remember this", "SRS", or asks to turn content into flashcards.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "anki" with this command: npx skills add terkelg/anki-markdown/terkelg-anki-markdown-anki

Anki Flashcard Management

Use the anki.sh script to create and manage flashcards via AnkiConnect.

ANKI="$(dirname "$SKILL_PATH")/scripts/anki.sh"

Preflight:

  • Ensure Anki desktop is running with AnkiConnect enabled
  • Ensure curl and jq are available in PATH

CRITICAL: User Approval Required

NEVER add cards to Anki without explicit user approval.

Before adding any cards:

  1. Display all proposed cards in full (front + back)
  2. Ask user to confirm: "Ready to add these cards?"
  3. Only proceed after explicit "yes" / approval

This is non-negotiable. Users must review card quality before adding.

For potentially destructive or irreversible actions:

  • delete: ask explicit confirmation before deleting notes
  • update: confirm exact fields/IDs before updating notes
  • rate: show card + suggested rating, then wait for user confirmation before submitting

Guidelines

  • MUST use the Anki Markdown note type
  • Use markdown for both front and back fields
  • Test exactly one fact or idea per card
  • Make questions atomic and simple
  • Keep questions and answers short, clear, and unambiguous
  • Ensure each card has one unique, specific answer
  • Avoid long lists or multiple items in one card
  • Add context or hints so your future self understands
  • Personalize with examples or mnemonics if helpful
  • Allow multiple simple cards for important concepts
  • Create multiple variants of important questions from different angles
  • Connect cards to personal goals and projects to avoid "orphan" facts
  • Always use syntax highlighting for code (see Code Snippets section)
  • When creating multiple related cards, use bulk operations for efficiency

Front Field Format

Use markdown on the front to highlight key terms the question is about:

  • Use bold or ==highlight== for the main concept being tested
  • Use inline code for technical terms, functions, or syntax

Example: What does **vertex_index** return in WGSL?

Back Field Format

Use this format for the Back field:

  1. Bold one-liner with the direct answer
  2. Blank line
  3. Additional context in normal text (optional)

Formatting for Fast Skimming

  • Use ==highlighted== to make key terms stand out at a glance
  • Use bold for critical concepts within explanations
  • Use syntax highlighting for all code blocks including inline
  • Optimize for quick visual scanning—readers should grasp the core idea instantly

Keyboard Shortcuts

Use <kbd> tags for keyboard keys:

Press <kbd>Cmd</kbd>+<kbd>Shift</kbd>+<kbd>P</kbd> to open the command palette.

Code Snippets

Always use syntax highlighting:

  • Fenced blocks: Use triple backticks with language (js, python, ```rust, etc.)
  • Inline code: Use `code`{lang} syntax (e.g., `const x = 1`{js})

Advanced features:

  • Line highlighting: ```js {2} to highlight line 2
  • Word highlighting: ```js /pattern/ to highlight specific words
  • Focus mode: Add // [!code focus] comment to focus specific lines

Callouts

Use GitHub-style alerts sparingly for important notes:

> [!TIP]
> Brief helpful insight here.

> [!NOTE]
> Useful context the learner should know.

> [!WARNING]
> Common mistake or gotcha to avoid.

Example

Front: What does `passEncoder.draw(3)`{js} do with **no vertex buffer**?
Back:

**Invokes the ==vertex shader== 3 times.**

The shader uses `@builtin(vertex_index)`{wgsl} to generate positions ==procedurally==.

> [!TIP]
> Useful for fullscreen quads without geometry data.

Common Operations

Run via $ANKI <action> [args...]:

ActionDescriptionExample
syncTrigger AnkiWeb sync$ANKI sync
decksList decks$ANKI decks --stats
modelsList note types$ANKI models
fieldsFields for a model$ANKI fields "Anki Markdown"
findSearch notes$ANKI find "deck:Spanish tag:verb"
infoNote details$ANKI info 1234 5678
addAdd one note$ANKI add "My Deck" "Anki Markdown" '{"Front":"Q","Back":"A"}' --tags "t1 t2"
add-bulkAdd many notes$ANKI add-bulk "My Deck" "Anki Markdown" '[{"Front":"Q1","Back":"A1"}]'
updateUpdate fields$ANKI update 1234 '{"Front":"New Q"}'
deleteDelete notes$ANKI delete 1234 5678
dueGet due cards$ANKI due "My Deck" --limit 5
reviewShow card$ANKI review 1234
rateRate card (1-4)$ANKI rate 1234 3
tagsList tags$ANKI tags --pattern "verb"

Typical workflow

$ANKI sync                          # sync first
$ANKI decks                         # check available decks
$ANKI models                        # verify required model exists
$ANKI fields "Anki Markdown"        # verify field names for selected model
$ANKI find "deck:MyDeck front:test" # check for duplicates
$ANKI add "MyDeck" "Anki Markdown" '{"Front":"...","Back":"..."}'
$ANKI sync                          # sync after changes

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

anki

No summary provided by upstream source.

Repository SourceNeeds Review
General

anki

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

anki

No summary provided by upstream source.

Repository SourceNeeds Review
General

音乐生成

Generate custom music tracks (vocal or instrumental) via OhYesAI.

Registry SourceRecently Updated