内容类型建模Skill audit-schema

内容类型建模是用于分析和设计内容类型模式的技能,涉及类型定义、字段使用和关系管理,适用于内容管理系统、数据结构和代码优化。关键词:内容管理、类型建模、数据模式、审计、软件开发。

后端开发 0 次安装 0 次浏览 更新于 3/11/2026

名称: 审计模式 描述: 审计内容模式以遵循最佳实践、保持一致性并识别潜在问题。检查命名、关系和字段使用。 参数提示: [–fix] [–severity all|high|medium] 允许工具: Read, Glob, Grep, Task, Skill

审计模式命令

分析内容模式以遵循最佳实践和识别潜在问题。

使用

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

选项

  • –fix: 为识别的问题提供修复建议
  • –severity: 按问题严重性筛选 (all|high|medium)

工作流

步骤 1: 定位模式定义

在以下位置搜索内容类型定义:

  • YAML/JSON 规范文件
  • C# 实体模型
  • 迁移文件

步骤 2: 调用技能

调用相关技能进行分析:

  • content-type-modeling - 类型模式
  • content-relationships - 关系完整性
  • dynamic-schema-design - JSON 列使用

步骤 3: 执行审计

命名约定审计:

  • 类型名称使用 PascalCase
  • 字段名称使用 camelCase
  • 一致的复数形式
  • 描述性名称

字段使用审计:

  • 必需字段有默认值或验证
  • 可选字段正确标记
  • 字段类型适用于数据
  • 无重复字段

关系审计:

  • 所有引用可解析
  • 定义反向关系
  • 无循环依赖
  • 基数正确

最佳实践审计:

  • 为可编辑内容启用版本控制
  • 存在 Slug/route 字段
  • 公开内容有 SEO 字段
  • 审计字段(创建、修改)

步骤 4: 生成报告

## 模式审计报告

### 摘要
- 内容类型: 12
- 总字段: 87
- 关系: 24
- 发现问题: 8 (3 高, 4 中, 1 低)

### 高严重性问题

#### [H1] 缺少必需验证
**类型:** Product
**字段:** price
**问题:** 必需字段无默认值
**修复:** 添加 `[Required]` 属性或默认值

#### [H2] 循环依赖
**类型:** Category ↔ Product
**问题:** 双向引用可能导致序列化问题
**修复:** 使用懒加载或 DTOs

### 中严重性问题

#### [M1] 命名不一致
**类型:** blogPost (应为 BlogPost)
**修复:** 重命名为 PascalCase

#### [M2] 缺少反向关系
**类型:** ProductVariant → Product
**问题:** 无导航属性返回 Product
**修复:** 将 `Product` 属性添加到 ProductVariant

### 低严重性问题

#### [L1] 未使用字段
**类型:** Article
**字段:** legacyId
**问题:** 字段在代码库中似乎未使用
**修复:** 如果迁移完成则删除

### 建议

1. 为 Product 内容类型添加版本控制
2. 考虑为 Event 内容类型添加 SEO 部分
3. 审查 Categories 的分类深度(当前为 5 级)

步骤 5: 应用修复(如果 --fix)

对于可修复的问题,生成修正后的模式:

// 之前
public class Product
{
    public decimal price { get; set; } // M1: 错误的大小写
}

// 之后(建议修复)
public class Product
{
    [Required]
    public decimal Price { get; set; } // 修复: PascalCase, Required
}

审计类别

类别 检查项
命名 大小写、约定、清晰度
字段 类型、验证、使用
关系 完整性、基数、循环
最佳实践 版本控制、SEO、审计跟踪
性能 索引、查询模式

相关技能

  • content-type-modeling - 内容类型模式
  • content-relationships - 关系模式
  • dynamic-schema-design - JSON 列模式