ASD

Anki Connect

Esta skill sirve para interactuar con Anki a través de AnkiConnect, y debe usarse cuando el usuario pida leer o modificar mazos, notas, cartas, modelos, medios o sincronización.

Estrellas
281

en todo el repo

Actividad
27

0–100, la ruta de este skill

Actualizado
hace 6 meses

último commit aquí

Commits
0

últimos 90 días

Contexto
2.4k tok

52 tok en reposo

Paquete
1 archivo

9 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add intellectronica/agent-skills --skill anki-connect --agent claude-code

Se instala solo en este repositorio.

Qué hace

  • Traduce peticiones del usuario en llamadas JSON a la API de AnkiConnect (localhost:8765) usando curl/jq
  • Pide confirmación única al usuario antes de cualquier operación destructiva sobre notas o cartas (añadir, editar, borrar, suspender, reprogramar, etc.)
  • Verifica conectividad y versión de la API antes de operar, y usa apiReflect para descubrir acciones soportadas
  • Aplica sintaxis de búsqueda de Anki (deck:, tag:, is:due, etc.) para findNotes/findCards
  • Gestiona mazos, modelos, medios y sincronización a través de las acciones catalogadas de AnkiConnect

Úsalo cuando

  • El usuario pide leer o modificar mazos, notas, cartas, modelos, medios u operaciones de sincronización en Anki

