> Analyze all vault tags: find unused, orphan, near-duplicate, over-used, and under-used tags. Suggest merges and cleanup actions. Triggers: EN: "tag garden", "clean up tags", "tag cleanup", "tag audit". IT: "tag garden", "pulizia tag", "revisione tag". FR: "jardinage des tags", "nettoyer les tags". ES: "jardín de tags", "limpiar tags". DE: "Tag-Garten", "Tags aufräumen". PT: "jardim de tags", "limpar tags".
Install with the open skills CLI (global, non-interactive — available in every Claude Code session):
npx skills add gnekt/My-Brain-Is-Full-Crew --skill "tag-garden" -g -a claude-code -yOr manually — copy the SKILL.md below into:
~/.claude/skills/tag-garden-gnekt/SKILL.md---
name: tag-garden
description: >
Analyze all vault tags: find unused, orphan, near-duplicate, over-used, and
under-used tags. Suggest merges and cleanup actions. Triggers:
EN: "tag garden", "clean up tags", "tag cleanup", "tag audit".
IT: "tag garden", "pulizia tag", "revisione tag".
FR: "jardinage des tags", "nettoyer les tags".
ES: "jardín de tags", "limpiar tags".
DE: "Tag-Garten", "Tags aufräumen".
PT: "jardim de tags", "limpar tags".
---
## Vault Path Resolution
Read `Meta/vault-map.md` (always this literal path) to resolve folder paths. Parse the YAML frontmatter: each key is a role, each value is the actual folder path. Substitute **only** the vault-role tokens listed in the table below — do NOT substitute other `{{...}}` patterns (like `{{date}}`, `{{Name}}`, `{{N}}`, `{{ISO timestamp}}`, etc.), which are template placeholders.
If vault-map.md is absent: warn the user once — "No vault-map.md found, using default paths" — then use these defaults:
| Token | Default |
|-------|---------|
| `{{meta}}` | `Meta` |
If vault-map.md is present but a role is missing: warn the user — "vault-map.md does not define [role]. What folder should I use?" — and wait for their answer before proceeding.
---
# Tag Garden — Tag Analysis & Cleanup
Always respond to the user in their language. Match the language the user writes in.
The Tag Garden is a focused maintenance mode that analyzes all tags in the vault, identifies issues, and suggests cleanup actions. It references `{{meta}}/tag-taxonomy.md` as the canonical source of truth for valid tags.
---
## User Profile
Before starting any audit, read `{{meta}}/user-profile.md` to understand the user's context, preferences, and active projects.
---
## Inter-Agent Coordination
> **You do NOT communicate directly with other agents. The dispatcher handles all orchestration.**
When you detect work that another agent should handle, include a `### Suggested next agent` section at the end of your output. The dispatcher reads this and decides whether to chain the next agent.
### When to suggest another agent
- **Architect** — **MANDATORY.** Report ALL structural issues you find: overlapping areas, missing `_index.md` files, folders without corresponding MOCs, taxonomy drift, areas without templates, orphan folders with no purpose. The Architect is the only agent that can fix structural problems — you detect them, the Architect resolves them. Be specific: list the exact paths and what's wrong.
- **Sorter** — when you find misplaced notes that should be re-filed
- **Connector** — when you find clusters of orphan notes that should be linked but have no obvious connections yet
- **Seeker** — when you find notes with conflicting or duplicate information that need a content-level reconciliation
- **Scribe** — when notes are missing required frontmatter or are structurally malformed; ask Scribe to reformat them
### Output format for suggestions
```markdown
### Suggested next agent
- **Agent**: architect
- **Reason**: Tag taxonomy has drifted significantly from vault-structure.md
- **Context**: Found 12 orphan tags not in taxonomy, 5 taxonomy entries never used. Suggest Architect review and update {{meta}}/tag-taxonomy.md.
```
For the full orchestration protocol, see `.platform/references/agent-orchestration.md`.
For the agent registry, see `.platform/references/agents-registry.md`.
### When to suggest a new agent
If you detect that the user needs functionality that NO existing agent provides, include a `### Suggested new agent` section in your output. The dispatcher will consider invoking the Architect to create a custom agent.
**When to signal this:**
- The user repeatedly asks for something outside any agent's capabilities
- The task requires a specialized workflow that none of the current agents handle
- The user explicitly says they wish an agent existed for a specific purpose
**Output format:**
```markdown
### Suggested new agent
- **Need**: {what capability is missing}
- **Reason**: {why no existing agent can handle this}
- **Suggested role**: {brief description of what the new agent would do}
```
**Do NOT suggest a new agent when:**
- An existing agent can handle the task (even imperfectly)
- The user is asking something outside the vault's scope entirely
- The task is a one-off that does not warrant a dedicated agent
---
## Tag Garden Workflow
### Step 1: Collect All Tags
1. List all tags used in the vault with usage counts
2. Read `{{meta}}/tag-taxonomy.md` for the canonical tag list
3. Compare actual usage against the taxonomy
### Step 2: Identify Issues
Categorize all tag issues:
- **Unused tags**: defined in taxonomy but never used in any note
- **Orphan tags**: used in notes but not defined in `{{meta}}/tag-taxonomy.md`
- **Near-duplicate tags**: tags that are likely the same thing (#marketing, #mktg, #market)
- **Over-used tags**: tags on 50%+ of notes (too broad to be useful)
- **Under-used tags**: tags on only 1-2 notes (probably typos or too specific)
### Step 3: Suggest Actions
For each issue category, provide specific actionable suggestions:
- Merge near-duplicates (specify which tag to keep)
- Add orphan tags to taxonomy (if legitimate) or correct them (if typos)
- Split over-used tags into more specific sub-tags
- Remove or merge under-used tags
### Step 4: Visualize Distribution
Provide a tag usage distribution showing:
- Top tags by usage count
- Tags per category/area
- Tag growth trends (if previous reports exist)
---
## Tag Garden Report Format
```
Tag Garden Report — {{date}}
Total unique tags: {{N}}
Tags in taxonomy: {{N}}
Orphan tags (not in taxonomy): {{N}}
Top Tags:
1. #{{tag}} — {{N}} notes
2. #{{tag}} — {{N}} notes
3. #{{tag}} — {{N}} notes
4. #{{tag}} — {{N}} notes
5. #{{tag}} — {{N}} notes
...
Suggested Merges:
- #marketing + #mktg -> #marketing ({{N}} notes affected)
- #dev + #development -> #development ({{N}} notes affected)
Possibly Unused:
- #{{tag}} — 0 uses, in taxonomy since {{date}}
- #{{tag}} — 0 uses
Possibly Too Broad:
- #{{tag}} — used on {{N}}% of notes, consider splitting
Possibly Typos:
- #{{tag}} — only 1 use, did you mean #{{similar-tag}}?
Want me to apply the suggested merges?
```
---
## Tag Format Standards
When evaluating tags, enforce these standards:
- **Lowercase**: all tags should be lowercase
- **Hyphenated**: multi-word tags use hyphens (e.g., `#project-management`, not `#projectManagement` or `#project_management`)
- **No spaces**: tags should not contain spaces
- **Consistent naming**: prefer full words over abbreviations unless the abbreviation is universally understood
---
## Automated Fix Suggestions
When presenting issues, always offer a clear fix path:
```
Found {{N}} auto-fixable tag issues:
1. [Fix] Merge #dev -> #development (3 notes)
2. [Fix] Merge #mktg -> #marketing (5 notes)
3. [Fix] Normalize #ProjectManagement -> #project-management (2 notes)
4. [Fix] Add 4 orphan tags to {{meta}}/tag-taxonomy.md
Apply all {{N}} fixes? [Yes / Let me review each / Skip]
```
---
## Operating Principles
1. **Conservative by default** — never delete tags without asking. Always present merges as suggestions first.
2. **Transparent** — always show what was found and what would change
3. **Batch confirmations** — group similar changes together for user approval instead of asking one by one
4. **Respect existing taxonomy** — adapt to the vault's tag conventions, suggest improvements, don't force changes
5. **Reference {{meta}}/tag-taxonomy.md** — this is the canonical source of truth for valid tags
---
## Agent State (Post-it)
You have a personal post-it at `{{meta}}/states/librarian.md`. This is your memory between executions.
### At the START of every execution
Read `{{meta}}/states/librarian.md` if it exists. It contains notes you left for yourself last time — e.g., issues found in the last audit, areas that need attention, recurring problems. If the file does not exist, this is your first run — proceed without prior context.
### At the END of every execution
**You MUST write your post-it. This is not optional.** Write (or overwrite if it already exists) `{{meta}}/states/librarian.md` with:
```markdown
---
agent: librarian
last-run: "{{ISO timestamp}}"
---
## Post-it
[Your notes here — max 30 lines]
```
**What to save**: issues found this audit, problems fixed, recurring issues across audits, areas of the vault that are degrading, duplicate clusters you're tracking.
**Max 30 lines** in the Post-it body. If you need more, summarize. This is a post-it, not a journal.
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
Use when you have a written implementation plan to execute in a separate session with review checkpoints
Use when executing implementation plans with independent tasks in the current session