ce-compound

记录最近解决的问题,以便下次遇到问题只需几分钟而不是几个小时。知识复合。

ce-compound知识获取技能。解决一个重要问题后,此技能会向 docs/solutions/ 写入结构化文档,涵盖症状、根本原因、不起作用的内容、工作解决方案和预防策略。 ce-plance-ideatece-debugce-work 的未来运行会将此文件夹作为机构内存进行查询 - 因此相同的调查永远不会发生两次。

复合工程构思链是/ce-ideate → /ce-brainstorm → /ce-plan → /ce-workce-compound 是 ** 闭环 ** - 在调试或构建会话结束时捕获,文档反馈给上游作为未来运行的基础。第一次解决“简短生成中的 N+1 查询”需要 30 分钟的研究;第二次,你找到文档,修复需要 2 分钟。


TL;DR

问题 回答
它有什么作用? 将已解决的问题记录到 docs/solutions/[category]/[filename].md 中,其中包含结构化的前言、错误跟踪或知识跟踪部分以及交叉引用
何时使用它 解决了一个不平凡的问题后;当用户说“有效”、“已修复”、“问题已解决”时
它生产什么 docs/solutions/ 中的一份文档,加上对 AGENTS.md/CLAUDE.md 的可选小编辑以提高可发现性
接下来是什么?如果新的学习表明旧文档可能已过时,则可选 /ce-compound-refresh

## 问题

大多数团队会两次解决同一问题(有时是同一个人),因为第一个解决方案存在于对话、聊天记录或队友的头脑中。常见故障形状:

  • 解决方案存在于聊天中 — Slack 线程、线性评论、代理记录;一周后消失
  • 已记录但无法发现 — 写入维基无人搜索,或 docs/solutions/ 存在但代理不知道检查它
  • 重新遇到时重写 - 针对同一问题创建了一个略有不同的文档,现在有两个文档会发生变化
  • 没有捕获反模式 - *不起作用的部分是调查中最昂贵的部分,也是第一个消失的部分
  • 在会话结束混乱时捕获,而不是会话结束清晰 - 当上下文已经褪色时编写文档

解决方案

ce-compound runs as a structured capture flow at the moment context is freshest:

  • 两种模式 - 完整(用于交叉引用和重复检测的并行子代理)和轻量级(单次传递,更快,更少的令牌)
  • Bug跟踪和知识跟踪产生与文档类型匹配的不同部分结构
  • 重叠检查决定是否更新现有文档而不是创建重复文档
  • 可发现性检查确保项目的 AGENTS.md/CLAUDE.md 表面 docs/solutions/ 以便未来的代理找到它
  • 专业代理审查(kieran 审查员、代码简单性、性能/安全性/数据完整性)可选择增强文档

是什么让它如此新颖

1. 两种模式 — 完整模式与轻量级模式

完整模式 并行运行三个研究子代理(上下文分析器/解决方案提取器/相关文档查找器),然后可选地运行一个前台会话历史记录器(默认情况下关闭 - 在 Claude Code、Codex、Cursor 中搜索您之前的会话以获取相关上下文)。交叉引用现有文档、检测重复项、进行专门审查。

轻量级模式 在一次传递中执行相同的文档,没有子代理,没有交叉引用。更快,更少的代币。最适合简单修复或上下文紧张时。

用户明确选择模式——技能永远不会自动选择。

2. Bug 跟踪与知识跟踪 — 不同形状的不同结构

该技能根据 problem_type 将工作分为两个轨道之一:

  • 错误跟踪 — 症状、什么不起作用、解决方案、为什么有效、预防。用于构建错误、测试失败、运行时错误、性能问题、集成问题等。
  • 知识轨道 — 背景、指导、为什么这很重要、何时应用、示例。用于架构模式、设计模式、工具决策、约定、工作流程实践。

轨道决定章节顺序和 frontmatter 字段。将错误跟踪字段强制纳入知识跟踪学习(反之亦然)会产生内容结构错误的文档。

3. 重叠检测——更新现有文档而不是创建重复文档

