SuperAPI AI 工具集

umbraco-add-data-type

编程与开发

查看项目

更新于 10-22 06:17

技能介绍

用途

该技能用于决定 Umbraco 17+ 中某个属性背后的数据类型:是复用现有数据类型,还是新建一个;若新建,选用哪个属性编辑器、如何命名、放入 Data Types 树的哪个文件夹以及如何配置。它面向需求优先的工作方式:先写下变更,暂停等待用户批准,再应用变更,最后回读验证。

主要能力

  • 检查现有数据类型的编辑器、配置和引用情况、编辑器类别文件夹,以及即将使用该数据类型的属性。
  • 在三种方案中决策:原样复用、带限定词的通用变体、用途专属的新数据类型。
  • 确定细节:属性编辑器与编辑器 UI、值类型、名称、文件夹、配置。
  • 编写数据类型、涉及属性迁移的类型以及变更集(changeset),并做 lint 检查。
  • 在用户批准后应用变更:连接 MCP 时通过 MCP 执行,否则按同一需求文档进行手动操作。
  • 回读全部内容、设置状态行并报告。

使用方式

流程共七步:检查、复用或新建、决定细节、编写与 lint、批准、应用、验证。多数情况下结论是“复用”。该技能不自行解决所有问题:其规则来自 umbraco-content-model-conventions,需求文档格式与六步工作流来自 umbraco-content-requirements-documentation(change-workflow.md),两者必须与本技能一同安装;若指向其中任一技能的链接无法读取,应停止并说明。

当被其他技能调用时(umbraco-add-page 处理站点上无匹配的页面字段,umbraco-add-block 和 umbraco-add-element-type 处理区块字段如调色板、尺寸下拉,umbraco-add-composition 处理组合字段如默认开启的开关),本技能只执行检查、决策和编写,即工作流的第 1 至 3 步,然后交回决策结果(复用名称或新页面)、依赖标记和检查清单行,由调用方将其置于应用顺序首位。此时不暂停等待批准、不执行应用;变更集、唯一的批准关口和应用由调用方负责。重新配置现有数据类型永远不属于被其他技能调用的范围。

适用场景

适用于 Umbraco 17+ 项目中为页面、区块、元素类型或组合新增字段时判断数据类型归属的场景,尤其适合需要避免数据类型重复膨胀、将约束集中于单处的站点。

限制与注意事项

  • 仅面向 Umbraco 17+;编辑器和编辑器 UI 别名读取自 Umbraco 17.5.3 的 Umbraco.Cms.Core 与 Umbraco.Cms.StaticAssets 包;Umbraco 17 新增了独立的仅日期、仅时间、未指定和带时区的日期编辑器。MCP 工具名称需以已连接的工具列表为准。
  • 共享数据类型被多个属性共用,修改其配置会影响所有引用它的属性;应先读取引用,必要时创建带限定词的变体,而不是为一个字段改动共享类型。
  • 约束应放在数据类型中,而非属性验证中。
  • 更改属性的编辑器可能导致内容丢失:将属性迁移到值格式不同的数据类型(文本到选择器、单选到多选)会使已存储的值无法读取;遇到此类情况应停止并说明,绝不能对现有内容静默执行。
  • 内置数据类型保持安装原样,不重命名、不移动、不重新配置;变体是编辑器文件夹中新的带限定词数据类型。
  • 用户说“就设成 160 字符”是对数据类型的请求,而不是对尚未见过的需求文档的批准;批准关口在 change-workflow.md。
  • 该技能不自带代码和资源;其编写的需求文档由 umbraco-content-requirements-documentation 中的 linter 检查,评估仅针对指导内容,未在真实站点上运行。

验证情况

客观断言位于 evals/evals.json,可通过 umbraco-skill-evaluator 运行;覆盖层级为 Documented。

暂未提供

官方文本、具体收费与价格信息暂未提供;除上述内容外,未提供更多实测效果数据。