Agent Skills
返回列表
💻

Mozi 模型驱动开发

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_55170ee5/mozi。

技能介绍

这类协作里常踩的坑

在 Mozi 体系里做模型驱动开发时,Agent 很容易把 Git 里的 models/ YAML 当成日常编辑源、用 HTTP 或浏览器完成本可由 CLI 完成的步骤,或把「产物生成成功」当成可以执行迁移与上线。结果是领域语义、API 契约和数据库结构脱节,破坏性变更被误标成「删字段 + 新字段」。

技能如何约束工作方式

本技能把 PostgreSQL 设计库 和 mozi model get/create/update 定为模型事实来源;ModelIR 承载领域语义与产品意图,docs/swagger.json 承载 HTTP 契约,ProjectIR 错误码注册表承载可引用的错误码。

建模前需覆盖五类必答项:semantics、fields/relations/table、admin、ui_intent、api_intent。关系必须写业务谓词 label;字段重命名用 renamed_from;权限优先 semantics.permission_rules(deny-first、fail-closed)。

典型流程是:完整 ModelIR 确认后写入 → validate 与 lint --strict → change-plan 审查 breaking/conditional/dangerous → 做最小可审查代码补丁 → 按需生成 OpenAPI、迁移、Bruno、权限骨架、i18n、TypeScript SDK → 类型检查与测试通过后再 sync。

边界与人工门禁

  • 迁移:仅当全部为 safe 时允许 mozi artifacts migration 自动生成;conditional/dangerous 必须停下来让人决策。
  • 展示数据:API Workbench 的端点归属等不得用来改 HTTP 方法、路径或 Schema。
  • 环境:未设 MOZI_PROJECT_ROOT 时 CLI 向上找 go.mod;设计库连不上要如实说明,不伪造校验结果。
  • UI:用宿主应用 make dev 启动 Builder,Mozi 不提供独立 HTTP 服务命令。

使用场景

  • 在 Go 单体仓库里新增业务实体,需先补齐 ModelIR 五类信息,再通过 `mozi validate` 与 `change-plan` 审查后再改 ent 与迁移。
  • 字段要从旧列名迁到新列名,需在模型里标 `renamed_from`,并人工审查 change-plan 中的 conditional/dangerous 迁移建议。
  • API 要对外暴露且要写 Bruno 契约,需先在 ProjectIR 注册错误码,再在 `api_intent.test_contracts` 里引用稳定 `operation_id`。
  • 多个关联模型要一起改关系谓词与权限规则,需批量 update 后合并变更计划,再按需生成 OpenAPI 与 TypeScript SDK。

适合人员

  • 维护 ent/schema 与 migrations 的后端工程师,希望模型变更走 CLI 且迁移只允许 safe 自动生成。
  • 负责管理后台列表与搜索的后端或全栈,需要按 ModelIR 的 `admin` 与 `ui_intent` 对齐接口与页面字段。
  • 在上线前审查模型 diff 的技术负责人,重点关注 breaking、conditional 迁移与 swagger 契约是否一致。
  • 为前端或第三方消费者提供 SDK 的工程师,要求从已审查的 `docs/swagger.json` 生成 TypeScript 客户端并跑类型检查。