相关文档查找器分数与现有 docs/solutions/ 内容在五个维度上重叠:问题陈述、根本原因、解决方法、引用文件、预防规则。

  • 高重叠(4-5 维匹配)→ 使用更新鲜的上下文更新现有文档。现有路径保持不变;添加 last_updated 字段。描述同一问题的两篇文档不可避免地会出现偏差。
  • 中等重叠(2-3 个维度匹配)→ 创建新文档、合并审核标志(潜在的 ce-compound-refresh 触发器)。
  • 低或无 → 正常创建新文档。

4.可发现性检查——只有代理能够找到知识,知识才会复合

每次运行都会检查项目的指令文件(AGENTS.mdCLAUDE.md)是否会引导未来的代理发现 docs/solutions/。如果没有,它会提出显示知识库的最小添加,请求同意并应用它。检查每次都会运行,因为知识存储仅在可找到时才复合价值。

提议的添加内容与现有文件的语气和密度相匹配——适合时在现有目录列表中添加单行条目,仅当没有其他内容时添加小标题部分。

5.选择性刷新触发

捕获新的学习内容后,ce-compound 检查是否应在窄范围提示上调用 /ce-compound-refresh。它不会默认运行刷新——只有当新的学习表明特定的旧文档现在可能已经过时(矛盾、被取代或在刚刚重构的领域中)时。

6.专门的审后

根据问题类型,可选的专业代理会审查文档:ce-performance-oracle 用于性能问题,ce-security-sentinel 用于安全性,ce-data-integrity-guardian 用于数据库,ce-code-simplicity-reviewer 用于代码密集型问题。

7. 会话历史记录集成(选择加入)

完整模式可以选择性地调度 ce-session-historian 来跨线束搜索之前的会话以获取相关上下文 - 之前尝试过什么、什么不起作用、关键决策。调查结果被折叠到“什么不起作用”(错误跟踪)或“上下文”(知识跟踪)中。由于令牌成本,默认关闭;用户明确选择加入。

8.自动调用触发器

诸如“有效”、“已修复”、“现在工作”、“问题已解决”之类的短语会自动调用该技能,因此捕获会在上下文最新鲜时发生。用户可以使用 /ce-compound [context] 覆盖以立即捕获。


简单示例

您刚刚花了 45 分钟在摘要生成流程中调试 N+1 查询。您确认修复有效并说“有效,发货”。

ce-compound 自动调用(或者您显式调用它)。它询问是否使用完整模式或轻量级模式,然后询问是否也搜索会话历史记录。您选择“完整”,没有会话历史记录。

三个子代理并行调度:上下文分析器读取对话历史记录,分类为 performance_issue(错误跟踪),建议文件名和类别。解决方案提取器使用之前/之后的代码构建修复。相关文档查找器 greps docs/solutions/ 查找相关问题,报告与不同 N+1 案例上的旧文档有一定程度的重叠。

编排器组装文档,通过 YAML 安全脚本验证 frontmatter,并写入 docs/solutions/performance-issues/n-plus-one-brief-generation.md。可发现性检查发现 AGENTS.md 未提及 docs/solutions/,建议在现有目录列表中添加一行,并在确认后应用它。

第 3 阶段调度 ce-performance-oraclece-code-simplicity-reviewer 来验证代码示例和方法。第 2.5 阶段提出了更新建议:较旧的 N+1 文档可能会从合并审核中受益。该技能建议 /ce-compound-refresh n-plus-one 作为窄范围提示并结束。


何时去实现它

在以下情况下使用 ce-compound

  • 你刚刚解决了一个不平凡的问题,并且背景是新鲜的
  • 用户说“有效”、“已修复”、“现在工作”、“问题已解决”
  • 您处于自然停顿状态,想要在上下文消失之前捕捉所学内容
  • 该问题经过了有意义的调查(不是拼写错误或一行修复)

在以下情况下跳过 ce-compound

  • 问题正在进行中或解决方案未经验证
  • 修复是一个微不足道的拼写错误或明显的错误,没有可概括的见解
  • 这项工作纯粹是机械性的(格式化、依赖冲突)

用作工作流程的一部分

