| tags: [ compound-engineering AI LLM ] categories: [ Development ]
Compound Engineering 插件:30 个 skill 的用途、顺序与依赖关系
对象:
EveryInc/compound-engineering-plugin版本:ships 30 skills / 0 standalone agents,专家 review、research 逻辑都内嵌在各 skill 的本地 prompt 资产里。
一句话哲学
每一次工程工作,都应该让下一次更容易,而不是更难。80% 在规划和评审,20% 在执行。
传统开发不断累积技术债;复利工程(compound engineering)把它反转过来。关键在最后一步 ce-compound——把每次的学习沉淀进 docs/solutions/,让下一轮的 ce-brainstorm / ce-plan 把它当 grounding 读回去。那根"回头箭头"就是整件事的意义。
核心循环(6 步,每个 feature 都走一遍)
这是插件的主干,README 里明确定义的 “the core loop”:
| 顺序 | 技能 | 用途 |
|---|---|---|
| 1 | ce-brainstorm | 交互式问答,把模糊/宏大的想法收敛成"只讲需求"的统一计划文档。只定义做什么,不涉及怎么做。 |
| 2 | ce-plan | 把需求文档充实成"可实现"的实现计划(拆步骤、定关键文件、权衡架构)。 |
| 3 | ce-work | 按计划逐步执行,配合 worktree + 任务跟踪。独立用时负责到提交;被上层编排时只做实现 + 本地验证。 |
| 4 | ce-simplify-code | 评审前先自我收拾:对刚写的代码做清晰度/复用/效率整理(不找 bug)。 |
| 5 | ce-code-review | 多 agent 角色化评审,对照计划找 bug、回归、测试缺口、规范问题。 |
| 6 | ce-compound | 把解决的问题/项目词汇沉淀到 docs/solutions/ 或 CONCEPTS.md。产物被下一轮第 1、2 步读取——闭环关键。 |
标准调用:
/ce-brainstorm 让后台任务重试更安全
/ce-plan
/ce-work
/ce-simplify-code
/ce-code-review
/ce-compound
循环之外的技能,分七类
① 上游选题 / 战略(还不知道做什么时)
| 技能 | 位置 | 用途 |
|---|---|---|
ce-strategy | 最上游锚点 | 建/维护 STRATEGY.md,被 ideate/brainstorm/plan 当 grounding 读取。 |
ce-ideate | 循环之前 | 先做功课(代码库、过往学习、web 先例、可选 issue),产出排好序的候选点子,把最强的送进 ce-brainstorm。 |
ce-pov | 承诺之前(按需) | 对外部输入给出落到本项目的决断性判断:该不该采用/切换某技术、库、模式、平台;某 CVE/弃用是否真影响本项目。给分级裁决,不做中立科普。 |
ce-product-pulse | 外层循环 | 时间窗口的"产品脉搏"报告(用量、性能、错误),存 docs/pulse-reports/,follow-up 反哺 ideate/brainstorm。 |
② 调试分叉(遇到 bug 而非 feature)
| 技能 | 用途 |
|---|---|
ce-debug | 替代 brainstorm→plan→work 的入口。复现失败、追根因、修复,必要时再走 polish/review 后交 PR。 |
③ 交付 / PR
| 技能 | 用途 |
|---|---|
ce-worktree | 确保工作在独立 git worktree 里进行(通常在 work 之前)。 |
ce-commit | 生成一条"讲清价值"的 commit message 的提交。 |
ce-commit-push-pr | commit + push + 开 PR 一条龙(也支持只写/重写 PR 描述)。 |
ce-resolve-pr-feedback | 处理 PR 评审意见、解决 review threads(一次性)。 |
ce-babysit-pr | 持续盯一个开着的 PR,不断响应新评审意见(转 ce-resolve-pr-feedback)和 CI 失败(转 ce-debug)直到可合并。仅 GitHub。 |
④ 测试 / 打磨
| 技能 | 用途 |
|---|---|
ce-test-browser | 对当前分支/PR 影响到的页面跑浏览器测试。 |
ce-test-xcode | 用 XcodeBuildMCP 在模拟器上构建 + 测试 iOS app。 |
ce-polish | 起 dev server、在浏览器里看功能、迭代打磨 UX。 |
ce-dogfood | 无人值守、限定 diff 范围的浏览器 QA:映射用户流程、真实浏览器驱动、自动修小故障 + 加回归测试 + 提交、按 persona 评判体验、写报告。仅手动触发。 |
ce-optimize | 指标驱动的优化循环(搜索相关性、聚类质量、构建性能、prompt 质量等),靠实验迭代。 |
⑤ 知识 / 文档(复利的载体)
| 技能 | 用途 |
|---|---|
ce-compound | (核心第 6 步)记录解决方案/项目词汇。 |
ce-compound-refresh | 审计 docs/solutions 里过时、重叠、被取代、漂移的学习条目并刷新。 |
ce-doc-review | 用角色化视角评审需求/计划/spec 文档(改进规划文档,不评审代码)。 |
ce-explain | 把概念/diff/想法/“我这周做了啥"变成为你个人写的、密集可视化的讲解,可选 check-in 帮记忆。用于学习,不是仓库文档。 |
ce-proof | 在 Proof 里发布/读/评论/编辑 markdown,把 spec/plan/draft 一键发成可分享链接。 |
ce-promote | 为已上线功能起草发布/推广文案。 |
⑥ 反馈 / 运营
| 技能 | 用途 |
|---|---|
ce-sweep | 扫描配置好的反馈源(Slack、GitHub Issues,email 实验性):源头 ack、分析录屏、验证修复已合入 main,产出 /lfg-ready 计划。支持 mode:headless 定时跑。 |
ce-riffrec-feedback-analysis | 把 Riffrec 录制/bundle(zip、webm、mp4、音频等)转成结构化反馈,handoff 给 ce-brainstorm。 |
⑦ 编排 / 运维
| 技能 | 用途 |
|---|---|
ce-setup | 装完后在任意项目里跑,检查 CE 健康度、repo-local 配置、可选工具能力。建议最先跑一次。 |
lfg | 全自动流水线:plan→work→simplify→code-review 并应用修复→browser 测试→commit→push→开 PR→盯 CI 修到绿。全程无 check-in。建议先 ce-brainstorm 再 lfg。 |
ce-pov 与 ce-proof 详解
这两个最容易被误解,单独展开。
缩写说明:
pov= Point of View(观点/立场)——ce-pov的SKILL.md正文标题就是 “Form a Point of View”,语义即"对某外部技术形成一个有立场的判断,而非中立罗列”。
ce-pov — 形成一个"观点"
对外部世界的东西(框架、库、模式、平台、CVE、弃用、生态变化)给出落到本项目的决断性判断。
- 不做中立科普,只回答"就我们这个项目而言,要不要采用/切换/重估它"。
- 护城河 = 两条硬底线:必须同时踩到项目底线(一个已核实的项目事实:现有选型 + 它用在哪)和外部底线(至少一个已核实外部来源)。两条独立,外部证据再强补不了项目那条腿。
- 按可逆性三档(两向门 / 单向有界 / 单向高风险)决定调查深度。
- 产出分级裁决:
Adopt / Trial / Hold / Reject / Not-our-problem,并路由下一步(ce-plan、ce-brainstorm或 spike)。字段无法界定时 Hold 并转ce-ideate/ce-brainstorm。 - 支持 cold(冷启) 与 warm(会话中要第二意见) 两种触发。
ce-proof — 发布到 Proof
Proof 是 Every 家的协作式 markdown 编辑器(hosted,proofeditor.ai),此 skill 是它的发布/协作客户端。
- 主用途是单向发布:把本地 brainstorm/plan/learning/draft 读出来发成 Proof 文档,返回可分享链接。本地文件仍权威,不回写。
- 两个入口:用户直接说 “share this to proof”;或
ce-brainstorm/ce-ideate/ce-plan完成草稿后 handoff。 - 只发 markdown;凭据分
accessToken(日常)和ownerSecret(owner 操作),都不入库;给人的永远是带 token 的链接。 - 反向触发词:不是 proofread、不是数学证明、不是 proof-of-concept。
lfg 详解 — 唯一的全自动编排器
缩写说明:
lfg= “Let’s F***ing Go”(网络俚语,“冲/出发”)。SKILL.md未逐字展开缩写(命令名直接叫lfg),这是社区通用俚语,Every 团队用它命名全自动 “autopilot” 命令——语义即"甩手交给它,冲到底"。
它是插件里唯一全自动、无 check-in 的端到端编排器:把核心循环的多个 skill 串成一条严格有序、带闸门(GATE) 的流水线跑到绿 PR,人不介入。各步与关键契约(据 lfg/SKILL.md):
| 步 | 调用的 skill | 关键闸门 / 契约 |
|---|---|---|
| 1 | ce-plan | 传入 “settled-decisions brief”;必须产出 docs/plans/ 计划文件且 implementation-ready 才继续;非软件任务直接停 |
| 2 | ce-work | mode:return-to-caller;要求返回 status: complete,有行为变更时必须带 verification_evidence,否则最多重试一次再阻塞 |
| 3 | ce-simplify-code | 在 review 前跑;docs-only 或 <10 行改动跳过;不提交 |
| 4 | ce-code-review | mode:agent(只报告不改);settled_conflict 里"无效化"级发现会停管线 |
| 5 | (LFG 自身) | 应用第 4 步的 review 发现——review 报告 → 这里落地 |
| 6 | 自主残留 handoff | 仅当存在未应用的 downstream-resolver 发现时 |
| 8 | ce-commit-push-pr | commit + push + 开 PR;记录 New concepts: trailer(可跟 ce-explain) |
| 9 | 盯 CI | watch CI 修到绿 |
Shipping precondition(第 5–9 步):先跑一次 git remote;若没有 remote,则退化为"只本地提交",跳过所有 push / 开 PR / 盯 CI——这是终态,不报错、不重试。
与相邻 skill 的边界:想每步自己 review → 用单个 ce-plan/ce-work/ce-debug/ce-commit-push-pr;想甩手到绿 PR → ce-brainstorm 后直接 /lfg。它就是标准 6 步循环的"自动驾驶版"。
完整依赖关系图
实线 = 主流程步进;虚线 = grounding / 反哺 / 路由 / 编排等跨阶段依赖。八个子图对应上面的分类。
flowchart TD
subgraph UP["① 上游选题 / 战略"]
strategy["ce-strategy<br/>STRATEGY.md"]
ideate["ce-ideate<br/>排序点子"]
pov["ce-pov<br/>外部技术裁决"]
pulse["ce-product-pulse<br/>产品脉搏"]
end
subgraph LOOP["② 核心循环(每个 feature)"]
direction TB
brainstorm["ce-brainstorm<br/>需求文档"]
plan["ce-plan<br/>实现计划"]
work["ce-work<br/>执行"]
simplify["ce-simplify-code<br/>整理"]
review["ce-code-review<br/>评审"]
compound["ce-compound<br/>沉淀 docs/solutions"]
brainstorm --> plan --> work --> simplify --> review --> compound
end
subgraph BUG["③ 调试分叉"]
debug["ce-debug<br/>复现·根因·修复"]
end
subgraph SHIP["④ 交付 / PR"]
worktree["ce-worktree"]
commit["ce-commit"]
cpp["ce-commit-push-pr"]
resolve["ce-resolve-pr-feedback"]
babysit["ce-babysit-pr"]
end
subgraph TEST["⑤ 测试 / 打磨"]
tbrowser["ce-test-browser"]
txcode["ce-test-xcode"]
polish["ce-polish"]
dogfood["ce-dogfood"]
optimize["ce-optimize"]
end
subgraph DOC["⑥ 知识 / 文档"]
crefresh["ce-compound-refresh"]
docreview["ce-doc-review"]
explain["ce-explain"]
proof["ce-proof"]
promote["ce-promote"]
end
subgraph FB["⑦ 反馈 / 运营"]
sweep["ce-sweep"]
riffrec["ce-riffrec-feedback-analysis"]
end
subgraph OPS["⑧ 编排 / 运维"]
setup["ce-setup"]
lfg["lfg 全自动流水线"]
end
%% 上游 → 循环
strategy -.grounding.-> ideate
strategy -.grounding.-> brainstorm
strategy -.grounding.-> plan
ideate --> brainstorm
pov -.裁决路由.-> plan
pov -.裁决路由.-> brainstorm
pulse -.反哺.-> ideate
pulse -.反哺.-> sweep
%% 复利回头箭头
compound -.复利·喂回.-> brainstorm
compound -.复利·喂回.-> plan
crefresh -.维护.-> compound
compound -.-> explain
%% 调试分叉
debug -.替代入口.-> brainstorm
debug --> review
dogfood -.自动修复.-> debug
%% 文档评审
docreview -.审计.-> brainstorm
docreview -.审计.-> plan
%% 交付链
worktree --> work
review --> commit --> cpp
cpp --> babysit
babysit --> resolve
babysit --> debug
cpp --> promote
%% 测试
review --> tbrowser
work --> polish
%% 发布
plan -.publish.-> proof
compound -.publish.-> proof
%% 反馈
riffrec --> brainstorm
sweep --> lfg
%% 编排
setup -.前置检查.-> brainstorm
lfg -.编排.-> plan
lfg -.编排.-> work
lfg -.编排.-> simplify
lfg -.编排.-> review
lfg -.编排.-> tbrowser
lfg -.编排.-> cpp
推荐上手顺序
/ce-setup—— 一次性,检查环境。- 不知道做什么 →
/ce-ideate;要立规矩 →/ce-strategy;判断某外部技术 →/ce-pov。 - 进主循环:brainstorm → plan → work → simplify-code → code-review → compound。
- bug 场景走
/ce-debug代替前三步。 - 想全自动:brainstorm 后直接
/lfg。 - 其余(commit/PR/test/promote/proof/sweep 等)按需在对应节点插入。
一句话记忆:核心是 6 步循环,ce-compound 把学习喂回起点形成复利;其余 24 个技能是围着循环的"上游选题、调试分叉、交付 PR、测试打磨、知识沉淀、反馈运营、编排自动化"七类附件。