Skip to content
Back to skills

Consistent Tagging

ASecurity

Use when tagging notes, applying tags to new or untagged notes, or cleaning up tag sprawl and inconsistency in an Obsidian vault.

  • 2 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 4, 2026
ai-agents

Works with

  • claude code
  • cli
  • mcp

Security analysis

A100/100

Scanned September 24, 2026

npx -y skills add cavi-ai/obsidian-agent --skill consistent-tagging --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Consistent Tagging?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Consistent Tagging
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/cavi-ai-consistent-tagging/badge)](https://www.skillsdirectory.com/skills/cavi-ai-consistent-tagging)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: consistent-tagging
description: Use when tagging notes, applying tags to new or untagged notes, or cleaning up tag sprawl and inconsistency in an Obsidian vault.
---

# Consistent tagging

Apply tags that fit the vault's *existing* taxonomy instead of growing sprawl.

**REQUIRED SUB-SKILL:** obsidian-agent:vault-grounding

## Process

1. **Learn the taxonomy first.** Run
   `obsidian vault=<vault> tags counts format=json`. This is your vocabulary —
   prefer it over inventing new tags.
2. **Read each note** with `obsidian vault=<vault> read path=<path>` so tags
   reflect actual content, not the title alone. Also inspect its current tags
   with `obsidian vault=<vault> tags path=<path> format=json`.
3. **Match, don't multiply.** For each note, pick 2–5 tags. Reuse an existing
   tag whenever one fits. Only propose a new tag when nothing existing covers a
   genuinely new theme — and prefer the vault's casing/format convention.
4. **Catch near-duplicates.** Treat `#project`/`#Projects`/`#project-x` family
   members deliberately; don't create a sibling that means the same thing.
5. **Propose the complete merged list.** Show existing tags, additions, and the
   final list per note with reasoning. Never drop an existing tag implicitly.
6. **Apply only after approval.** Set the complete merged list with
   `obsidian vault=<vault> property:set path=<path> name=tags value=<tags> type=list`.
   This command replaces the property value, so the final list must include the
   existing tags being retained. Immediately re-read the complete changed note
   with `obsidian vault=<vault> read path=<path>` to ensure the body and other
   frontmatter stayed intact, then re-run
   `obsidian vault=<vault> tags path=<path> format=json` to verify the final tag
   projection.

## Common mistakes

- Tagging from the title without reading the note.
- Inventing `#machine-learning` when `#ml` already has 40 uses.
- Case/plural drift creating silent duplicate tags.
- Writing tags before showing the user what you'll apply.
- Passing only new tags to `property:set` and accidentally replacing existing
  tags.

## Companion bridge (optional)

If tools from the `obsidian-vault` MCP server are available (Claude Code
shows them as `mcp__obsidian-vault__<tool>`), use them for the steps below;
otherwise follow the CLI steps above. Never require them.

- Learn the taxonomy first: `vault_tags` — replaces the `tags counts` call in step 1.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.