用途:Distill 用于把没有 feature 文件的存量代码库反向纳入 Beat 工作流,从已有代码中提取 BDD 规格,生成描述代码“当前行为”(而非期望行为)的草稿 .feature 文件。适用于既有代码库、模块或目录的回溯性规格提取。不适用于设计新功能、为尚不存在的代码写规格、绿地项目或探索想法(这些用 /beat:design 或 /beat:explore)。
主要能力:读取指定范围代码,梳理用户可见行为、边界情况、错误条件和已有测试;扫描 beat/features 与 beat/changes 下已有 feature 以避免重复;创建变更容器;生成 features/*.feature(必选),可选生成 proposal.md 与 design.md。scenarios 使用 @distilled 及 @happy-path、@error-handling、@edge-case 标签,并带 @e2e 或 @behavior 测试层标签。
必要流程与限制:写文件前须先调用 using-git-worktrees 做隔离;写 feature 前须做术语表检查,把项目专有术语写入 beat/CONTEXT.md;每个产物写完须做四项自检(占位符/一致性/范围/歧义);从代码恢复的 Key Decision 须过三条件 ADR 门,不得编造理由,无法确认时标注未验证或询问用户;禁止自行校验,须用 /beat:verify 独立校验;完成须提交产物。若前置技能未安装则跳过并继续。
选用的必要命令保持原样:git add beat/changes/distill-<scope-name>/ ;git commit ;提交信息为 "distill(): extract BDD specs from existing code"。后续步骤:审查草稿、运行 /beat:verify、/beat:archive 同步。其他细节(如具体工具参数、收费等)暂未提供。