do-in-steps 是一个把复杂任务拆解为有序步骤并逐步执行的技能,来自 neolabhq/context-engineering-kit。它的核心思路是:不一次性完成整个复杂任务,而是先分解出相互依赖的子任务,按顺序执行,每一步都把上下文传递给下一步,并对每一步做独立的质量校验。
用途与定位 适用于需要多步、跨文件、存在依赖关系且对正确性有要求的复杂任务,例如接口变更、功能新增、重构、带影响面的缺陷修复、跨层改动等。技能本身只承担编排职责,不直接读文件、写代码或运行 bash。
参数
- task:自由文本,必填,待分解执行的任务描述。
- --strict:布尔标志,默认 false。开启后禁用“迭代裁量规则”,即每步必须评分 >= 4.0 才算通过,否则一直重试直到达到最大重试次数。
- --model:可选 haiku、sonnet、opus,默认为按步骤自动选择。显式指定后会覆盖所有步骤中所有子代理(实现、meta-judge、judge)的模型层级。省略时需按模型选择策略为每一步选择层级,没有固定的兜底层级。 调用示例:/do-in-steps Refactor UserService class and update all consumers --strict
主要能力与编排流程
- 分析与分解任务:理解目标、识别自然边界、确定依赖关系、定义每步的输入/动作/输出/验证方式,输出子任务表与依赖图。
- 为每个子任务选择模型层级:基于范围、复杂度、风险三个维度,从选择规则表中确定层级,并说明理由;再依据角色配对规则决定该步 meta-judge 的层级。
- 对每一步,并行分派 meta-judge 和实现代理(meta-judge 在分派顺序上优先);等待两者完成后,携带 meta-judge 的验收规范分派 judge。
- 打分未通过时按 judge 反馈迭代,最多重试 3 次,重试期间复用同一份 meta-judge 规范;每个新步骤分派新的 meta-judge。
- 收集输出并向前传递上下文,只传递必要的上下文摘要而非完整文件内容。
- 报告最终结果。
模型选择策略
- 层级作为每步的独立决策,而非整轮统一;同一分解中可以混合层级。
- 默认层级为 sonnet 与 haiku,opus 为保留的按需选项,必须由规则触发才可使用,不能因“不确定”而选用。
- 选择规则(按最高匹配层级取胜):
- 单文档/文本修正,无代码、无跨文件推理:haiku(改错字、更新链接、修正 README 中的过期命令)。
- 单文件、约 10 行以内的机械代码改动:haiku(改常量、加守卫子句、重命名局部变量、改配置值)。
- 代码编写,新函数/组件/测试、单模块改动、既有模式:sonnet(加一个端点、写一个服务方法加测试、重构一个模块)。
- 多文件重构(3 个及以上文件,或涉及共享契约变更)、关键逻辑(认证、支付/计费、数据完整性、不可逆迁移、公共 API 破坏)、复杂逻辑(并发、非平凡算法、架构决策):opus。
- 规则优先级:需逐行评估,多条匹配时取最高层级;关键性与复杂性始终覆盖规模。纯机械的大范围改动(同一条规则化编辑重复到多个文件、无逻辑、无契约变更)不触发多文件条件,按单次改动的内容定级。
- 打破平局:仅当没有规则行干净匹配、确实介于两级之间时,选择更便宜的一级;不允许为求稳而偏向 opus。
角色配对 每个模型管线包含生产(实现)、标准设定(meta-judge)、评估(judge)三个角色,默认为该步同一层级。仅对非显而易见步骤,可单独将标准设定角色提高一级;但不得将标准设定设为低于生产角色的层级。显式 --model 覆盖本节全部内容。
升级规则 当出现以下触发条件之一时,将失败步骤的实现与 judge 同时提升一级(haiku → sonnet → opus,opus 为上限):
- 首次尝试质量偏低,或问题显示模型理解有误而非遗漏细节。
- 用户反馈质量过低或结果错误,任何时间点(包括已报告通过后)均适用。 唯一例外:触发条件 1 下,若 judge 指出的是具体、可修复的缺陷而非能力差距,可维持层级,用 judge 的具体反馈在同层级重试。触发条件 2 无此例外,立即升级。 显式 --model 情形下,触发条件 1 不得覆盖用户选择,应继续用该模型迭代直到达到最大重试;仍未达标时向用户说明问题并建议升级。触发条件 2 视为用户批准,立即升级。 升级仅作用于失败步骤的重试,不改变整条链;meta-judge 不重跑、不重新定级。升级是根因修复的补充而非替代,必须把 judge 反馈传入重试。已报告通过后如用户反馈某步结果错误,重新进入该步重试路径,该步重试预算重置,可再获得最多 3 次重试。
跨提供商等价 在非 Anthropic 模型环境运行时按能力档次映射:haiku 对应 gemini-flash-lite、gemma 类、gpt-oss 类等小型开源模型;sonnet 对应 gemini-pro 类与完整 gemini-flash(非 -lite 变体)、GPT-5-mini 类、大型 Qwen/DeepSeek 类;opus 对应各提供商的高推理/深思层级。映射按能力档次而非名称,规则本身以层级表达,映射后规则不变。
使用方式与产物 执行前需创建报告目录:mkdir -p .specs/reports。报告命名约定为 .specs/reports/{task-name}-step-{N}-{YYYY-MM-DD}.md,其中任务名由任务描述推导,N 为步骤序号,日期为当前日期。实现产物输出到其指定位置,只有 judge 的校验报告写入 .specs/reports/。
限制与约束 技能强调自身只做编排:不得阅读实现文件、不得直接写代码或改动源文件、不得跳过分解直接实现、不得跳过 judge 校验、不得向 judge 提供任何形式的分数阈值、不得完整阅读 judge 报告(仅解析结构化头部)。同时要求始终通过 Task 工具分派子代理完成所有实现工作。
关于收费、价格、平台支持范围与具体效果,资料暂未提供。