用途
Workflow Skill Creator 用于创建 Android UI 自动化工作流、录制点击序列,以及构建可回放的设备脚本。其核心洞察是:创作阶段是可观察的(作者能看到设备、探测选择器、重试),而运行阶段是盲的(子技能无法看到页面并即兴应变)。因此作者做出的每一个决策都必须补偿这种不对称性。
前提条件
- Node.js 18+
- 已连接的 Android 设备,且工作流代理运行在 18185 端口
模式
当没有工作区时,从 New 模式开始,进入 Phase 0。
优化优先级
当规则冲突时,优先级更高者胜出:
- 稳定生成——母技能可靠地产出可验证的子技能
- 执行成功——子技能在目标设备上正确运行
- 通用性——系统处理广泛的任务类型
阶段流程
仅在进入需要参考文档的阶段时才加载对应文档。加载纪律:Phase 2 录制期间只加载 recording-guide.md,不加载编译或交付文档;Phase 3 编译期间只加载 compilation-contract.md 与 compilation-checklist.md,不加载录制文档;仅在遇到罕见动作或调试运行时错误时才加载 action-registry.md 或 engine-runtime.md。
各阶段概览:
- Phase 0(门禁):收集输入,全部输入确认后通过,参考 admission-guide.md
- Phase 1(门禁):初始化工作区,init 成功后通过
- Phase 2(工作):录制步骤,所有 walk 被接受且最后一步已验证后通过,参考 recording-guide.md
- Phase 3(工作):编译 + 审查,quality-gate ≥ 90 后通过,参考 compilation-contract.md + compilation-checklist.md
- Phase 4(门禁):打包 + 交付,子技能包完整后通过,参考 child-skill-guide.md
按需加载的附加参考:engine-runtime.md(Phase 3 或 4 期间的引擎 schema)、action-registry.md(Phase 2 或 3 期间的 API 动作参数)、tools.md(CLI 命令与选择器字段参考)。
原则
三条录制规则(walk-is-evidence、decide-before-walk、recover-by-walk)与选择器纪律贯穿所有阶段,详见 recording-guide.md § Three Rules。
升级规则
遇到以下情况应停止并询问用户:设备重试 2 次后仍不可达(报告连接问题);walk 期间设备锁定或息屏(报告用户并请求解锁);应用需要登录但未提供凭据(向用户索取凭据);3 轮证据修复后 quality-gate 分数仍 < 90(根因需要设备重新录制);滚动整个页面后目标元素始终未找到(该应用版本上任务可能无法完成);录制期间应用反复崩溃(应用可能不稳定,报告用户);Rule 3 恢复在 3 次 walk 后失败(报告状态不匹配,请求用户恢复)。
路径变量
运行任何命令前需设置两个变量:
- $SKILL_DIR = 本技能的安装位置(包含 scripts/、references/、agents/)。当被 AI 代理加载时,从技能自身文件路径解析。例如若 SKILL.md 位于 ~/.claude/skills/workflow-skill-creator/SKILL.md,则 $SKILL_DIR=~/.claude/skills/workflow-skill-creator。
- $DIR = 由 init 创建的工作区根目录(例如 ./my-skill)。所有命令将 --dir $DIR 视为工作区根目录,并在内部访问 $DIR/authoring/——切勿将 authoring/ 子目录作为 --dir 传入。
所有 CLI 命令使用 node $SKILL_DIR/scripts/skill_cli.js 或 node $SKILL_DIR/scripts/device_cli.js。完整命令参考见 tools.md。
Phase 0:准入
用户提供任务 + 设备 IP,代理解析其余一切。完整指南见 admission-guide.md。在所有输入确认之前,不要进入 Phase 1。
Phase 1:设置
命令:
node $SKILL_DIR/scripts/skill_cli.js init --dir $DIR --name <skill-name> --task "<task>" --base-url $BASE_URL --app <pkg> --app-name "<display-name>"
所有参数来自 Phase 0 的解析结果。init 会将设备重置到主屏幕、为目标应用授予所有权限,并捕获初始检查点。第一个录制的步骤将针对此检查点进行验证。
如果任务从应用内部开始,第一个录制的步骤应为使用目标包进行 launch——不要在录制前手动导航。
Phase 2:录制
完整规则见 recording-guide.md。
流程:init → strategy → status(给出第一个 walk 命令)→ [ decide → walk → confirm ] × N
策略优先:在第一次 walk 之前分析任务——对每个目标分类(位置 vs 身份 vs 动态),规划验证方式(静态 vs 结构化),确定最短路径。详见 recording-guide.md § Strategy。
walk 是录制期间唯一的设备交互方式。所有操作都通过 walk 快捷方式完成:--launch、--selector、--scroll、--key。错误代价很低:walk --delete-step N。每次 walk 返回一个 diff,包含 recommended_verify 和可直接运行的下一步命令。
在所有 walk 被接受且最后一步已验证之前,不要进入 Phase 3。
Phase 3:编译 + 审查
派发子代理:使用你平台的 subagent/tool 能力(例如 Claude Code Agent 工具、Codex task)。传入:指令(代理 .md 文件的内容,例如 agents/quality-reviewer.md);上下文("Review child skill artifacts in workspace: $DIR");预期输出($DIR/authoring/quality-review.json)。如果你的平台不支持子代理,请自行遵循该 .md 文件(自审回退)。
流程:compile-view → compile-plan → compile-write → quality-review → quality-gate
compile-write 完全自动化——生成完整的子技能包并验证它。compile-plan 是干跑预览。AI 不手动编写工作流 JSON。详情见 compilation-contract.md。
quality-review 是强制流水线阶段:默认派发 quality-reviewer 子代理(隔离审查,消除自评偏差);回退方案为若子代理不可用,则依据 compilation-checklist.md 自审,遵循 quality-reviewer.md 中定义的相同流程与输出格式,将结果写入 $DIR/authoring/quality-review.json,并在根级添加 "self_reviewed": true。
quality-gate 期望 $DIR/authoring/quality-review.json 在 JSON 根级包含 overall_score:
{"verdict":"PASS","overall_score":95,"layers":{...},"fix_suggestions":[...]}
分数 < 90 → 证据修复循环(无需设备):读取 quality-review.json 中的 fix_suggestions;对每个问题读取该步骤的 dump 文件(authoring/dumps/step{N}_after.dump.txt);从证据修复:选择器堆叠了不必要字段 → 在 dump 中确认单字段唯一后,repair --step N --selector;动态数据作为选择器(文件名、时间戳)→ 在 dump 中寻找位置或结构化替代,repair --step N --selector;验证仅在录制条件下有效 → 在 dump 中寻找结构化证明,repair --step N --verify;探索性浪费步骤 → repair --delete-step N。然后重新执行 compile-write → quality-review → quality-gate。
若仍 < 90 且问题标记为 "insufficient evidence" → 仅在设备上重新录制那些特定步骤。
修复命令:repair --dir $DIR --step N --selector '...' / --verify '...' / --delete-step N。无需设备即可修改 session.json。详见 tools.md。
Phase 4:交付
按 child-skill-guide.md 生成子技能包。
该包包含 SKILL.md、assets/workflow-script.json、assets/business-spec.json、scripts/run.js 以及 agents/openai.yaml。用户负责在自己的设备上运行并验证子技能。
适用场景与限制
适用场景:创建 Android UI 自动化工作流、录制点击序列、构建可回放的设备脚本。
限制:需要 Node.js 18+ 与已连接且运行工作流代理(18185 端口)的 Android 设备;运行阶段子技能无法看到页面并即兴应变;遇到设备不可达、锁定、需登录凭据、质量门禁不达标、元素找不到、应用崩溃、状态不匹配等情况需停止并询问用户。关于收费、价格、平台支持范围等更多信息,资料暂未提供。