plugins/content-management-system/skills/audit-schema/SKILL.md
Audit content schema for best practices, consistency, and potential issues. Checks naming, relationships, and field usage.
npx skillsauth add melodic-software/claude-code-plugins audit-schemaInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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 patternsdevelopment
Search Milan Jovanovic's .NET blog for Clean Architecture, DDD, CQRS, EF Core, and ASP.NET Core patterns. Use for finding applicable patterns, code examples, and architecture guidance. Invoke when working with .NET projects that could benefit from proven architectural patterns.
tools
Install and configure Data API Builder (DAB) for production SQL Server MCP access with RBAC
tools
Manage MssqlMcp servers - status, rebuild, and upstream updates
tools
Developer environment setup guides for Windows, macOS, Linux, and WSL. Use when setting up development machines, installing tools, configuring environments, or following platform-specific setup guides. Covers package management, shell/terminal, code editors, AI tooling, containerization, databases, and more.