mcpField
D
data-model-creation

data-model-creation

github.com/tencentcloudbase数据与数据库791.0k 次安装今天更新
代码仓库

关于 data-model-creation

面向处理复杂多实体设计的编码 Agent 的 CloudBase 建模技能,指导使用 Mermaid classDiagram 规划模型并调用建模工具,强调适合先建模而非直接写 SQL 的场景。

主要功能

  1. 01Mermaid classDiagram 建模
  2. 02实体与关系规划
  3. 03检查现有模型
  4. 04CloudBase 模型创建指导
  5. 05字段与关系校验

适用场景

  1. 01设计包含多个实体的关系模型
  2. 02在实现 SQL 前准备可视化结构
  3. 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)

  1. 明确实体集合

    • 从请求中提取业务实体、所有权和关系基数。
    • 除非用户明确要求更多,否则优先选择 3-5 个核心实体。
  2. 先建模,再生成

    • 起草 Mermaid classDiagram 内容。
    • 调用建模工具前,先验证名称、字段类型和关系。
  3. 使用正确的工具

    • 读取 / 列出现有模型 → manageDataModel(action="list"|"get"|"docs")
    • 创建新模型 → modifyDataModel(兼容名称;仅用于创建)
  4. 谨慎发布

    • 优先先以未发布或草稿形式创建。
    • 发布前检查字段名称、必需约束和关系方向。

Mermaid 生成规则

命名
  • 类名 -> PascalCase
  • 字段名 -> camelCase
  • 将中文业务描述转换为清晰的英文标识符
  • 必要时,让枚举值保持易读
类型映射
业务含义Mermaid 类型
文本string
数字number
布尔值boolean
枚举x-enum
电子邮件email
电话phone
URLurl
图片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"
  • 审慎决定是否发布
  • 明确了解此工具目前不支持更新现有模型结构

最佳实践

  1. 除非用户明确能从模型优先设计中受益,否则优先使用直接 SQL。
  2. 首轮模型迭代应保持精简且易于审查。
  3. 将业务实体与仅用于实现的辅助字段分开。
  4. 发布前验证关系方向和所有权。
  5. 完成建模后,如有需要,将实际的 MySQL SQL/表工作交由 relational-database-mcp-cloudbase 处理。对于 PostgreSQL / CloudBase PG 表,则交由 postgresql-development-cloudbase 处理。

评论

支持 Markdown