图 01 · 功能流
一个模糊的功能需求如何变成可验证的小改动?
双泳道服务蓝图:上方是人工决策,下方是 Agent 工作流。每次交接都携带一个产物,防止信息在步骤之间丢失。
为什么流程是顺序的?
每次交接都携带一个产物。CONTEXT.md 让 /to-spec 不需要重新发现词汇;spec 让 /to-tickets 不需要猜测行为边界;工单让 /implement 不需要做范围决策。
关于 {grilling} 原语
五个 orchestrator(/grill-me、/grill-with-docs、/triage、/wayfinder、/improve-codebase-architecture)都在内部使用 {grilling} 来逐一挖掘未解决的决策分支。用户启动 orchestrator,agent 使用原语。
实例:TypeScript 实体库生命周期钩子
软件工程场景
「为 TypeScript 实体库添加生命周期钩子」→ /grill-with-docs 澄清"钩子"的触发条件 → CONTEXT.md 记录 lifecycle event 术语 → spec 描述 onMount/onUnmount 行为 → 3 个工单(接口、实现、文档)→ /implement → {tdd} → {code-review}
Triage 汇入示例
外部 Issue #142:「实体 activate 偶尔不触发钩子」→ /triage 分拣确认是有效 bug 报告 → 因缺少复现条件,走 /grill-with-docs 澄清 → spec 补充边界时序 → /implement 修复。
线性阅读顺序:用户提供意图 →
/grill-with-docs 产出共享语言(CONTEXT.md + ADR)→ /to-spec 产出 spec → /to-tickets 产出带依赖边的工单 → /implement 按工单构建 → {tdd} 验证 → {code-review} 审查 → 已审查的 diff 准备上线。