Skip to content
Back to skills

Tag Management

ASecurity

**Purpose:** Analyze, refactor, and maintain tags across the vault according to the official taxonomy. **Taxonomy Reference:** [[.claude/rules/tag-taxonomy.md]] ---

  • 52 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 9, 2026
code-qualitypythongobashawsrefactoringgitapisecuritydocumentation

Works with

  • api

Security analysis

A100/100

Scanned September 9, 2026

npx -y skills add DavidROliverBA/ArchitectKB --skill tag-management --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Tag Management?

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

Security grade badge for Tag Management
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/davidroliverba-tag-management/badge)](https://www.skillsdirectory.com/skills/davidroliverba-tag-management)

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
# Tag Management Skill

**Purpose:** Analyze, refactor, and maintain tags across the vault according to the official taxonomy.

**Taxonomy Reference:** [[.claude/rules/tag-taxonomy.md]]

---

## Commands

### `/tag-analyze [scope]`

Analyze tag quality and compliance.

**Scopes:**

- `/tag-analyze` - Current note (if applicable)
- `/tag-analyze vault` - Full vault analysis
- `/tag-analyze <path>` - Specific file or folder

**Analysis Includes:**

1. Tag coverage (has tags vs no tags)
2. Hierarchical compliance (proper prefixes)
3. Case violations (uppercase, mixed case)
4. Inline prefix violations (`#` in frontmatter)
5. Template variable contamination
6. Flat tag orphans (no hierarchy)
7. Minimum tag requirements by note type
8. Tag recommendations

**Output:**

- Summary of violations
- Specific issues found
- Suggested fixes

---

### `/tag-refactor [scope]`

Refactor tags to follow official taxonomy.

**Scopes:**

- `/tag-refactor` - Current note
- `/tag-refactor vault` - Full vault refactor
- `/tag-refactor <path>` - Specific file or folder
- `/tag-refactor --dry-run` - Preview changes without applying

**Refactoring Rules:**

1. **Case Normalization**
   - `ADR` → `type/adr`
   - `MROSystem` → `technology/mroPlatform`
   - `AWS` → `technology/aws`
   - All tags to lowercase

2. **Inline Prefix Removal**
   - `#activity/architecture` → `activity/architecture`
   - `#technology/aws` → `technology/aws`

3. **Flat to Hierarchical**
   - `mroSystem` → `technology/mroPlatform`
   - `aws` → `technology/aws`
   - `dataPlatform` → `project/dataPlatform`
   - `architecture` → `activity/architecture`
   - `integration` → `domain/integration` or `activity/integration` (context-dependent)

4. **Template Variable Removal**
   - Delete: `{{3-5 relevant tags}}`, `{{project|lower}}`, etc.

5. **Capitalized Prefixes**
   - `Project/ModernizationProject` → `project/modernization`
   - `Technology/AWS` → `technology/aws`

**Safety:**

- Always backup before vault-wide refactoring
- Preview changes with `--dry-run` first
- Commit changes to git before refactoring

---

### `/tag-suggest <note>`

Suggest appropriate tags for a note based on content analysis.

**Process:**

1. Read note frontmatter and content
2. Analyze note type (`type:` field)
3. Extract key terms and context
4. Suggest tags from approved taxonomy

**Example:**

```bash
/tag-suggest "ADR - AIIncidentProcessor - Bedrock.md"
```

**Output:**

```yaml
# Current tags:
tags: [ADR, activity/architecture, AWS, Bedrock]

# Suggested tags (normalized):
tags: [
  type/adr,
  activity/architecture,
  technology/aws,
  technology/bedrock,
  project/aiProcessor,
  domain/cloud,
  domain/security
]

# Changes:
- Remove: ADR (flat) → Add: type/adr
- Normalize: AWS → technology/aws
- Normalize: Bedrock → technology/bedrock
- Add missing: project/aiProcessor, domain/cloud, domain/security
```

---

### `/tag-find-violations [type]`

Find specific tag violations across the vault.

**Types:**

- `/tag-find-violations case` - Case violations (uppercase, mixed case)
- `/tag-find-violations inline` - Inline `#` prefix in frontmatter
- `/tag-find-violations flat` - Orphan flat tags (no hierarchy)
- `/tag-find-violations template` - Template variable contamination
- `/tag-find-violations missing` - Notes missing required tags
- `/tag-find-violations all` - All violations (default)

**Output:**

- List of files with violations
- Specific violations per file
- Count summary

---

### `/tag-migrate <old> <new>`

Batch rename a tag across the entire vault.

**Examples:**

```bash
/tag-migrate "ADR" "type/adr"
/tag-migrate "AWS" "technology/aws"
/tag-migrate "project/modernization" "project/modernization-legacy"
```

**Process:**

1. Find all notes with `<old>` tag
2. Replace with `<new>` tag
3. Update frontmatter YAML
4. Report changes made

**Safety:**

- Shows preview before applying
- Requires confirmation for vault-wide changes

---

## Implementation Guide

### Tag Refactoring Process

When implementing `/tag-refactor`:

1. **Read note frontmatter**

   ```python
   import re, yaml

   with open(file_path) as f:
       content = f.read()

   # Extract frontmatter
   match = re.match(r'^---\n(.*?)\n---', content, re.DOTALL)
   frontmatter = yaml.safe_load(match.group(1))
   tags = frontmatter.get('tags', [])
   ```

2. **Apply refactoring rules**

   ```python
   refactored_tags = []

   for tag in tags:
       # Remove inline prefix
       tag = tag.lstrip('#')

       # Apply migrations
       tag = apply_migrations(tag, note_type, note_content)

       # Normalize case
       tag = tag.lower()

       # Skip template variables
       if '{{' in tag:
           continue

       refactored_tags.append(tag)
   ```

3. **Contextual flat tag resolution**

   ```python
   def apply_migrations(tag, note_type, content):
       # Simple mappings
       FLAT_TO_HIERARCHICAL = {
           'adr': 'type/adr',
           'mroSystem': 'technology/mroPlatform',
           'aws': 'technology/aws',
           'ai': 'technology/ai',
           'dataPlatform': 'project/dataPlatform',
           'modernization': 'project/modernization',
           'myProject': 'project/myProject',
           'moc': 'moc',  # Approved special tag
           'daily': 'daily',  # Approved special tag
       }

       # Context-dependent
       if tag == 'architecture':
           # Check if it's an activity or domain
           if 'decision' in content.lower() or note_type == 'Adr':
               return 'activity/architecture'
           else:
               return 'domain/engineering'

       if tag == 'integration':
           if 'integration pattern' in content.lower():
               return 'activity/integration'
           else:
               return 'domain/integration'

       # Direct mapping
       if tag in FLAT_TO_HIERARCHICAL:
           return FLAT_TO_HIERARCHICAL[tag]

       # Already hierarchical - normalize case only
       return tag
   ```

4. **Update frontmatter**

   ```python
   frontmatter['tags'] = refactored_tags

   # Rebuild YAML
   new_frontmatter = yaml.dump(frontmatter, sort_keys=False)

   # Replace in file
   new_content = re.sub(
       r'^---\n.*?\n---',
       f'---\n{new_frontmatter}---',
       content,
       count=1,
       flags=re.DOTALL
   )

   with open(file_path, 'w') as f:
       f.write(new_content)
   ```

---

## Tag Migration Reference

### Common Flat Tag Migrations

| Old Tag         | New Tag                   | Context               |
| --------------- | ------------------------- | --------------------- |
| `ADR`           | `type/adr`                | Always                |
| `MROSystem`     | `technology/mroPlatform`  | Always                |
| `AWS`           | `technology/aws`          | Always                |
| `AI`            | `technology/ai`           | Always                |
| `MRO`           | `technology/mro-software` | Technology context    |
| `mroSystem`     | `technology/mroPlatform`  | Always                |
| `aws`           | `technology/aws`          | Always                |
| `dataPlatform`  | `project/dataPlatform`    | Always                |
| `modernization` | `project/modernization`   | Always                |
| `myProject`     | `project/myProject`       | Always                |
| `ecp`           | `project/ecp`             | Always                |
| `architecture`  | `activity/architecture`   | Activity context      |
| `architecture`  | `domain/engineering`      | Domain context (rare) |
| `integration`   | `activity/integration`    | Activity context      |
| `integration`   | `domain/integration`      | Domain context        |
| `security`      | `domain/security`         | Always                |
| `governance`    | `activity/governance`     | Always                |
| `documentation` | `activity/documentation`  | Always                |

### Capitalized Hierarchy Migrations

| Old Tag                                   | New Tag                  |
| ----------------------------------------- | ------------------------ |
| `Project/ModernizationProject`            | `project/modernization`  |
| `Project/LegacyEngineeringSystem-Futures` | `project/modernization`  |
| `Technology/MROPlatform`                  | `technology/mroPlatform` |
| `Technology/AWS`                          | `technology/aws`         |
| `Domain/Engineering-Systems`              | `domain/engineering`     |

### Inline Prefix Removal

| Old Tag                  | New Tag                 |
| ------------------------ | ----------------------- |
| `#activity/architecture` | `activity/architecture` |
| `#technology/aws`        | `technology/aws`        |
| `#project/myProject`     | `project/myProject`     |

---

## Usage Examples

### Example 1: Analyze Current Note

```bash
$ /tag-analyze

Analyzing: ADR - AIIncidentProcessor - Bedrock.md

Current tags: [ADR, activity/architecture, AWS, Bedrock, aiProcessor]

Issues Found:
✗ Flat tag: ADR (should be type/adr)
✗ Case violation: AWS (should be technology/aws)
✗ Flat tag: Bedrock (should be technology/bedrock)
✗ Flat tag: aiProcessor (should be project/aiProcessor)
✗ Missing minimum tags: Only 5 tags, ADRs need 4-7 with required hierarchies

Missing Required Hierarchies:
✗ No domain/ tag (required for ADRs)

Suggestions:
+ Add: type/adr (artifact type)
+ Add: technology/aws (platform)
+ Add: technology/bedrock (AI service)
+ Add: project/aiProcessor (project context)
+ Add: domain/cloud (business area)
+ Add: domain/security (security considerations)

Recommended tags:
tags: [type/adr, activity/architecture, technology/aws, technology/bedrock, project/aiProcessor, domain/cloud, domain/security]
```

### Example 2: Refactor Vault (Dry Run)

```bash
$ /tag-refactor vault --dry-run

Vault Tag Refactoring Preview
==============================

Analyzing 2,535 markdown files...

Summary:
- 732 files with tags to refactor
- 1,148 files with no tags (skipped)
- 655 files with empty tags [] (skipped)

Changes Preview (first 10):

1. ADR - AIIncidentProcessor - Bedrock.md
   - Remove: ADR → Add: type/adr
   - Normalize: AWS → technology/aws
   - Normalize: Bedrock → technology/bedrock
   - Normalize: aiProcessor → project/aiProcessor

2. Project - MyDataIntegration.md
   - Remove: Project → Add: project/myProject
   - Normalize: SAP → technology/sap
   - Add recommended: domain/data, domain/integration

3. System - DataPlatform.md
   - Remove inline: #activity/architecture → activity/architecture
   - Normalize: DataPlatform → type/system
   - Add missing: criticality/critical

...

Total Changes:
- 124 case normalizations
- 67 flat to hierarchical conversions
- 10 inline prefix removals
- 11 template variable deletions
- 203 recommended tags to add

Run without --dry-run to apply changes.
Recommend: git commit current state first.
```

### Example 3: Find Specific Violations

```bash
$ /tag-find-violations case

Finding case violations across vault...

Found 47 files with case violations:

1. ADR - SAP to AWS Connectivity.md
   - ADR (should be lowercase in hierarchy)
   - AWS (should be lowercase in hierarchy)

2. Project - ModernizationProject.md
   - MROPlatform (should be lowercase)
   - SAP (should be lowercase)

3. Meeting - 2026-01-10 ECP Core.md
   - ECP (should be lowercase or hierarchical)

...

Summary:
- 24 files with uppercase flat tags
- 18 files with mixed case in hierarchies
- 5 files with capitalized prefixes (Project/, Technology/)

Run /tag-refactor to fix these violations.
```

### Example 4: Migrate Specific Tag

```bash
$ /tag-migrate "ADR" "type/adr"

Migrating tag: ADR → type/adr

Found 41 files with tag "ADR":
1. ADR - API Gateway Selection.md
2. ADR - AIIncidentProcessor - AI Services.md
3. ADR - AIIncidentProcessor - Bedrock.md
...

Preview changes? [y/N]: y

Changes to apply:
- Replace "ADR" with "type/adr" in 41 files
- Preserve all other tags
- Update frontmatter YAML

Apply changes? [y/N]: y

✓ Updated 41 files successfully
✓ No errors

Summary:
- 41 files updated
- 0 files skipped
- 0 errors
```

---

## Best Practices

1. **Always run --dry-run first** - Preview changes before applying
2. **Commit to git before refactoring** - Easy rollback if needed
3. **Refactor incrementally** - Start with specific violations, then full vault
4. **Review suggestions** - AI suggestions may need manual adjustment
5. **Use /tag-suggest liberally** - Get recommendations for new notes
6. **Run quarterly audits** - Use `/tag-analyze vault` to monitor quality

---

## Integration with Other Skills

This skill works well with:

- `/quality-report` - Includes tag analysis
- `/vault-maintenance` - Includes tag health checks
- `/adr` - Suggests tags when creating ADRs
- `/project-status` - Analyzes project tags

---

## References

- [[.claude/rules/tag-taxonomy.md]] - Official taxonomy (authoritative)
- [[.claude/vault-conventions.md]] - Tag syntax and conventions
- [[.claude/rules/quality-patterns.md]] - Quality patterns and tag guidance

---

**Sources:**

- [Knowledge Base Taxonomy: 10 Proven Design Principles](https://www.matrixflows.com/blog/10-best-practices-for-creating-taxonomy-for-your-company-knowledge-base)
- [Taxonomy 101: Definition and Best Practices - Nielsen Norman Group](https://www.nngroup.com/articles/taxonomy-101/)
- [Personal Knowledge Management at Scale](https://www.dsebastien.net/personal-knowledge-management-at-scale-analyzing-8-000-notes-and-64-000-links/)

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.