obsidian-plugin/skills/vault-tags/SKILL.md
Emoji-prefixed tag taxonomy for Obsidian vaults. Use when consolidating drifted tags, collapsing bare emoji placeholders, or reducing over-tagging.
npx skillsauth add laurigates/claude-plugins vault-tagsInstall 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.
| Use this skill when... | Use the alternative instead when... |
|---|---|
| Consolidating drifted/duplicate tags (🔒/security vs 🔍/security) across many notes | Setting one property on one live note via the running CLI — use properties |
| Collapsing bare emoji placeholder tags like 📝 or 🌱 | Cleaning the surrounding YAML structure (null entries, missing blocks) — use vault-frontmatter |
| Reducing over-tagged notes to 2-3 canonical tags | Grouping tag-aligned notes into a hub MOC — use vault-mocs |
A two-level tag scheme built around emoji-prefixed categories. Consistent tagging enables reliable search (tag:#🛠️/neovim), Dataview queries, and MOC coverage analysis.
| Emoji | Category | Examples |
|-------|----------|----------|
| 🛠️ | Development tools | 🛠️/neovim, 🛠️/git, 🛠️/terminal |
| 💻 | Programming languages | 💻/python, 💻/rust, 💻/typescript |
| ☁️ | Systems & infrastructure | ☁️/kubernetes, ☁️/docker, ☁️/linux |
| 🔌 | Hardware & IoT | 🔌/esp32, 🔌/arduino, 🔌/electronics |
| 🏠 | Home automation | 🏠/home-assistant, 🏠/esphome |
| 🎮 | Entertainment | 🎮/games, 🎮/tabletop |
| 🤖 | AI & ML | 🤖/comfyui, 🤖/llm, 🤖/ai-tools |
| Tag | Meaning |
|-----|---------|
| 📝/moc | Map of Content |
| 📝/notes | General note |
| 📝/collection | Resource collection |
| 📝/guide | How-to guide |
| 📋/reference | Quick reference material |
| 📋/commands | Command-line reference |
| 📅/daily | Daily note |
When auditing reveals duplicate or drifted tags, apply these rewrites:
| Drift / Legacy | Canonical | Reason |
|----------------|-----------|--------|
| 🗺️ | 📝/moc | Old MOC marker |
| 🔒/security | 🔍/security | Standardize on search emoji |
| 🎨/comfyui | 🤖/comfyui | ComfyUI lives under AI |
| gaming | 🎮/games | Flat → emoji-prefixed |
| neovim (flat) | 🛠️/neovim | Flat → emoji-prefixed |
| softwaredevelopment | 💻/development | Concatenated → slash |
| project / projects | 💡/project | Pick one plural form |
| Hardware (title-cased) | 🔌/hardware | Lowercase, emoji-prefixed |
The tags 📝, 🌱, 📝/🌱 are no-ops left over from unfinished template rendering. Treatment:
More than 5 tags suggests the note mixes topics and should be split, or that tags are being used as keywords. Bring it down to 2–3 by asking "what single category is this note about?" — the rest go in the body as text.
# Notes with a bare 📝 or 🌱 tag on its own line
rg -l '^\s*-\s+(📝|🌱|📝/🌱)\s*$' --glob '*.md'
# Notes with competing security prefixes
rg -l '🔒/security' --glob '*.md'
rg -l '🔍/security' --glob '*.md'
# Flat (non-emoji-prefix) tags
rg '^\s*-\s+[a-z][a-z0-9_-]+\s*$' --glob '*.md'
For each note, use Edit with a small old_string / new_string that touches only the affected tag lines. Preserve indentation and the rest of the frontmatter block exactly.
When renaming a tag across the whole vault, batch into one commit titled fix(tags): consolidate 🔒/security → 🔍/security (N notes).
AI tools → 🤖/ai-tools).🛠️🔌/esp32 — pick one).tools
Scaffold a new ComfyUI custom-node repo (pyproject, CI, release-please, vitest+pytest, JS extension skeleton) in the picker/gesture vein. Use when bootstrapping or init-ing a comfyui node pack.
tools
Orchestrate a ComfyUI node pack from idea to registry: scaffold, create + seed the repo, open the gitops adoption PR. Use when releasing or spinning up a new comfyui node pack.
testing
macOS EndpointSecurity/EDR high CPU & battery drain. Use when Kandji ESF / XProtect pegs a core; trace the exec storm via powermetrics + eslogger.
development
odiff pixel-by-pixel image diffing. Use when comparing screenshots, detecting visual regressions, diffing before/after PNGs, asserting golden images.