
Blog Taxonomy
Extract, suggest, and sync tags and categories for blog posts across all major CMS...
Install
npx skills add AgriciDaniel/claude-blog --skill blog-taxonomy -g -a claude-code -y- Repository
- AgriciDaniel/claude-blog2.6k
- Category
- Writing
- Updated
- 6d ago
- License
- MIT
- Context cost
- Mediumabout 2,294 tokens
- Runs scripts
- No, instructions only
What it does
Extract, suggest, and sync tags and categories for blog posts across all major CMS platforms. Supports WordPress REST API, Shopify GraphQL, Ghost Content API, Strapi REST/GraphQL, and Sanity GROQ. Generates tag suggestions from content analysis (keyword frequency, heading extraction, semantic grouping), enforces minimum post-count thresholds to prevent thin tag archives, and syncs taxonomy via authenticated API calls. Use when user says "tags", "categories", "taxonomy", "tag suggestions", "sync tags", "WordPress tags", "Shopify tags".
Blog Taxonomy
Manage tags, categories, and topic clusters across CMS platforms.
Commands
| Command | Purpose |
|---|---|
/blog taxonomy suggest <file> | Extract candidate tags and categories from content |
/blog taxonomy sync <cms> | Push taxonomy to CMS via authenticated API |
/blog taxonomy audit [directory] | Check for thin tags, orphan tags, taxonomy bloat |
Tag Suggestion Workflow
Step 1: Parse Content Structure
Read the target file and extract:
- All H2 and H3 headings (primary topic signals)
- Bold and italic phrases (emphasis signals)
- Existing frontmatter tags/categories if present
Step 2: Frequency Analysis
Scan the body text for high-frequency phrases:
- 1-word terms: minimum 4 occurrences (excluding stop words)
- 2-word phrases: minimum 3 occurrences
- 3-word phrases: minimum 2 occurrences
Exclude common non-tag words: articles, prepositions, conjunctions, pronouns.
Step 3: Semantic Grouping
Group related candidates into clusters:
- Merge singular/plural variants (keep the more common form)
- Merge hyphenated and non-hyphenated forms
- Group synonyms under the highest-frequency term
Step 4: Deduplicate and Rank
- Fuzzy match on slugified names (Levenshtein distance <= 2)
- Do not auto-merge short slugs under 5 characters using Levenshtein alone; require token overlap or manual review
- Score each candidate:
(frequency * 2) + (heading_presence * 5) + (emphasis * 1) - Return top 5-10 ranked suggestions
Output Format
## Tag Suggestions: [Post Title]
| Rank | Tag | Score | Source |
|------|-----|-------|--------|
| 1 | content-marketing | 18 | H2 + 6 mentions |
| 2 | seo-strategy | 14 | H3 + 4 mentions |
| 3 | keyword-research | 11 | 5 mentions + bold |
### Suggested Categories
- Primary: [best-fit category]
- Secondary: [optional second category]
