Use when surveying, auditing, or adopting third-party agent skills and MCP servers — discovery across the Hermes catalog and GitHub, reading bare-slug registry entries without installing, judging execution-model and trust-model conflicts, and the reasons to refuse a popular skill.
Anki card template language — field replacement {{Field}}, conditionals {{#Field}}/{{^Field}}, special fields ({{Tags}}, {{FrontSide}}, {{Type}}, {{Deck}}, {{Subdeck}}, {{CardFlag}}, {{Card}}), filters (type:, cloze:, text:, hint:, tts:, furigana:/kana:/kanji:, cloze-only:), the {{FrontSide}} + <hr id=answer> divider, raw HTML/CSS, and card-generation rules. Use when writing or editing Anki card front/back templates or styling.
Cloze deletion syntax and generation — {{c1::text}}, {{c1::text::hint}}, multiple clozes → multiple cards, numbering rules, nested clozes, the cloze note type (single card template using {{cloze:Text}}), per-card conditionals {{#c1}}, type:cloze, cloze+LaTeX delimiter conflicts, and Image Occlusion. Use when generating cloze cards.
Bulk-creating Anki notes/cards from text files (CSV/TSV) and packaged decks (.apkg/.colpkg) — field separators, quoting/escaping, HTML newlines, file headers (#separator, #html, #tags, #columns, #notetype, #deck, #notetype column, #deck column, #tags column, #guid column), duplicate/GUID handling, and export options. Use when generating cards in bulk or sharing decks.
MathJax (\(…\), \[…\]) and LaTeX ([latex]…[/latex], [$]…[/$], [$$]…[/$$]) in Anki cards, mhchem chemistry, and the known conflicts between cloze/LaTeX delimiters and template field replacements. Use when adding equations or chemical notation to Anki cards.
Media on Anki cards — [sound:file.mp3], <img src="file.jpg">, static template media (leading-underscore naming), the collection.media folder, supported formats (MP3/MP4), importing media via text files, LaTeX-rendered images, and TTS. Use when adding audio, images, video, or generated media to cards.
Anki's data model — notes vs cards, fields, note types, and the built-in types (Basic, Basic (and reversed), Basic (optional reversed), Basic (type in the answer), Cloze, Image Occlusion). Covers card-generation rules, deck override, and tags. Use when designing note types or deciding how cards are generated from notes.
Use when implementing the homelab server plan — a NixOS module map verified against the pinned nixpkgs, the Compose-to-NixOS rewrites (Gluetun network namespaces, Caddy .ts.net certificates), the snapshot-before-migration gap, and the greps that re-derive all of it. Deliberately excludes what the plan already states.
Reference for the LuaSnip snippet-engine API (require('luasnip')) — node constructors (s/sn/t/i/f/c/d/r), snippet opts (trig/wordTrig/regTrig/snippetType/condition/callbacks), events, add_snippets, and extras (fmt/rep/lambda/match). Use when authoring, editing, or debugging LuaSnip snippets and autosnippets.
Reference for Neovim's Lua API surface (vim.api, vim.fn, and builtin helpers such as vim.schedule, vim.wait, vim.ui_*). Use when writing or editing Neovim Lua plugins/configs, or when an agent needs exact vim.api/vim.fn signatures.
Reference for vim.diagnostic and diagnostic-namespace APIs in Neovim Lua (signs, virtual text/lines, goto next/prev, qf/loclist, enable/disable). Use when implementing diagnostics display or navigation.
Reference for vim.fs in Neovim Lua — path joining, dirname/basename/ext, normalization, mkdir/rm, find, and directory/parent iterators. Use when manipulating file paths or walking directories.
Reference for vim.keymap in Neovim Lua (set/del and mapping options). Use when creating, modifying, or removing key mappings, buffer-local maps, or callback mappings.
Reference for vim.loop / vim.uv (libuv) bindings in Neovim Lua — timers, spawned processes, filesystem, streams/pipes, OS queries, and handle lifecycle. Use when writing async I/O, timers, job runners, or file watchers.
Reference for vim.lsp, vim.lsp.buf, vim.lsp.util, vim.lsp.codelens, vim.lsp.semantic_tokens, and the LSP protocol APIs in Neovim Lua. Use when wiring language-server features (hover, definitions, references, code actions, formatting, completion, inlay hints).
Reference for vim.snippet in Neovim Lua (expand/jump/active/stop). Use when implementing or driving LSP/extensible snippet expansion and tabstop navigation in plugins or configs.
Reference for vim.system in Neovim Lua — the libuv-backed process runner (0.10+). Use when spawning external commands, capturing output, or controlling child processes as an alternative to jobstart for simple cases.
Reference for Neovim treesitter Lua APIs (TSNode, TSTree, TSQuery, TSParser, query cursors). Use when writing tree-sitter queries, node traversal, or syntax-aware edits.
Reference for the miscellaneous vim.* helpers in Neovim Lua not covered by the other nvim skills — table helpers, json/mpack, inspect, iter, version, notify/log, string utils, validate/defer, options accessors, vim.system, vim.snippet, vim.highlight, and vim.ui. Use for general-purpose Lua helpers when writing plugins.
Plan feature work with an appropriate verification strategy; use when a feature plan is requested.
Choose and run regression checks for a change or investigate a regression.
Recording a real terminal/TUI as README screenshots and an animated GIF with VHS (ttyd + Chromium + ffmpeg) — tape authoring, key-timing and path pitfalls, OCR/ffprobe self-checks, pngquant/gifsicle compression, and a rerender script. Use when a TUI README has stale screenshots or needs a "watch it work" demo.