关于 specsfy-specialist-data-modeling
用于分析和演进产品持久化数据模型的技能,面向编写规格或修改数据库结构的项目团队。它要求先检查现有代码与迁移,再记录实体、关系及数据规则,不凭空指定技术或字段。
主要功能
- 01从代码识别实体与关系
- 02记录字段和生命周期规则
- 03检查一致性、保留与迁移
- 04推导数据操作和授权场景
- 05要求验证迁移结果
适用场景
- 01为新规格梳理持久化数据
- 02修改表、模型或迁移
- 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
详细介绍
对产品数据建模
使用此技能来理解和演进持久化数据,不要凭假设选择数据库或库。在提出更改前,请阅读技术栈、当前系统、迁移、架构、模型、契约和测试。
工作
- 识别代码中观察到的实体、它们的作用和关系。
- 记录字段、类型、必填性、来源、生命周期,以及谁可以查询或更改每项信息。
- 在适用时,描述唯一性、一致性、保留、删除、历史记录和迁移。
- 更新规范的数据部分,并将已确认的答案交给
$specsfy-aux-database和.specsfy/DATABASE.md。 - 推导创建、读取、更新、删除、授权和无效数据场景。实现由检测到的数据库专家负责。
不要臆造字段、关系或技术。如果当前系统无法给出答案,请由用户确认产品需要保存的内容。
适用场景
- 修改表、架构、模型、迁移或持久化契约时使用。
- 创建规范前梳理关系和生命周期时也使用。
- 不要在缺乏项目数据的情况下用它来选择数据库库。
流程
- 阅读现有的技术栈、迁移、架构、模型和测试。
- 区分观察到的实体、关系、字段和状态。
- 记录唯一性、保留、删除和历史记录规则。
- 将提案与现有契约和查询进行比较。
- 将确认结果交给项目的数据库技能。
- 要求任何与数据库相关的更改都包含一个版本控制的
[MIGRATION]任务,并在测试数据库中确认其应用情况。
标准
- 每个字段都要记录类型、来源、是否存在以及生命周期。
- 每种关系都要说明基数和加载方式。
- 每次迁移都必须保留现有数据,或说明所需的转换。
反模式
- 创建产品中没有观察到用途的字段。
- 更改关系前不检查查询、工厂和测试。
- 阅读现有技术栈前就选择技术。
验证
- 运行与持久化模型相关的测试和验证器。
- 在数据库副本上检查迁移,并比较迁移后的架构。
- 结束任务前,确认文件、应用命令以及查询迁移状态的方式。
- 没有项目中可验证的输出时,不要宣称模型已准备就绪。
相关技能
$specsfy-aux-database:维护项目的持久化数据映射。$specsfy-specialist-postgres:了解 Postgres 专属细节。$specsfy-specialist-laravel:处理 Laravel 迁移和模型。
请阅读 references/standards.md,了解建模、迁移和持久化契约的参考资料。
评论
支持 Markdown