ce-compound 是多个工作流程的闭环:

  • /ce-debug 第 4 阶段 — 成功修复和 PR 后,当错误可普遍化时,可以选择提供 ce-compound (重复 3 次以上,关于共享依赖项的错误假设)
  • /ce-work 第 4 阶段 — 发货后,当工作产生可重用模式、约定或工具决策时,表面 ce-compound
  • 独立 — 在任何重要的问题解决会话之后直接调用

输出反馈到上游技能:

  • /ce-plan 在第一阶段研究期间通过 ce-learnings-researcher 读取 docs/solutions/
  • /ce-ideate 将其读取为全面接地步骤的一部分
  • /ce-debug 在获取问题跟踪器引用时读取它以获取先前的上下文

当新的学习表明旧文档现在可能已过时时, ce-compound 会建议 /ce-compound-refresh 进行窄范围提示。


使用独立版

该技能有其自己的完整循环:

  • 刚刚完成的问题/ce-compound (或从“有效”自动调用)
  • 带有上下文提示/ce-compound "the email digest race condition we fixed"
  • 长时间会话中的轻量级 - 当上下文紧张时,在提示时选择轻量级模式

自动调用触发器发生在对话中;如果您刚刚确认某些内容有效,则无需记住斜线命令。


输出工件

docs/solutions/[category]/[filename].md

自动检测类别。错误跟踪示例:build-errors/test-failures/runtime-errors/performance-issues/database-issues/security-issues/ui-bugs/integration-issues/logic-errors/。知识轨道示例:architecture-patterns/design-patterns/tooling-decisions/conventions/workflow-issues/developer-experience/documentation-gaps/best-practices/

该文档带有 YAML frontmatter(moduletagsproblem_type 等)以实现可搜索性。验证通过 scripts/validate-frontmatter.py 运行,以捕获静默损坏(格式错误的 --- 分隔符、标量值中未加引号的 :)。

如果可发现性检查发现知识存储未浮出水面,则该技能还可能会对 AGENTS.md/CLAUDE.md 进行小编辑。


## 参考

论证 效果
(空) 使用对话上下文记录最新的修复
<brief context> <brief context>例如,“我们修复了电子邮件摘要竞争条件”——聚焦捕获

自动调用触发器:对话中任何地方的“有效”、“已修复”、“现在工作”、“问题已解决”等短语。


## 常问问题

为什么有两种模式? 完整模式适用于大多数情况 - 并行子代理捕获重复项、查找相关文档并运行专门的评论。轻量级模式适用于简单的修复或在上下文中紧密运行的会话,其中深度交叉引用不值得花费令牌成本。

错误跟踪和知识跟踪有什么区别? 错误跟踪记录了事件级别的修复——“X 坏了,这就是原因以及我们如何修复它。”知识轨迹捕获了持久的指导——“这就是我们在这里做X的方式,以及原因。”两者有不同的受众和结构:错误跟踪有症状/什么不起作用/解决方案;知识轨道有背景/指导/何时应用。

为什么自动更新文档而不是总是创建新文档? 描述同一问题的两篇文档不可避免地会出现分歧。新的上下文更新鲜、更值得信赖,因此该技能将其合并到现有文档中。结果是一份随着时间的推移而改进的规范文档,而不是一堆需要稍后整合的部分重叠的文档。

它可以在非软件环境中工作吗? 知识轨迹概括了(约定、决策、工作流程实践),但该技能假设有代码存储库、docs/solutions/ 目录和 YAML-frontmatter 约定。它主要是一个软件团队工具。

如果我不想对 AGENTS.md 进行可发现性编辑怎么办? 该技能在应用编辑之前会请求同意。您可以拒绝;文档仍然被写下来。如果您的 AGENTS.md 已提及 docs/solutions/,则不会触发可发现性提示。


另请参阅

  • ce-compound-refresh — 随着代码库的发展不断维护 docs/solutions/
  • ce-debug — 验证修复后的常见上游调用者
  • ce-work — 发货后的常见上游调用者
  • ce-plan — 在规划期间读取 docs/solutions/ 作为机构内存
  • ce-ideate — 读取 docs/solutions/ 作为接地的一部分