SuperAPI AI 工具集

bloom

办公与效率

查看项目

更新于 10-23 23:07

技能介绍

用途

Bloom 是 CocoPlus 工作流中的前置技能,用于在编写任何规格说明之前,通过结构化的「逆向工作法」(working-backwards)对话,让开发者先对预期成果做出明确承诺。生成的 bloom 文档会作为 $spec 的锚点,为 $discuss 的一致性检查提供依据,并在 $ship 阶段被 CocoWatch 引用。

主要能力

Bloom 通过四个问题引导开发者明确成果:

  1. 受益者(Beneficiary):谁从中受益,他们身上发生了什么变化?要求至少一句话点明受益者并说明变化;若回答过于笼统(如「用户受益」),会追问一次要求具体化。
  2. 核心能力(Core Capability):用一句话概括核心能力。若超过一句,会要求压缩为一句。
  3. 约束(Constraints):界定方案的三项约束(如 schema 限制、成本上限、PII 规则、性能要求)。少于三项会按编号追问,多于三项会要求优先排序到恰好三项。
  4. 新闻稿(Press Release):由开发者本人撰写一段新闻稿,假设功能已上线并正常工作,说明谁现在能做什么、多快、质量如何、成本多少。该段落必须由开发者自己写,代理不会代为生成。

此外还支持:

  • --skip:放弃 bloom 步骤,并在 $spec 中抑制所有 bloom 提示信息。
  • --resume:从 .cocoplus/lifecycle/bloom-draft.json 恢复未完成的对话。
  • --discard:确认后删除未完成的草稿。
  • --template <type>:在 Q4 前展示对应项目类型的示例新闻稿模式,支持 ai-function、governance、analytics-pipeline、api-integration、data-quality。模板仅为示例,开发者仍需自行撰写实际段落。

使用方式

前置条件:.cocoplus/ 必须已初始化(先运行 $pod init)。

执行 $bloom 后,技能会:

  1. 校验初始化状态,未初始化则提示「CocoPlus not initialized. Run $pod init first.」并退出。
  2. 检查是否已存在 lifecycle/bloom.md,若存在则询问是否覆盖(旧版本保留在 git 历史中)。
  3. 依次提出四个问题,等待开发者完整回答后再继续;每接受一个答案,就将进度(current_step、已答字段、updated_at)持久化到 .cocoplus/lifecycle/bloom-draft.json。
  4. 汇总并写入 lifecycle/bloom.md,包含 bloom_date、status、Beneficiary、Core Capability、Constraints、Press Release 等章节。
  5. 创建 git 提交:feat(bloom): pre-commitment working backwards document。
  6. 写入成功后删除 bloom-draft.json(若存在),并输出确认信息,提示运行 $spec。

使用 --skip 时,会更新 .cocoplus/lifecycle/meta.json 加入 "bloom_waived": true(文件不存在则创建),之后 $spec 不再显示 bloom 提示,也不会读取 bloom 文档。

与下游阶段的集成

  • $spec:若 lifecycle/bloom.md 存在,会先读取作为锚定上下文,并以 bloom 中的核心能力句作为规格说明的锚点。
  • $discuss:将 bloom.md 纳入计划前校验,检查最终计划是否仍服务于 bloom 中声明的受益者和约束集;偏离会作为 Concern(而非 Block)呈现。
  • $ship:若 bloom 文档存在,CocoWatch 会加入一行对齐说明:「Bloom commitment [met / partially diverged] — see lifecycle/bloom.md.」

适用场景

适用于使用 CocoPlus 工作流、希望在编写规格说明前先明确成果承诺的开发场景,尤其适合需要对齐受益者、核心能力、约束和预期效果的团队协作。

限制

  • 必须已初始化 .cocoplus/,否则无法运行。
  • Q4 新闻稿段落必须由开发者本人撰写,代理不会代为生成。
  • Q3 约束数量固定为恰好三项,不可多也不可少。
  • bloom 对 $spec 仅为建议性质,不会强制阻断 $spec。
  • bloom 只写入 lifecycle/bloom.md,不会修改 spec.md、plan.md 或其他生命周期产物。
  • 四个问题全部回答且开发者确认内容前,不会创建 git 提交。
  • 模板仅作示例,不能替代开发者撰写的承诺段落。

错误情况

  • .cocoplus/ 未初始化:提示运行 $pod init 并退出。
  • bloom.md 已存在且开发者拒绝覆盖:不做更改退出。
  • 无法写入 bloom.md、meta.json(--skip 时)或 bloom-draft.json:输出文件系统错误;写入 bloom-draft.json 失败时会在提出下一问题前停止。

完成标准

满足以下任一条件即视为完成:lifecycle/bloom.md 已写入四个章节并提交 git;或 lifecycle/meta.json 包含 "bloom_waived": true(--skip 路径)。未完成的会话可从 bloom-draft.json 恢复。