mcpField
S
specsfy-specialist-data-modeling

specsfy-specialist-data-modeling

github.com/promovaweb数据与数据库87510 次安装1 周前更新
代码仓库

关于 specsfy-specialist-data-modeling

用于分析和演进产品持久化数据模型的技能,面向编写规格或修改数据库结构的项目团队。它要求先检查现有代码与迁移,再记录实体、关系及数据规则,不凭空指定技术或字段。

主要功能

  1. 01从代码识别实体与关系
  2. 02记录字段和生命周期规则
  3. 03检查一致性、保留与迁移
  4. 04推导数据操作和授权场景
  5. 05要求验证迁移结果

适用场景

  1. 01为新规格梳理持久化数据
  2. 02修改表、模型或迁移
  3. 03检查数据生命周期与删除规则

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/promovaweb/specsfy --skill specsfy-specialist-data-modeling

安装后在 Claude Code 中输入/specsfy-specialist-data-modeling确认已加载。

附带文件agents/openai.yamlreferences/standards.md

详细介绍

对产品数据建模

使用此技能来理解和演进持久化数据,不要凭假设选择数据库或库。在提出更改前,请阅读技术栈、当前系统、迁移、架构、模型、契约和测试。

工作

  1. 识别代码中观察到的实体、它们的作用和关系。
  2. 记录字段、类型、必填性、来源、生命周期,以及谁可以查询或更改每项信息。
  3. 在适用时,描述唯一性、一致性、保留、删除、历史记录和迁移。
  4. 更新规范的数据部分,并将已确认的答案交给 $specsfy-aux-database 和 .specsfy/DATABASE.md。
  5. 推导创建、读取、更新、删除、授权和无效数据场景。实现由检测到的数据库专家负责。

不要臆造字段、关系或技术。如果当前系统无法给出答案,请由用户确认产品需要保存的内容。

适用场景

  • 修改表、架构、模型、迁移或持久化契约时使用。
  • 创建规范前梳理关系和生命周期时也使用。
  • 不要在缺乏项目数据的情况下用它来选择数据库库。

流程

  1. 阅读现有的技术栈、迁移、架构、模型和测试。
  2. 区分观察到的实体、关系、字段和状态。
  3. 记录唯一性、保留、删除和历史记录规则。
  4. 将提案与现有契约和查询进行比较。
  5. 将确认结果交给项目的数据库技能。
  6. 要求任何与数据库相关的更改都包含一个版本控制的 [MIGRATION] 任务,并在测试数据库中确认其应用情况。

标准

  • 每个字段都要记录类型、来源、是否存在以及生命周期。
  • 每种关系都要说明基数和加载方式。
  • 每次迁移都必须保留现有数据,或说明所需的转换。

反模式

  • 创建产品中没有观察到用途的字段。
  • 更改关系前不检查查询、工厂和测试。
  • 阅读现有技术栈前就选择技术。

验证

  • 运行与持久化模型相关的测试和验证器。
  • 在数据库副本上检查迁移,并比较迁移后的架构。
  • 结束任务前,确认文件、应用命令以及查询迁移状态的方式。
  • 没有项目中可验证的输出时,不要宣称模型已准备就绪。

相关技能

  • $specsfy-aux-database:维护项目的持久化数据映射。
  • $specsfy-specialist-postgres:了解 Postgres 专属细节。
  • $specsfy-specialist-laravel:处理 Laravel 迁移和模型。

请阅读 references/standards.md,了解建模、迁移和持久化契约的参考资料。

评论

支持 Markdown