关于 avonni-dynamic-components
通过 Avonni MCP 创建和更新 Avonni Dynamic Components 的技能。它指导用户规划组件、生成内容并保存元数据,仅适用于 dynamic 工具集。
主要功能
- 01创建和更新动态组件
- 02构建前规划组件
- 03由用户确认计划
- 04保存组件元数据
- 05要求 Avonni MCP dynamic 工具集
适用场景
- 01创建 Avonni Dynamic Component
- 02根据元数据更新组件
- 03通过 MCP 查阅组件文档
MCP 相关
使用 Avonni MCP 的 dynamic 工具集获取组件信息,支持创建或更新 Dynamic Components。组件 API 以 MCP 返回的数据为准。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ avonni/ skills --skill avonni-dynamic-components安装后在 Claude Code 中输入/avonni-dynamic-components确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/build-component.mdcreate-component-metadata.mddata-sources.mdget-object-documentation.mdinteractions.mdnested-data-sources.mdplan-component.mdread-component-metadata.mdstyling.mdvisibility-rules.mdscripts/create-component.mjsnamespace.mjsquery-versions.mjsread-component.mjsremove-last-modified-flag.mjsvalidate-component.mjs详细介绍
avonni-dynamic-components
工具集
此技能仅适用于 Avonni MCP 的 dynamic 工具集。所有 MCP 工具调用(如适用)都必须包含 toolset: "dynamic"。请勿将此技能用于标准 Avonni LWC 组件、Avonni Experience Sites 组件或 Avonni Flow Screen Components。
用法
此技能介绍如何使用 Avonni Dynamic Components MCP 创建或更新组件。对于任何旨在创建或更新 Avonni Dynamic Component 的用户请求,都应使用此技能。
如果在处理过程中发现该请求还需要构建其他类型的产物(例如此组件必须启动的 flow、Experience 站点页面或要打开的其他动态组件),请停止并告知用户重新使用 avonni-architect 技能;不要用此技能构建其他产物。如果没有名为 avonni-architect 的技能,请改用任何用于协调多产物 Avonni 解决方案的技能;如果也没有,请建议通过 npx skills avonni/skills 安装该技能。
前提条件
在步骤 0 之前检查以下内容。这些检查用于落实此技能的 compatibility frontmatter 中列出的要求。如果本会话中较早时候已完成某项检查(例如 avonni-architect 技能在移交前已执行),请勿重复检查;直接使用其结果:
- Node.js >= 18 — 运行
node --version。如果命令失败或主版本低于 18,请停止并让用户安装 Node.js 18 或更高版本。不要继续。 - Avonni MCP 服务 — 工作流中的首次 MCP 调用(
list_components,并指定toolset: "dynamic")同时用作可连接性检查。如果会话中无法使用 Avonni MCP 工具,或重试一次后调用仍失败,请停止并让用户配置带有dynamic工具集的 Avonni MCP 服务。没有 MCP 时,绝不要继续。 - Salesforce CLI — 运行
sf --version。如果失败,请勿停止:只需提醒用户一次,说明未安装 Salesforce CLI,因此将无法检索对象和字段文档、查询组件版本以及保存组件,然后继续。如果后续步骤需要使用它,则应在该步骤停止并提供安装说明(参见references/get-object-documentation.md和references/create-component-metadata.md)。
执行工作流
要生成输出,必须按以下步骤操作。步骤必须始终按顺序执行,不可跳过。如果返回先前步骤,则之后的所有步骤都必须重新按顺序执行。
步骤 0 — 检测意图
确定用户是要创建新组件,还是从元数据文件更新现有组件。如果请求含糊不清,请先向用户询问以明确意图。
- 如果是创建:遵循下方的创建路径。
- 如果是更新:遵循下方的更新路径。
创建路径
- 阅读
references/plan-component.md。然后严格按照该文件中的说明制定组件构建计划。 - 请用户确认计划。
- 如果用户接受计划且不要求修改,则继续步骤 3。
- 如果用户要求修改,则返回步骤 1。
- 阅读
references/build-component.md。然后严格按照该文件中的说明生成计划中组件的 JSON。- 将 JSON 保留在内存中,不要写入磁盘。下一步会将其传递给保存脚本。
- 阅读
references/create-component-metadata.md,并遵循其中的说明创建自定义元数据记录文件。 - 向用户总结任务结果:
- 告知用户组件文件已创建,并说明其位置。
- 告知用户组件尚未部署。
- 总结组件功能。
更新路径
- 阅读
references/read-component-metadata.md,并按照其中的说明解析现有元数据文件,然后向用户展示当前组件。 - 询问用户希望进行哪些更改。
- 阅读
references/plan-component.md。然后严格按照该文件中的说明制定更新后的组件构建计划,并纳入用户要求的更改。 - 请用户确认更新后的计划。
- 如果用户接受计划原样不变,则继续执行第 5 步。
- 如果用户要求更改,则返回第 3 步。
- 阅读
references/build-component.md。然后严格按照该文件中的说明生成更新后的组件 JSON。- 将 JSON 保留在内存中,不要写入磁盘。下一步会将其通过管道传递给保存脚本。
- 阅读
references/create-component-metadata.md,并按照其中的说明保存更新后的组件版本。 - 向用户总结任务结果:
- 告知用户已创建或更新的文件及其位置。
- 告知用户组件尚未部署。
- 总结与上一版本相比有哪些更改。
权威来源
- MCP 是 Avonni Dynamic Components API 的唯一事实来源。
- 绝不能依赖对组件的既有知识或假设。
- 如果 MCP 数据与既有知识冲突,以 MCP 数据为准。
- 如果缺少必需信息,不要猜测,应向用户询问。
全局工具使用规则
- 绝不重复请求相同的文档,应缓存结果。
- 绝不能根据其他组件推断某个组件的文档。
- 始终直接使用 MCP 返回的工具结果,即使输出很长也不例外。绝不能使用 Bash 命令、读取文件或任何其他工具来缩短、解析或重新处理 MCP 结果。
全局输出规则
提及组件或交互时,使用其标签,而非名称。 示例: dcLayout → Columns Container dcCard → Card CreateRecordFromRecordVariable → Create Record
提及属性或样式钩子时,将其名称转换为自然语言标签。 示例: iconName → 图标名称 hideTableHeader → 隐藏表格标题 --avonni-button-icon-image-radius-border → 图片圆角边框 border-color → 边框颜色 --avcmpbuilder-primitive-global-header-caption-text-color → 标题说明文字颜色
未知或含糊的请求
如果需要用户提供更多信息:
- 停止生成。
- 使用纯文本(而非 JSON)说明未知或含糊之处。
- 请用户澄清,或提供正确的组件名称或属性名称。
故障处理
如果 MCP 工具调用失败:
- 重试一次。
如果仍然失败:
- 告知用户此技能必须连接 Avonni MCP 服务才能运行,然后停止。
- 绝不能在没有 MCP 数据的情况下生成输出。
如果某个组件文档读取失败:
- 继续处理读取成功的文档。
- 报告读取失败的文档。
如果缺少某个组件:
- 告知用户该组件可能不存在或尚无相关文档。
如果运行时验证失败:
- 重新检查 MCP 文档,再判断组件是否存在问题。