No lo uses cuando

    Qué lo activa

    Di cualquiera de estas frases y el agente debería cargar este skill.

    • Busca todas las notas del mazo French con la etiqueta verbs
    • Crea un mazo nuevo llamado Vocabulario Alemán
    • Suspende las cartas que están atrasadas en mi mazo de repaso
    • Sube este audio como archivo multimedia para la nota 12345
    • Sincroniza mi colección de Anki ahora

    SKILL.md

    En inglés

    AnkiConnect

    Overview

    Enable reliable interaction with Anki through the AnkiConnect local HTTP API. Use this skill to translate user requests into AnkiConnect actions, craft JSON requests, run them via curl/jq (or equivalent tools), and interpret results safely.

    Preconditions and Environment

    • If Anki is not running, launch Anki, then wait until the AnkiConnect server responds at http://127.0.0.1:8765 (default). Verify readiness using curl, e.g. curl -sS http://127.0.0.1:8765 should return Anki-Connect.

    Safety and Confirmation Policy (Critical)

    CRITICAL — NO EXCEPTIONS

    Before any destructive or modifying operation on notes or cards (adding, updating, deleting, rescheduling, suspending, unsuspending, changing deck, or changing fields/tags), request confirmation from the user. Use the AskUserQuestion tool if available; otherwise ask via chat. Only request confirmation once per logical operation, even if it requires multiple API calls (e.g., search + update + verify). Group confirmation by intent and scope (e.g., “Update 125 notes matching query X”).

    Treat the following as confirmation-required by default:

    • Notes: addNote, addNotes, updateNoteFields, updateNoteTags, updateNote, updateNoteModel, deleteNotes, removeEmptyNotes, replaceTags, replaceTagsInAllNotes, clearUnusedTags.
    • Cards: setEaseFactors, setSpecificValueOfCard, suspend, unsuspend, forgetCards, relearnCards, answerCards, setDueDate, changeDeck.
    • Deck or model modifications that materially change cards/notes (deck deletion, model edits). Ask even if the action is not explicitly listed above.

    API Fundamentals

    Request Format

    Every request is JSON with:

    • action: string action name
    • version: API version (use 6 unless user specifies otherwise)
    • params: object of parameters (optional)

    Response Format

    Every response is JSON with:

    • result: return value
    • error: null on success or a string describing the error

    Always check error before using result.

    Permissions

    • Use requestPermission first when interacting from a non-trusted origin; it is the only action that accepts any origin.
    • Use version to ensure compatibility; older versions may omit the error field in responses when version ≤ 4.

    curl + jq Patterns

    Prefer jq to build JSON and parse responses. Keep requests explicit and structured.

    Minimal request template

    jq -n --arg action "deckNames" --argjson version 6 '{action:$action, version:$version}' \
    | curl -sS http://127.0.0.1:8765 -X POST -H 'Content-Type: application/json' -d @-
    

    With params

    jq -n \
    	--arg action "findNotes" \
    	--argjson version 6 \
    	--arg query "deck:French tag:verbs" \
    	'{action:$action, version:$version, params:{query:$query}}' \
    | curl -sS http://127.0.0.1:8765 -X POST -H 'Content-Type: application/json' -d @-
    

    Handling result/error

    curl -sS http://127.0.0.1:8765 -X POST -H 'Content-Type: application/json' -d @- \
    | jq -e 'if .error then halt_error(1) else .result end'
    

    Batching multiple actions

    Use multi to reduce round-trips and to group actions under a single confirmation when modifying data.

    jq -n --argjson version 6 --arg query "deck:French" \
    	'{action:"multi", version:$version, params:{actions:[
    		{action:"findNotes", params:{query:$query}},
    		{action:"notesInfo", params:{notes:[]}} 
    	]}}' \
    | curl -sS http://127.0.0.1:8765 -X POST -H 'Content-Type: application/json' -d @-
    

    Replace the empty array with the result of the previous action when chaining; in CLI usage, split into two calls unless using a scripting language.

    Core Workflow Guidance

    1) Verify connectivity and version

    • Call requestPermission (safe).
    • Call version to confirm the API level and use version: 6 in requests.

    2) Discover supported actions

    • Use apiReflect with scopes: ["actions"] to list supported actions.
    • Use this list to map user intent to action names.

    3) Resolve user request into action sequence

    • Identify read-only vs destructive operations.
    • For destructive/modifying operations on notes/cards, request confirmation once with the scope and count.
    • Prefer findNotes/findCards + notesInfo/cardsInfo for previews before modification.

    4) Execute and validate

    • Execute the call(s) in order.
    • Check error for each response.
    • Report summarized results and any IDs returned.

    Common Task Recipes (CLI-Oriented)

    List decks

    • Action: deckNames

    Create deck

    • Action: createDeck
    • Confirmation required if the deck is being created as part of a card/note modification workflow.

    Search notes / cards

    • Actions: findNotes, findCards
    • Use Anki search syntax (see “Search Syntax Quick Notes” below).

    Preview note data

    • Action: notesInfo (note IDs)

    Add notes

    • Actions: addNote, addNotes
    • Confirmation required.
    • Use canAddNotes or canAddNotesWithErrorDetail for preflight checks.

    Update note fields or tags

    • Actions: updateNoteFields, updateNoteTags, or combined updateNote
    • Confirmation required.
    • Warning: Do not have the note open in the browser; updates may fail to apply.

    Delete notes

    • Action: deleteNotes
    • Confirmation required.

    Suspend/unsuspend cards

    • Actions: suspend, unsuspend
    • Confirmation required.

    Move cards to a deck

    • Action: changeDeck
    • Confirmation required.

    Set due date or reschedule

    • Action: setDueDate
    • Confirmation required.

    Media upload/download

    • Actions: storeMediaFile, retrieveMediaFile, getMediaFilesNames, getMediaDirPath, deleteMediaFile
    • Use base64 (data), file path (path), or URL (url) for upload.

    Sync

    • Action: sync

    Search Syntax Quick Notes (for findNotes/findCards)

    • Separate terms by spaces; terms are ANDed by default.
    • Use or, parentheses, and - for NOT logic.
    • Use deck:Name, tag:tagname, note:ModelName, card:CardName.
    • Use front:... or other field names to limit by field.
    • Use re: for regex, w: for word-boundary searches, nc: to ignore accents.
    • Use is:due, is:new, is:learn, is:review, is:suspended, is:buried to filter card states.
    • Use prop: searches for properties like interval or due date.
    • Escape special characters with quotes or backslashes as needed.

    Action Catalog (Use as a mapping reference)

    Card Actions

    • getEaseFactors
    • setEaseFactors
    • setSpecificValueOfCard
    • suspend
    • unsuspend
    • suspended
    • areSuspended
    • areDue
    • getIntervals
    • findCards
    • cardsToNotes
    • cardsModTime
    • cardsInfo
    • forgetCards
    • relearnCards
    • answerCards
    • setDueDate

    Deck Actions

    • deckNames
    • deckNamesAndIds
    • getDecks
    • createDeck
    • changeDeck
    • deleteDecks
    • getDeckConfig
    • saveDeckConfig
    • setDeckConfigId
    • cloneDeckConfigId
    • removeDeckConfigId
    • getDeckStats

    Graphical Actions

    • guiBrowse
    • guiSelectCard
    • guiSelectedNotes
    • guiAddCards
    • guiEditNote
    • guiAddNoteSetData
    • guiCurrentCard
    • guiStartCardTimer
    • guiShowQuestion
    • guiShowAnswer
    • guiAnswerCard
    • guiUndo
    • guiDeckOverview
    • guiDeckBrowser
    • guiDeckReview
    • guiImportFile
    • guiExitAnki
    • guiCheckDatabase
    • guiPlayAudio

    Media Actions

    • storeMediaFile
    • retrieveMediaFile
    • getMediaFilesNames
    • getMediaDirPath
    • deleteMediaFile

    Miscellaneous Actions

    • requestPermission
    • version
    • apiReflect
    • sync
    • getProfiles
    • getActiveProfile
    • loadProfile
    • multi
    • exportPackage
    • importPackage
    • reloadCollection

    Model Actions

    • modelNames
    • modelNamesAndIds
    • findModelsById
    • findModelsByName
    • modelFieldNames
    • modelFieldDescriptions
    • modelFieldFonts
    • modelFieldsOnTemplates
    • createModel
    • modelTemplates
    • modelStyling
    • updateModelTemplates
    • updateModelStyling
    • findAndReplaceInModels
    • modelTemplateRename
    • modelTemplateReposition
    • modelTemplateAdd
    • modelTemplateRemove
    • modelFieldRename
    • modelFieldReposition
    • modelFieldAdd
    • modelFieldRemove
    • modelFieldSetFont
    • modelFieldSetFontSize
    • modelFieldSetDescription

    Note Actions

    • addNote
    • addNotes
    • canAddNotes
    • canAddNotesWithErrorDetail
    • updateNoteFields
    • updateNote
    • updateNoteModel
    • updateNoteTags
    • getNoteTags
    • addTags
    • removeTags
    • getTags
    • clearUnusedTags
    • replaceTags
    • replaceTagsInAllNotes
    • findNotes
    • notesInfo
    • notesModTime
    • deleteNotes
    • removeEmptyNotes

    Statistic Actions

    • getNumCardsReviewedToday
    • getNumCardsReviewedByDay
    • getCollectionStatsHTML
    • cardReviews
    • getReviewsOfCards
    • getLatestReviewID
    • insertReviews

    Notes and Pitfalls

    • Keep Anki in the foreground on macOS or disable App Nap to prevent AnkiConnect from pausing.
    • When updating a note, ensure it is not being viewed in the browser editor; updates may not apply.
    • importPackage paths are relative to the Anki collection.media folder, not the client.
    • deleteDecks requires cardsToo: true to delete cards along with decks.

    Resources

    No bundled scripts or assets are required for this skill.

    Reproducido de intellectronica/agent-skills bajo licencia CC0-1.0. Leer esta página en markdown.

    Archivos

    1 archivo en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

    Antes de instalar

    Anki debe estar en ejecución con el plugin AnkiConnect respondiendo en http://127.0.0.1:8765.

    Necesita en el PATH:curljq

    Detalles

    Categoría
    Automatización
    Licencia
    CC0-1.0
    Recursos incluidos
    Solo SKILL.md
    Código fuente
    Ver SKILL.md

    Etiquetas

    Más de intellectronica/agent-skills

    Este repo incluye 22 skills. Si instalas uno, normalmente ya tienes los demás.

    Úsalo cuando el usuario quiera operar Google Workspace desde la línea de comandos con gog/gogcli: Gmail, Calendar, Drive, Docs, Sheets, Slides, Forms, Apps Script, Chat, Classroom, Contacts, Tasks, Groups, Admin, Keep y auth.

    Costo de contexto al activarse
    2.2k tok
    Tamaño del paquete
    9 archivos
    Última actualización
    hace 3 meses
    automatizacion

    Úsalo para leer o buscar notas de Monologue mediante su API REST: autenticación con MONOLOGUE_API_KEY, listado, paginación, filtros y manejo de errores, todo por HTTP directo con curl.

    Costo de contexto al activarse
    1.4k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 3 meses
    desarrollo apis

    Ayuda con el trabajo del GitHub Copilot SDK en Node.js/TypeScript, Python, Go, .NET y Java: setup, autenticación, permisos, streaming, tools personalizadas, custom agents, servidores MCP, hooks, skills y persistencia de sesiones.

    Costo de contexto al activarse
    3.2k tok
    Tamaño del paquete
    5 archivos
    Última actualización
    hace 4 meses
    desarrollo apis

    Genera y edita imágenes con Nano Banana 2 (Gemini 3.1 Flash Image Preview) de Google, para iteración rápida y control de aspect-ratio y resolución de 512px a 4K.

    Costo de contexto al activarse
    977 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 5 meses
    diseno ui

    Inicializa un repositorio git con instrucciones opcionales de commit para el agente y un .gitignore.

    Costo de contexto al activarse
    790 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 6 meses
    herramientas desarrollo

    Instrucciones para interactuar con Todoist mediante la CLI td: operaciones CRUD sobre tareas, proyectos, secciones, etiquetas y comentarios, con confirmación previa a acciones destructivas.

    Costo de contexto al activarse
    2.3k tok
    Tamaño del paquete
    3 archivos
    Última actualización
    hace 6 meses
    productividad

    Skills relacionados

    Skill de generación de imágenes para conceptos premium de pantallas de apps móviles (iOS, Android, cross-platform), con mockups de teléfono, jerarquía limpia y consistencia multi-pantalla. Solo genera imágenes, no código.'

    Costo de contexto al activarse
    10.1k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 3 meses
    diseno ui

    Skill de sistema de diseño semántico para Google Stitch. Genera DESIGN.md que imponen estándares de UI premium anti-genéricos: tipografía, color, layouts asimétricos, micro-movimiento perpetuo y rendimiento.

    Costo de contexto al activarse
    3k tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 2 meses
    diseno ui

    Skill anti-slop para frontend: landing pages, portafolios y rediseños. El agente lee el brief, infiere la dirección de diseño correcta y evita interfaces que parezcan plantillas genéricas.

    Costo de contexto al activarse
    21.8k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 2 meses
    diseno ui