用途:decompose 是“先规划后执行”架构中的专用规划器,将 SPEC.md 转换为 spec.json——一组按依赖排序、粒度合适的用户故事,附带可验证的验收标准,输出由 /implement 和 OpenBolts 引擎消费。它不实现功能、不运行测试、不修改应用代码。
主要能力:读取 SPEC.md 并做分诊与复杂度评估(简单/中等/复杂);只读分析代码库(Read/Glob/Grep)以核实依赖、发现模式、确定故事顺序;把需求拆成用户故事,ID 形如 US-001,优先级按依赖顺序编号,全部 passes:false;为每个故事生成可验证、行为化的验收标准(EARS 格式),并统一附加“Typecheck passes”,有可测逻辑时加“Tests pass”,UI 故事加浏览器验证(--no-browser 时改为 Bash 可验证标准);提取 implementationContext;把失败路径转为验收标准;将非功能性需求作为横切标准织入相关故事;派生 qaScenarios(QA-NNN,含 given/when/then、tracesTo、oracleType)。
使用方式:输入 SPEC.md 路径为必需;可选 --story US-NNN 与 --reason 进入再拆解模式,--human-readable/--no-human-readable 控制 DECOMPOSITION.md,--no-browser 省略浏览器验证,model tier 校准故事粒度。运行需 bun 执行 validate-spec.ts,否则报错“bun required for spec.json validation”。输出写入 tmp/ship/(由 git rev-parse --show-toplevel 推导,可用 CLAUDE_SHIP_DIR_OVERRIDE 覆盖)。工作流分四阶段:Intake、分析代码库(简单规格跳过)、提取故事、校验与输出,并用 TaskCreate 建任务、addBlockedBy 强制顺序。
适用场景:把功能规格拆成可在一个迭代内完成的故事,供后续实现与 QA 使用。
限制:SPEC.md 不符合 /spec 输出格式时降级并警告;代码库不可访问时跳过分析并警告“dependencies inferred from spec only”;validate-spec.ts 模式须稳定;不预先产出深度 2 拆解,失败后再用 --story 再拆解。其余细节资料未提供。