skills/skill.new.ndhy.com/web-node-preset-catalog-builder

web-node-preset-catalog-builder

SKILL.md

Web Node Preset Catalog Builder

此 skill 用于在当前仓库内自动构建精选互动方案配置,并提交到托管 preset 目录。

当任务进入“通过 CLI 提交/查询 preset”阶段时,不要在这里重复发明 CLI 安装与凭证排查流程;应优先切换到 branch-video-agent-cli skill,由它负责:

  • 检查或安装 branch-video-agent 全局 CLI
  • 统一处理 AIHUB_AGENT_TOKENBRANCH_VIDEO_AGENT_BASE_URL
  • 执行 preset list / preset upsert
  • 处理 branch-video:writeownerUserId 等权限问题

适用场景

  • 用户提供 aic-view 互动链接和归属主题样式
  • 需要调用 https://aic-deploy.sdp.101.com/reactComponent/getById 获取组件信息
  • 需要把组件文档、输出状态和示例参数转换成可提交的 preset JSON
  • 需要通过 branch-video-agent CLI 或后台管理页将 preset 新增到托管层,或按相同 id 覆盖已有方案
  • 若当前环境尚未启用 branch-video-agent-cli skill,应先安装或加载该 skill

输入约定

  • 互动链接:统一使用 https://aic-view.sdp.101.com/view/<id> 格式
  • 主题样式:支持 cat-喵星人medieval-中世纪retro-future-复古未来 等格式
  • 可选参数:presetIdname

执行步骤

  1. 提取互动 id 与主题 id。不要手工拼接 catalog.ts
  2. 优先运行脚本生成严格 JSON:
node .claude/skills/web-node-preset-catalog-builder/scripts/build-web-node-preset.mjs \
  --url "https://aic-view.sdp.101.com/view/0Mr-Mm1923HK8k0CSjBNA5m-" \
  --theme "cat-喵星人" \
  --dry-run \
  --json
  1. 如需覆盖默认生成值,可追加:
node .claude/skills/web-node-preset-catalog-builder/scripts/build-web-node-preset.mjs \
  --url "<互动链接>" \
  --theme "<主题样式>" \
  --preset-id "judge-dialog-cat" \
  --name "判断题互动工具" \
  --dry-run \
  --json
  1. 如需离线验证或复现问题,使用 --input-file <json文件路径> 跳过网络请求。
  2. 生成完成后,检查以下字段是否符合预期:
    • id 是否满足当前命名约定
    • themeStyleLabel 是否保留了用户提供的主题样式文案
    • description 是否只描述功能和用途,不包含主题信息
    • messageStatusesrecommendedEventHints 是否成功从文档状态表解析
    • configTemplate.initData 是否与 exampleParams 对齐
  3. 如需通过 CLI 提交或查询托管条目,先安装或启用 branch-video-agent-cli skill。

推荐交接口径:

  • 当前任务已完成 preset JSON 生成,下一步改由 branch-video-agent-cli skill 接管 CLI 执行
  • 优先让它检查 branch-video-agent --help、必要时全局安装 CLI
  • 再执行 preset upsertpreset list
  1. 启用 branch-video-agent-cli skill 后,优先通过已发布 CLI 提交托管条目:
branch-video-agent preset upsert < preset.json

如当前环境尚未全局安装,可回退到仓库内 CLI:

node bin/agent-cli.ts preset upsert < preset.json
  1. 如需先查看当前托管层,可执行:
branch-video-agent preset list
  1. 如当前工作流以人工校验为主,也可将生成 JSON 粘贴到后台页面 /admin/web-node-presets

默认生成规则

  • presetId 未传时,默认使用 preset-<themeId>-<interactionId>
  • name 未传时,默认使用文档首个 H1 标题
  • urlsByTheme 固定写入 view/<id> 正式访问链接
  • description 默认取组件文档中的功能简介摘要,不拼入主题文案
  • messageMapping 默认保持空对象
  • waitForPageReady 默认写为 true
  • 一旦进入 CLI 提交阶段,CLI 安装、执行方式、权限排查默认由 branch-video-agent-cli skill 接管

多主题补录

  • 同一方案若存在多个主题变体,重复运行脚本时传入相同的 presetId
  • 提交到托管层时,相同 id 表示覆盖已有条目;需要批量提交时,使用 {"items": [...]} 包装
  • 主题输入支持 城市技能,会自动归一到 urban-tech

收尾验证

生成或更新后,至少做一条窄范围校验:

branch-video-agent preset list

如果当前 Agent 还没有 CLI skill 上下文,先补充加载 branch-video-agent-cli skill,再做这一步校验。

如在仓库内联调,可补跑:

npm run test -- tests/webNodePreset.resolver.unit.test.ts tests/cli/preset.cli.test.ts

如果脚本提示无法解析状态表或主题样式,再进行最小人工修订,不要改动无关 preset。

Installs
2
First Seen
11 days ago