用途
该技能用于决定 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。
暂未提供
官方文本、具体收费与价格信息暂未提供;除上述内容外,未提供更多实测效果数据。