Use when designing category hierarchies, tag systems, faceted classification, or vocabulary management for content organization. Covers flat vs hierarchical taxonomies, term relationships, multi-taxonomy content, and taxonomy APIs for headless CMS.
View on GitHubmelodic-software/claude-code-plugins
content-management-system
plugins/content-management-system/skills/taxonomy-architecture/SKILL.md
January 21, 2026
Select agents to install to:
npx add-skill https://github.com/melodic-software/claude-code-plugins/blob/main/plugins/content-management-system/skills/taxonomy-architecture/SKILL.md -a claude-code --skill taxonomy-architectureInstallation paths:
.claude/skills/taxonomy-architecture/# Taxonomy Architecture
Guidance for designing taxonomy systems for content classification, including categories, tags, and faceted navigation.
## When to Use This Skill
- Designing category hierarchies for content
- Implementing tagging systems
- Planning faceted search and filtering
- Creating controlled vocabularies
- Migrating taxonomy structures between CMS platforms
## Taxonomy Types
### Flat Taxonomy (Tags)
Best for user-generated, flexible classification.
```csharp
public class Tag
{
public Guid Id { get; set; }
public string Name { get; set; } = string.Empty;
public string Slug { get; set; } = string.Empty;
public int UsageCount { get; set; }
}
public class ContentTag
{
public Guid ContentItemId { get; set; }
public Guid TagId { get; set; }
public int Order { get; set; }
}
```
**Use Cases:**
- Blog post tags
- Product keywords
- User-generated labels
- Folksonomy systems
### Hierarchical Taxonomy (Categories)
Best for structured, controlled classification.
```csharp
public class Category
{
public Guid Id { get; set; }
public string Name { get; set; } = string.Empty;
public string Slug { get; set; } = string.Empty;
public string? Description { get; set; }
// Hierarchy
public Guid? ParentId { get; set; }
public Category? Parent { get; set; }
public List<Category> Children { get; set; } = new();
// Materialized path for efficient queries
public string Path { get; set; } = string.Empty; // e.g., "/tech/programming/csharp"
public int Depth { get; set; }
public int Order { get; set; }
}
```
**Use Cases:**
- Product categories (Electronics > Phones > Smartphones)
- Document classification
- Geographic hierarchies
- Organizational structures
### Multi-Taxonomy System
Support multiple independent taxonomies.
```csharp
public class Taxonomy
{
public Guid Id { get; set; }
public string Name { get; set; } = string.Empty;
public string Slug { get; set; } = string.