Skip to main content
Generalmelodic-software

audit-schema

Audit content schema for best practices, consistency, and potential issues. Checks naming, relationships, and field usage.

Stars
74
Source
melodic-software/claude-code-plugins
Updated
2026-04-07
Slug
melodic-software--claude-code-plugins--audit-schema
View on GitHubRaw SKILL.md

// install — copy + paste into any project

mkdir -p .claude/skills && curl -fsSL https://raw.githubusercontent.com/melodic-software/claude-code-plugins/HEAD/plugins/content-management-system/skills/audit-schema/SKILL.md -o .claude/skills/audit-schema.md

Drops the SKILL.md into .claude/skills/audit-schema.md. Works with Claude Code, Cursor, and any agent that loads SKILL.md files from .claude/skills/.

Audit Schema Command

Analyze content schema for best practices and potential issues.

Usage

/cms:audit-schema
/cms:audit-schema --severity high
/cms:audit-schema --fix

Options

  • --fix: Suggest fixes for identified issues
  • --severity: Filter by issue severity (all|high|medium)

Workflow

Step 1: Locate Schema Definitions

Search for content type definitions in:

  • YAML/JSON specification files
  • C# entity models
  • Migration files

Step 2: Invoke Skills

Invoke relevant skills for analysis:

  • content-type-modeling - Type patterns
  • content-relationships - Relationship integrity
  • dynamic-schema-design - JSON column usage

Step 3: Perform Audits

Naming Convention Audit:

  • PascalCase for type names
  • camelCase for field names
  • Consistent pluralization
  • Descriptive names

Field Usage Audit:

  • Required fields have defaults or validation
  • Optional fields marked correctly
  • Field types appropriate for data
  • No duplicate fields

Relationship Audit:

  • All references resolve
  • Inverse relationships defined
  • No circular dependencies
  • Cardinality correct

Best Practices Audit:

  • Versioning enabled for editable content
  • Slug/route fields present
  • SEO fields for public content
  • Audit fields (created, modified)

Step 4: Generate Report

## 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)

Step 5: Apply Fixes (if --fix)

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
}

Audit Categories

Category Checks
Naming Casing, conventions, clarity
Fields Types, validation, usage
Relationships Integrity, cardinality, cycles
Best Practices Versioning, SEO, audit trails
Performance Indexing, query patterns

Related Skills

  • content-type-modeling - Content type patterns
  • content-relationships - Relationship patterns
  • dynamic-schema-design - JSON column patterns