关于 data-model-creation
面向处理复杂多实体设计的编码 Agent 的 CloudBase 建模技能,指导使用 Mermaid classDiagram 规划模型并调用建模工具,强调适合先建模而非直接写 SQL 的场景。
主要功能
- 01Mermaid classDiagram 建模
- 02实体与关系规划
- 03检查现有模型
- 04CloudBase 模型创建指导
- 05字段与关系校验
适用场景
- 01设计包含多个实体的关系模型
- 02在实现 SQL 前准备可视化结构
- 03变更前检查现有 CloudBase 模型
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ tencentcloudbase/ skills --skill data-model-creation安装后在 Claude Code 中输入/data-model-creation确认已加载。
附带文件LICENSE.md
详细介绍
同级技能(仅本地)
同级 CloudBase 技能与此技能一同提供。请使用 ../auth-tool-cloudbase/SKILL.md 这类本地相对路径。
如果此环境中缺少所引用的同级技能文件,请让用户安装完整的 CloudBase 插件(或缺失的技能)。不要通过 HTTP 将远程技能或协议 Markdown 获取到 Agent 上下文中。
数据模型创建
激活约定
以下情况优先使用此技能
- 用户明确需要 Mermaid
classDiagram建模。 - 任务需要复杂的多实体关系设计、可视化 ER 风格输出,或生成数据模型结构,而不是直接编写 SQL。
- 你需要通过专用建模工具创建 CloudBase 数据模型,或者需要在规划后续更改前检查现有模型。
编写代码前请先阅读
- 请求提及数据模型、ER 图、Mermaid、关系图或企业级架构设计。
- 用户希望复用或更新现有的已发布模型。
此外还需阅读
- 直接使用 MySQL SQL 创建或更改架构 →
../relational-database-mcp-cloudbase/SKILL.md - PostgreSQL / CloudBase PG 架构工作 →
../postgresql-development-cloudbase/SKILL.md - 架构工作前需要更全面的功能规划 →
../spec-workflow/SKILL.md
请勿用于
- 简单的
CREATE TABLE、ALTER TABLE或 CRUD 任务。 - 文档数据库集合设计。
- 没有建模需求的纯前端数据结构讨论。
常见错误 / 注意事项
- 仅需要一两条 SQL 语句的任务,却使用 Mermaid 建模。
- 在同一模型中混合 SQL 表设计与 NoSQL 集合设计。
- 未先确定实体边界和所有权关系就生成图表。
- 未验证生成的字段和关系就发布新模型。
最简检查清单
- 确认确实需要 Mermaid 建模。
- 先列出核心实体及关系。
- 确定这是新模型还是更新现有模型。
- 除非用户明确需要大型企业级架构,否则应保持初始模型精简。
概述
此技能是高级建模路径,不是数据库工作的默认路径。
- 对于大多数 MySQL 数据库任务,请使用
relational-database-mcp-cloudbase并直接编写 SQL。如果任务提到 PostgreSQL、CloudBase PG、PG 模式、app.rdb()、queryPgDatabase、managePgDatabase或 RLS,则改用postgresql-development-cloudbase。 - 仅在图表驱动的建模能带来价值时使用此技能。
快速路由
以下情况请改用 relational-database-mcp-cloudbase
- 需要 MySQL
CREATE TABLE、ALTER TABLE、INSERT、UPDATE、DELETE或SELECT - 架构规模较小且已明确
- 用户从未要求可视化模型
- 任务未提及 PostgreSQL / CloudBase PG / PG 模式 /
app.rdb()/queryPgDatabase/managePgDatabase/ RLS
以下情况请使用此技能
- 需要多实体关系建模
- 需要 Mermaid
classDiagram输出 - 需要生成模型结构和文档
- 需要在 SQL 实现前进行清晰的建模
如何使用此技能(适用于编码 Agent)
-
明确实体集合
- 从请求中提取业务实体、所有权和关系基数。
- 除非用户明确要求更多,否则优先选择 3-5 个核心实体。
-
先建模,再生成
- 起草 Mermaid
classDiagram内容。 - 调用建模工具前,先验证名称、字段类型和关系。
- 起草 Mermaid
-
使用正确的工具
- 读取 / 列出现有模型 →
manageDataModel(action="list"|"get"|"docs") - 创建新模型 →
modifyDataModel(兼容名称;仅用于创建)
- 读取 / 列出现有模型 →
-
谨慎发布
- 优先先以未发布或草稿形式创建。
- 发布前检查字段名称、必需约束和关系方向。
Mermaid 生成规则
命名
- 类名 -> PascalCase
- 字段名 -> camelCase
- 将中文业务描述转换为清晰的英文标识符
- 必要时,让枚举值保持易读
类型映射
| 业务含义 | Mermaid 类型 |
|---|---|
| 文本 | string |
| 数字 | number |
| 布尔值 | boolean |
| 枚举 | x-enum |
| 电子邮件 | email |
| 电话 | phone |
| URL | url |
| 图片 | x-image |
| 文件 | x-file |
| 富文本 | x-rtf |
| 日期 | date |
| 日期时间 | datetime |
| 地区 | x-area-code |
| 位置 | x-location |
| 数组 | string[] 或其他明确的数组类型 |
必需的结构约定
- 仅对用户明确标记为必填的字段使用
required()。 - 仅在明确需要唯一性时使用
unique()。 - 使用
display_field()标记面向用户的标签字段。 - 为重要字段添加简洁的
<<description>>说明。 - 关系标签应对应实际字段名,而不是含糊的业务描述。
最简示例
classDiagram
class User {
username: string <<Username>>
email: email <<Email>>
display_field() "username"
required() ["username", "email"]
unique() ["username", "email"]
}
class Order {
orderNo: string <<Order Number>>
totalAmount: number <<Total Amount>>
userId: string <<User ID>>
display_field() "orderNo"
unique() ["orderNo"]
}
Order "n" --> "1" User : userId
%% Class naming
note for User "用户"
note for Order "订单"
工具使用指南
读取现有模型
在创建相关模型、检查命名一致性或评估现有模型的定义方式之前,先使用以下工具:
manageDataModel(action="list")manageDataModel(action="get", name="ModelName")manageDataModel(action="docs", name="ModelName")
创建模型
使用 modifyDataModel,并提供:
- 完整的
mermaidDiagram - 当需要创建新模型时,设置
action="create" - 审慎决定是否发布
- 明确了解此工具目前不支持更新现有模型结构
最佳实践
- 除非用户明确能从模型优先设计中受益,否则优先使用直接 SQL。
- 首轮模型迭代应保持精简且易于审查。
- 将业务实体与仅用于实现的辅助字段分开。
- 发布前验证关系方向和所有权。
- 完成建模后,如有需要,将实际的 MySQL SQL/表工作交由
relational-database-mcp-cloudbase处理。对于 PostgreSQL / CloudBase PG 表,则交由postgresql-development-cloudbase处理。
评论
支持 Markdown