From content-management-system
Audits content schemas in YAML/JSON, C# models, and migrations for naming conventions, field usage, relationships, and best practices. Reports issues by severity with fix suggestions.
npx claudepluginhub melodic-software/claude-code-plugins --plugin content-management-systemThis skill is limited to using the following tools:
Analyze content schema for best practices and potential issues.
Designs CMS content type schemas with fields, parts, validation, and relationships. Supports full workshop, quick, or guided modes; outputs YAML, JSON, or C# EF Core models.
Guides content modeling best practices for Sanity and headless CMSes: schema design, content architecture, reuse, references vs. embeds, separation of concerns, taxonomies. For designing or refactoring content types.
Validates marketing content structure against built-in or custom schemas, checking required sections, word counts, placeholders, markdown formatting, and CTA consistency. Use for pre-publication checks.
Share bugs, ideas, or general feedback.
Analyze content schema for best practices and potential issues.
/cms:audit-schema
/cms:audit-schema --severity high
/cms:audit-schema --fix
Search for content type definitions in:
Invoke relevant skills for analysis:
content-type-modeling - Type patternscontent-relationships - Relationship integritydynamic-schema-design - JSON column usageNaming Convention Audit:
Field Usage Audit:
Relationship Audit:
Best Practices Audit:
## Schema Audit Report
### Summary
- Content Types: 12
- Total Fields: 87
- Relationships: 24
- Issues Found: 8 (3 high, 4 medium, 1 low)
### High Severity Issues
#### [H1] Missing Required Validation
**Type:** Product
**Field:** price
**Issue:** Required field has no default value
**Fix:** Add `[Required]` attribute or default value
#### [H2] Circular Dependency
**Types:** Category ↔ Product
**Issue:** Bidirectional reference may cause serialization issues
**Fix:** Use lazy loading or DTOs
### Medium Severity Issues
#### [M1] Inconsistent Naming
**Type:** blogPost (should be BlogPost)
**Fix:** Rename to PascalCase
#### [M2] Missing Inverse Relationship
**Type:** ProductVariant → Product
**Issue:** No navigation property back to Product
**Fix:** Add `Product` property to ProductVariant
### Low Severity Issues
#### [L1] Unused Field
**Type:** Article
**Field:** legacyId
**Issue:** Field appears unused in codebase
**Fix:** Remove if migration complete
### Recommendations
1. Add versioning to Product content type
2. Consider adding SEO part to Event content type
3. Review taxonomy depth for Categories (currently 5 levels)
For fixable issues, generate corrected schema:
// Before
public class Product
{
public decimal price { get; set; } // M1: wrong casing
}
// After (suggested fix)
public class Product
{
[Required]
public decimal Price { get; set; } // Fixed: PascalCase, Required
}
| Category | Checks |
|---|---|
| Naming | Casing, conventions, clarity |
| Fields | Types, validation, usage |
| Relationships | Integrity, cardinality, cycles |
| Best Practices | Versioning, SEO, audit trails |
| Performance | Indexing, query patterns |
content-type-modeling - Content type patternscontent-relationships - Relationship patternsdynamic-schema-design - JSON column patterns