Tag Curator

~2 min read

Tag Curator

Tags drift over time: #todo vs #todos, #project vs #projects, orphan tags used on one note. This recipe is an agent that audits your taxonomy and proposes a cleanup, applying only after you approve.

Setup

Prompt

@claude Audit my tag taxonomy. Use list_tags then look for:

  1. Near-duplicates (#todo vs #todos, singular vs plural).

  2. Single-use tags that could be merged with something common or removed.

  3. Tags that should be nested (e.g., #web notes that should be #project/web).

  4. Findings already surfaced by lint.

Reply with a table of proposed changes. Don’t apply anything.

Tools the agent will use

Tool Why
list_tags Get every tag in the vault with note counts.
notes_by_tag(tag) Find every note carrying a near-duplicate, so the merge knows what to touch.
lint Reuse the existing tag-typo / untagged findings rather than re-detecting them.

To apply approved changes:

| patch_section(path, target_type: "frontmatter", target: "tags", op: "replace", content: …) | Rewrite a note’s tag list. | | apply_edits(path, edits) | For inline #tag occurrences in the body. |

Trust + safety

Example output

Action From To Notes affected
Merge #todos #todo 4
Nest #web #project/web 7
Remove (single-use) #prototype-q3 1

Reply “Apply all” → agent calls patch_section per row, you see seven new entries in the timeline pane, all revertible.