用途:读取一份已存储的 Workplan spec,将其拆分为适合单个上下文窗口的 tracer-bullet 工单,并发布其前置依赖图。调用该技能即视为授权发布,无需额外审批。
前置条件:使用 wp 前需先加载 ai-workplan 技能;若不可用则停止并提示用户安装。需遵循其 machine-output、workplan、project、label、ticket、dependency 等参考文档,这些文档定义了命令标志、信封、分页、选择器和类型化错误。
主要流程:
- 解析唯一 spec:优先显式 slug,其次紧邻的 ai-to-spec-workplan 返回的规范资源,再次对话中明确命名的 slug;否则用 wp --json workplan list --type spec 列出全部并跟随游标,仅当结果唯一时采用。选定后运行 wp --json workplan show <slug>,校验 schema_version 且 type 必须为 spec,以存储的 content_markdown 为源。
- 解析项目与发布标签:用 wp --json project list 解析规范路径,每个工单独立解析项目,未分配用 --no-project;用 wp --json label list 确认存在 ready-for-agent,缺失则停止。
- 起草 tracer bullet:按需探索仓库,构建窄垂直切片,每个工单须适配一个上下文窗口并可独立验证。类型为 research、prototype、grilling、task 之一。正文用 Markdown,含 What to build、Acceptance criteria、Context、Verification 四节,至少一条验收标准。slug 由标题规范化生成,小写 ASCII、非字母数字替换为连字符、去边连字符、限 63 字节,冲突时追加 -2 起的最小数字后缀。
- 校验并排序图:前置依赖视为边,拒绝自环、重复边、缺失节点和环,拓扑排序且前置优先,保持草稿顺序以保证编号确定。
- 发布前检查:用 wp --json ticket list --workplan <spec-slug> --all-projects 列出已有工单并按 slug 索引,对已存在 slug 调用 wp --json ticket show 比对字段,不匹配即视为发布冲突并保留原工单,不更新、删除或修复。已有草稿须构成有序图的前缀。
- 按拓扑顺序发布缺失后缀:将 Markdown 写入私有临时 .md 文件,用 wp --json ticket create 创建,参数含 --workplan、--slug、--title、--type、--status ready、--content、--project(或 --no-project)、--label ready-for-agent 及可重复的 --prerequisite。每次尝试后删除临时文件。失败或响应不匹配即停止,不重试 database_busy、不删除已建工单、不修复边、不继续依赖项。
- 返回源 spec slug 与按创建顺序的规范工单资源,汇总标识符、项目和前置依赖,不再执行审批、状态、更新或清理。
限制:项目注册与标签创建由环境设置负责,非本技能职责;不得在解析前改动 tracker;不得用对话副本替代存储 spec;不得预测工单编号。