skills/zk/SKILL.md
Use when the user asks to "search my notes", "find in knowledge base", "look up my docs", "create a note", "remember this", "what do I know about", "find related notes", "find orphan notes", "list tags", "daily note", "quick note", "maintain knowledge base", "search zk", "search zettelkasten", "browse my vault", "check my notes on", "edit my document", or when interacting with the zk Zettelkasten knowledge base.
npx skillsauth add raphi011/skills zkInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Knowledge base managed with zk CLI. ZK_NOTEBOOK_DIR should be set globally — no need to pass --notebook-dir.
Every directory has an index.md listing its contents. Navigate top-down:
$ZK_NOTEBOOK_DIR/index.md to see top-level directoriesindex.md of the relevant subdirectory to find notesindex.md of the target directorytags (YAML list) + date (YYYY-MM-DD)[[note-name]]Reuse existing tags. Before tagging a note, run zk tag list --sort note-count- and pick from existing tags. Only create a new tag when nothing suitable exists.
go, cli-tool, incident)go not go-testingrepo:owner/repo# Full-text search
zk list --match "query terms" --format medium --limit 10
# Boolean: "go OR rust", "go NOT generics", "\"exact phrase\"", "title: kubernetes", "edi*"
# By tag (AND: "t1, t2" | OR: "t1 OR t2" | NOT: "NOT done" | Glob: "program*")
zk list --tag "programming, go" --format medium --limit 10
# Browse directory
zk list notes/programming/ --sort title --format oneline
# List all tags
zk tag list --sort note-count-
# Links & relations
zk list --linked-by notes/path/note.md # outgoing links
zk list --link-to notes/path/note.md # backlinks
zk list --related notes/path/note.md # shared links
# Date filtering (natural language: "last tuesday", "Feb 3", "2024", "last two weeks")
zk list --modified-after "last week" --sort modified-
# Read a note
zk list --match "exact title" -Me --format full --limit 1
Or read files directly at their path.
printf '%s' "Content" | zk new \
--title "Note Title" --print-path --no-input --interactive \
<target-directory>/
After creation, edit the file to set tags. Check zk tag list --sort note-count- first and reuse existing tags.
zk new --no-input --print-path daily/
Won't overwrite if today's entry exists.
Read the file, modify with Edit tool. No special zk command needed.
# Orphan notes (no links pointing to them)
zk list --orphan --sort modified- --format oneline --limit 20
# Untagged notes
zk list --tagless --sort modified- --format oneline --limit 20
# Missing backlinks
zk list --missing-backlink --format oneline --limit 20
# Short/flimsy notes
zk list --format '{{word-count}}\t{{title}}\t{{path}}' --sort word-count --limit 20
Vault health check: run orphan + tagless + tag list checks, report findings, suggest fixes.
| Format | Use |
|--------|-----|
| oneline | Browsing (title + path) |
| medium | Search results (title + lead) |
| full | Reading a note |
| json / jsonl | Programmatic processing |
| Custom | --format "{{title}} \| {{join tags ', '}}" |
Sort: created, modified, path, title, random, word-count. Suffix: + asc, - desc.
ZK_NOTEBOOK_DIR env var is set globally — no need for --notebook-dir--no-input prevents interactive prompts that hang Claude Code--print-path outputs path only, no editor launch--interactive on zk new means "read stdin", NOT "launch fzf"zk new daily/ uses the daily group configtags: [])cd $ZK_NOTEBOOK_DIR && git add -A && git commit -m "latest" && git pushdevelopment
Create polished, professional reveal.js presentations. Use when the user asks to create slides, a presentation, a deck, or a slideshow. Supports themes, multi-column layouts, code highlighting, animations, speaker notes, and custom styling. Generates HTML + CSS with no build step required.
tools
Use when writing Tailwind CSS v4 code, configuring Tailwind v4 with @theme or @variant directives, migrating from Tailwind v3 to v4, setting up CSS-native config (no tailwind.config.js), defining semantic color tokens, implementing dark mode with class-based @variant, creating design system tokens, or styling components with utility classes. Covers @import "tailwindcss", @theme blocks, @variant, @layer, CSS custom properties for colors, and common layout/component patterns.
development
Use whenever working with SurrealDB — writing queries, defining schemas, configuring indexes, debugging errors, handling record IDs, using the Go SDK, or discussing SurrealDB architecture. Activate on any mention of SurrealDB, SurrealQL, HNSW indexes, or surreal-related Go SDK code.
development
Use when visually verifying terminal UI rendering, testing TUI interactions, debugging Bubbletea display issues, or when asked to "test the TUI", "screenshot the terminal", "check what the TUI looks like", or "visually verify". Requires Kitty terminal with allow_remote_control and macOS for screencapture.