Token导航 LogoToken导航

Agent Skill · 研究检索

ce-compound(ce 化合物)

ce-compound 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

ce-compound 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为执行命令;许可证信息还不明确,第三方扫描有提醒项,按安装量在研究检索类的 73,675 个 Skill 里排第 31,159。

总安装 2,752周安装 117GitHub Stars 15,925下载 964核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:ce-compound(ce 化合物)
来源仓库:https://github.com/everyinc/compound-engineering-plugin
仓库路径:skills/ce-compound
安装命令:
npx skills add https://github.com/everyinc/compound-engineering-plugin --skill ce-compound
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/everyinc/compound-engineering-plugin --skill ce-compound

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

ce-compound 协调多个子代理并行记录已解决问题,生成带 YAML 元数据的结构化知识资产。适用于沉淀技术方案、复用历史经验以提升团队整体问题解决效率。自动归档至 docs/solutions/ 目录,支持未来检索与模式推导。首次解决同类问题耗时随积累呈指数下降,形成组织知识复利效应。

适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

来源仓库内路径:skills/ce-compound

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/everyinc/compound-engineering-plugin --skill c…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要执行命令,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

ce-compound 怎么安装?

在终端执行 npx skills add https://github.com/everyinc/compound-engineering-plugin --skill ce-compound。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

ce-compound 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

ce-compound 需要什么权限?

权限级别是执行命令。安装流程涉及命令执行,可能通过 npx skills add https://github.com/everyinc/compound-engineering-plugin --skill ce-compound 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

ce-compound 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

ce-compound 用的人多吗?

公开数据是累计安装 2,752 次,近一周安装 117 次,下载 964 次,GitHub 15,925 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

ce-compound 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 来源仓库有 15,925 星,维护活跃度相对可查。

先想清楚的地方

  • 需要执行命令,装到常用环境前要先评估影响面。
  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 不能接受 Skill 在你机器上执行命令的人。
  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
ce-compound

ce 化合物 · 本页

2,75215,925执行命令未明确有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

/ce-compound

Coordinate multiple subagents working in parallel to document a recently solved problem.

Purpose

Captures problem solutions while context is fresh, creating structured documentation in docs/solutions/ with YAML frontmatter for searchability and future reference. Uses parallel subagents for maximum efficiency.

Why "compound"? Each documented solution compounds your team's knowledge. The first time you solve a problem takes research. Document it, and the next occurrence takes minutes. Knowledge compounds.

Usage

/ce-compound                    # Document the most recent fix
/ce-compound [brief context]    # Provide additional context hint

Pre-resolved context

Repo name (pre-resolved):!common=$(git rev-parse --path-format=absolute --git-common-dir 2>/dev/null); repo="${common%/.git}"; echo "${repo##*/}"

Git branch (pre-resolved):!git rev-parse --abbrev-ref HEAD 2>/dev/null || true

If the lines above resolved to plain values (a folder name like my-repo and a branch name like feat/my-branch), pass them into the Session Historian dispatch in Phase 1 so the agent does not waste a turn deriving them. If they still contain backtick command strings or are empty, omit them from the dispatch and let the agent derive them at runtime.

Support Files

These files are the durable contract for the workflow. Read them on-demand at the step that needs them — do not bulk-load at skill start.

  • references/schema.yaml — canonical frontmatter fields and enum values (read when validating YAML)
  • references/yaml-schema.md — category mapping from problem_type to directory (read when classifying)
  • assets/resolution-template.md — section structure for new docs (read when assembling)

When spawning subagents, pass the relevant file contents into the task prompt so they have the contract without needing cross-skill paths.

Execution Strategy

Present the user with two options before proceeding, using the platform's blocking question tool: AskUserQuestion in Claude Code (call ToolSearch with select:AskUserQuestion first if its schema isn't loaded), request_user_input in Codex, ask_user in Gemini, ask_user in Pi (requires the pi-ask-user extension). Fall back to presenting options in chat only when no blocking tool exists in the harness or the call errors (e.g., Codex edit modes) — not because a schema load is required. Never silently skip the question.

1. Full (recommended) — the complete compound workflow. Researches,
   cross-references, and reviews your solution to produce documentation
   that compounds your team's knowledge.

2. Lightweight — same documentation, single pass. Faster and uses
   fewer tokens, but won't detect duplicates or cross-reference
   existing docs. Best for simple fixes or long sessions nearing
   context limits.

Do NOT pre-select a mode. Do NOT skip this prompt. Wait for the user's choice before proceeding.

If the user chooses Full, ask one follow-up question before proceeding. Detect which harness is running (Claude Code, Codex, or Cursor) and ask:

Would you also like to search your [harness name] session history
for relevant knowledge to help the Compound process? This adds
time and token usage.

If the user says yes, dispatch the Session Historian in Phase 1. If no, skip it. Do not ask this in lightweight mode.


Full Mode

<critical_requirement> The primary output is ONE file - the final documentation.

Phase 1 subagents return TEXT DATA to the orchestrator. They must NOT use Write, Edit, or create any files. Only the orchestrator writes files: the solution doc in Phase 2, and — if the Discoverability Check finds a gap — a small edit to a project instruction file (AGENTS.md or CLAUDE.md). The instruction-file edit is maintenance, not a second deliverable; it ensures future agents can discover the knowledge store. </critical_requirement>

Phase 0.5: Auto Memory Scan

Before launching Phase 1 subagents, check the auto-memory block injected into your system prompt for notes relevant to the problem being documented.

  1. Look for a block labeled "user's auto-memory" (Claude Code only) already present in your system prompt context — MEMORY.md's entries are inlined there
  2. If the block is absent, empty, or this is a non-Claude-Code platform, skip this step and proceed to Phase 1 unchanged
  3. Scan the entries for anything related to the problem being documented -- use semantic judgment, not keyword matching
  4. If relevant entries are found, prepare a labeled excerpt block:
## Supplementary notes from auto memory
Treat as additional context, not primary evidence. Conversation history
and codebase findings take priority over these notes.

[relevant entries here]
  1. Pass this block as additional context to the Context Analyzer and Solution Extractor task prompts in Phase 1. If any memory notes end up in the final documentation (e.g., as part of the investigation steps or root cause analysis), tag them with "(auto memory [claude])" so their origin is clear to future readers.

If no relevant entries are found, proceed to Phase 1 without passing memory context.

Phase 1: Research

Launch research subagents. Each returns text data to the orchestrator.

Dispatch order:

  • Launch Context Analyzer, Solution Extractor, and Related Docs Finder in parallel (background)
  • Then dispatch ce-session-historian in foreground — it reads session files outside the working directory that background agents may not have access to
  • The foreground dispatch runs while the background agents work, adding no wall-clock time

<parallel_tasks>

1. Context Analyzer
  • Extracts conversation history
  • Reads references/schema.yaml for enum validation and track classification
  • Determines the track (bug or knowledge) from the problem_type
  • Identifies problem type, component, and track-appropriate fields:

- Bug track: symptoms, root_cause, resolution_type - Knowledge track: applies_when (symptoms/root_cause/resolution_type optional)

  • Incorporates auto memory excerpts (if provided by the orchestrator) as supplementary evidence
  • Reads references/yaml-schema.md for category mapping into docs/solutions/
  • Suggests a filename using the pattern [sanitized-problem-slug]-[date].md
  • Returns: YAML frontmatter skeleton (must include category: field mapped from problem_type), category directory path, suggested filename, and which track applies
  • Does not invent enum values, categories, or frontmatter fields from memory; reads the schema and mapping files above
  • Does not force bug-track fields onto knowledge-track learnings or vice versa
2. Solution Extractor
  • Reads references/schema.yaml for track classification (bug vs knowledge)
  • Adapts output structure based on the problem_type track
  • Incorporates auto memory excerpts (if provided by the orchestrator) as supplementary evidence -- conversation history and the verified fix take priority; if memory notes contradict the conversation, note the contradiction as cautionary context

Bug track output sections:

  • Problem: 1-2 sentence description of the issue
  • Symptoms: Observable symptoms (error messages, behavior)
  • What Didn't Work: Failed investigation attempts and why they failed
  • Solution: The actual fix with code examples (before/after when applicable)
  • Why This Works: Root cause explanation and why the solution addresses it
  • Prevention: Strategies to avoid recurrence, best practices, and test cases. Include concrete code examples where applicable (e.g., gem configurations, test assertions, linting rules)

Knowledge track output sections:

  • Context: What situation, gap, or friction prompted this guidance
  • Guidance: The practice, pattern, or recommendation with code examples when useful
  • Why This Matters: Rationale and impact of following or not following this guidance
  • When to Apply: Conditions or situations where this applies
  • Examples: Concrete before/after or usage examples showing the practice in action
3. Related Docs Finder
  • Searches docs/solutions/ for related documentation
  • Identifies cross-references and links
  • Finds related GitHub issues
  • Flags any related learning or pattern docs that may now be stale, contradicted, or overly broad
  • Assesses overlap with the new doc being created across five dimensions: problem statement, root cause, solution approach, referenced files, and prevention rules. Score as:

- High: 4-5 dimensions match — essentially the same problem solved again - Moderate: 2-3 dimensions match — same area but different angle or solution - Low: 0-1 dimensions match — related but distinct

  • Returns: Links, relationships, refresh candidates, and overlap assessment (score + which dimensions matched)

Search strategy (grep-first filtering for efficiency):

  1. Extract keywords from the problem context: module names, technical terms, error messages, component types
  2. If the problem category is clear, narrow search to the matching docs/solutions/<category>/ directory
  3. Use the native content-search tool (e.g., Grep in Claude Code) to pre-filter candidate files BEFORE reading any content. Run multiple searches in parallel, case-insensitive, targeting frontmatter fields. These are template patterns -- substitute actual keywords:

- title:.*<keyword> - tags:.*(<keyword1>|<keyword2>) - module:.*<module name> - component:.*<component>

  1. If search returns >25 candidates, re-run with more specific patterns. If <3, broaden to full content search
  2. Read only frontmatter (first 30 lines) of candidate files to score relevance
  3. Fully read only strong/moderate matches
  4. Return distilled links and relationships, not raw file contents

GitHub issue search:

Prefer the gh CLI for searching related issues: gh issue list --search "<keywords>" --state all --limit 5. If gh is not installed, fall back to the GitHub MCP tools (e.g., unblocked data_retrieval) if available. If neither is available, skip GitHub issue search and note it was skipped in the output.

</parallel_tasks>

4. Session Historian (foreground, after launching the above — only if the user opted in)
  • Skip entirely if the user declined session history in the follow-up question
  • Dispatched as ce-session-historian
  • Dispatch in foreground — this agent reads session files outside the working directory (~/.claude/projects/, ~/.codex/sessions/, ~/.cursor/projects/) which background agents may not have access to
  • Omit the mode parameter so the user's configured permission settings apply
  • Dispatch on the mid-tier model (e.g., model: "sonnet" in Claude Code) — the synthesis feeds into compound assembly and doesn't need frontier reasoning

Dispatch prompt — keep tight. A long, keyword-rich prompt licenses the agent to keep widening. Use this shape:

  • Pre-resolved context (only if values resolved cleanly above; otherwise omit and let the agent derive): repo name, current git branch.
  • Time window: explicit 7 days unless the documented problem clearly spans a longer arc.
  • Problem topic: one sentence naming the concrete issue — error message, module name, what broke and how it was fixed. Not a paragraph; not a bullet list of related topics.
  • Filter rule (one line): "Only surface findings directly relevant to this specific problem. Ignore unrelated work from the same sessions or branches."
  • Output schema: Structure your response with these sections (omit any with no findings): - What was tried before - What didn't work - Key decisions - Related context

Do not append additional context blocks, exclusion lists, or topic-keyword bullets — verbose dispatch prompts give the agent license to keep widening the search and rapidly compound wall time. If the agent needs keyword search, it owns that decision via the --keyword mode on ce-session-inventory.

  • Returns: structured digest of findings from prior sessions, or "no relevant prior sessions" if none found

Phase 2: Assembly & Write

<sequential_tasks>

WAIT for all Phase 1 subagents to complete before proceeding.

The orchestrating agent (main conversation) performs these steps:

  1. Collect all text results from Phase 1 subagents
  2. Check the overlap assessment from the Related Docs Finder before deciding what to write: Overlap Action High — existing doc covers the same problem, root cause, and solution Update the existing doc with fresher context (new code examples, updated references, additional prevention tips) rather than creating a duplicate. The existing doc's path and structure stay the same. Moderate — same problem area but different angle, root cause, or solution Create the new doc normally. Flag the overlap for Phase 2.5 to recommend consolidation review. Low or none Create the new doc normally. The reason to update rather than create: two docs describing the same problem and solution will inevitably drift apart. The newer context is fresher and more trustworthy, so fold it into the existing doc rather than creating a second one that immediately needs consolidation. When updating an existing doc, preserve its file path and frontmatter structure. Update the solution, code examples, prevention tips, and any stale references. Add a last_updated: YYYY-MM-DD field to the frontmatter. Do not change the title unless the problem framing has materially shifted.
  3. Incorporate session history findings (if available). When the Session History Researcher returned relevant prior-session context:

- Fold investigation dead ends and failed approaches into the What Didn't Work section (bug track) or Context section (knowledge track) - Use cross-session patterns to enrich the Prevention or Why This Matters sections - Tag session-sourced content with "(session history)" so its origin is clear to future readers - If findings are thin or "no relevant prior sessions," proceed without session context

  1. Assemble complete markdown file from the collected pieces, reading assets/resolution-template.md for the section structure of new docs
  2. Validate YAML frontmatter against references/schema.yaml, including the YAML-safety quoting rule for array items (see references/yaml-schema.md > YAML Safety Rules)
  3. Create directory if needed: mkdir -p docs/solutions/[category]/
  4. Write the file: either the updated existing doc or the new docs/solutions/[category]/[filename].md
  5. Run python3 scripts/validate-frontmatter.py <output-path> to catch silent-corruption parser-safety issues that the prose rules miss: malformed --- delimiter lines, unquoted # in scalar values (silent comment truncation), and unquoted : in scalar values (silent mapping confusion). Exit 0 means the doc is parser-safe; exit 1 means the script's stderr names the offending field(s) and what to fix — quote the value(s), re-write the doc, and re-run until exit 0. Do not declare success while validation fails. The script does not enforce schema rules and does not flag YAML reserved-indicator characters (those produce loud parser errors downstream rather than silent corruption — out of scope). Uses Python 3 stdlib only (no PyYAML or other deps).

When creating a new doc, preserve the section order from assets/resolution-template.md unless the user explicitly asks for a different structure.

</sequential_tasks>

Phase 2.5: Selective Refresh Check

After writing the new learning, decide whether this new solution is evidence that older docs should be refreshed.

ce-compound-refresh is not a default follow-up. Use it selectively when the new learning suggests an older learning or pattern doc may now be inaccurate.

It makes sense to invoke ce-compound-refresh when one or more of these are true:

  1. A related learning or pattern doc recommends an approach that the new fix now contradicts
  2. The new fix clearly supersedes an older documented solution
  3. The current work involved a refactor, migration, rename, or dependency upgrade that likely invalidated references in older docs
  4. A pattern doc now looks overly broad, outdated, or no longer supported by the refreshed reality
  5. The Related Docs Finder surfaced high-confidence refresh candidates in the same problem space
  6. The Related Docs Finder reported moderate overlap with an existing doc — there may be consolidation opportunities that benefit from a focused review

It does not make sense to invoke ce-compound-refresh when:

  1. No related docs were found
  2. Related docs still appear consistent with the new learning
  3. The overlap is superficial and does not change prior guidance
  4. Refresh would require a broad historical review with weak evidence

Use these rules:

  • If there is one obvious stale candidate, invoke ce-compound-refresh with a narrow scope hint after the new learning is written
  • If there are multiple candidates in the same area, ask the user whether to run a targeted refresh for that module, category, or pattern set
  • If context is already tight or you are in lightweight mode, do not expand into a broad refresh automatically; instead recommend ce-compound-refresh as the next step with a scope hint

When invoking or recommending ce-compound-refresh, be explicit about the argument to pass. Prefer the narrowest useful scope:

  • Specific file when one learning or pattern doc is the likely stale artifact
  • Module or component name when several related docs may need review
  • Category name when the drift is concentrated in one solutions area
  • Pattern filename or pattern topic when the stale guidance lives in docs/solutions/patterns/

Examples:

  • /ce-compound-refresh plugin-versioning-requirements
  • /ce-compound-refresh payments
  • /ce-compound-refresh performance-issues
  • /ce-compound-refresh critical-patterns

A single scope hint may still expand to multiple related docs when the change is cross-cutting within one domain, category, or pattern area.

Do not invoke ce-compound-refresh without an argument unless the user explicitly wants a broad sweep.

Always capture the new learning first. Refresh is a targeted maintenance follow-up, not a prerequisite for documentation.

Discoverability Check

After the learning is written and the refresh decision is made, check whether the project's instruction files would lead an agent to discover and search docs/solutions/ before starting work in a documented area. This runs every time — the knowledge store only compounds value when agents can find it.

  1. Identify which root-level instruction files exist (AGENTS.md, CLAUDE.md, or both). Read the file(s) and determine which holds the substantive content — one file may just be a shim that @-includes the other (e.g., CLAUDE.md containing only @AGENTS.md, or vice versa). The substantive file is the assessment and edit target; ignore shims. If neither file exists, skip this check entirely.
  2. Assess whether an agent reading the instruction files would learn three things: This is a semantic assessment, not a string match. The information could be a line in an architecture section, a bullet in a gotchas section, spread across multiple places, or expressed without ever using the exact path docs/solutions/. Use judgment — if an agent would reasonably discover and use the knowledge store after reading the file, the check passes.

- That a searchable knowledge store of documented solutions exists - Enough about its structure to search effectively (category organization, YAML frontmatter fields like module, tags, problem_type) - When to search it (before implementing features, debugging issues, or making decisions in documented areas — learnings may cover bugs, best practices, workflow patterns, or other institutional knowledge)

  1. If the spirit is already met, no action needed — move on.
  2. If not: a. Based on the file's existing structure, tone, and density, identify where a mention fits naturally. Before creating a new section, check whether the information could be a single line in the closest related section — an architecture tree, a directory listing, a documentation section, or a conventions block. A line added to an existing section is almost always better than a new headed section. Only add a new section as a last resort when the file has clear sectioned structure and nothing is even remotely related. b. Draft the smallest addition that communicates the three things. Match the file's existing style and density. The addition should describe the knowledge store itself, not the plugin — an agent without the plugin should still find value in it. Keep the tone informational, not imperative. Express timing as description, not instruction — "relevant when implementing or debugging in documented areas" rather than "check before implementing or debugging." Imperative directives like "always search before implementing" cause redundant reads when a workflow already includes a dedicated search step. The goal is awareness: agents learn the folder exists and what's in it, then use their own judgment about when to consult it. Examples of calibration (not templates — adapt to the file): When there's an existing directory listing or architecture section — add a line: docs/solutions/ # documented solutions to past problems (bugs, best practices, workflow patterns), organized by category with YAML frontmatter (module, tags, problem_type) When nothing in the file is a natural fit — a small headed section is appropriate: ` ## Documented Solutions docs/solutions/ — documented solutions to past problems (bugs, best practices, workflow patterns), organized by category with YAML frontmatter (module, tags, problem_type). Relevant when implementing or debugging in documented areas. c. In full mode, explain to the user why this matters — agents working in this repo (including fresh sessions, other tools, or collaborators without the plugin) won't know to check docs/solutions/ unless the instruction file surfaces it. Show the proposed change and where it would go, then use the platform's blocking question tool to get consent before making the edit: AskUserQuestion in Claude Code (call ToolSearch with select:AskUserQuestion first if its schema isn't loaded), request_user_input in Codex, ask_user in Gemini, ask_user in Pi (requires the pi-ask-user` extension). Fall back to presenting the proposal in chat only when no blocking tool exists in the harness or the call errors (e.g., Codex edit modes) — not because a schema load is required. Never silently skip the question. In lightweight mode, output a one-liner note and move on

Phase 3: Optional Enhancement

WAIT for Phase 2 to complete before proceeding.

<parallel_tasks>

Based on problem type, optionally invoke specialized agents to review the documentation:

  • performance_issue → ce-performance-oracle
  • security_issue → ce-security-sentinel
  • database_issue → ce-data-integrity-guardian
  • Any code-heavy issue → always run ce-code-simplicity-reviewer, and additionally run the kieran reviewer that matches the repo's primary stack:

- Ruby/Rails → also run ce-kieran-rails-reviewer - Python → also run ce-kieran-python-reviewer - TypeScript/JavaScript → also run ce-kieran-typescript-reviewer - Other stacks → no kieran reviewer needed

</parallel_tasks>


Lightweight Mode

<critical_requirement> Single-pass alternative — same documentation, fewer tokens.

This mode skips parallel subagents entirely. The orchestrator performs all work in a single pass, producing the same solution document without cross-referencing or duplicate detection. </critical_requirement>

The orchestrator (main conversation) performs ALL of the following in one sequential pass:

  1. Extract from conversation: Identify the problem and solution from conversation history. Also scan the "user's auto-memory" block injected into your system prompt, if present (Claude Code only) -- use any relevant notes as supplementary context alongside conversation history. Tag any memory-sourced content incorporated into the final doc with "(auto memory [claude])"
  2. Classify: Read references/schema.yaml and references/yaml-schema.md, then determine track (bug vs knowledge), category, and filename
  3. Write minimal doc: Create docs/solutions/[category]/[filename].md using the appropriate track template from assets/resolution-template.md, with:

- YAML frontmatter with track-appropriate fields, applying the YAML-safety quoting rule for array items (see references/yaml-schema.md > YAML Safety Rules) - Bug track: Problem, root cause, solution with key code snippets, one prevention tip - Knowledge track: Context, guidance with key examples, one applicability note

  1. Skip specialized agent reviews (Phase 3) to conserve context

Lightweight output:

✓ Documentation complete (lightweight mode)

File created:
- docs/solutions/[category]/[filename].md

[If discoverability check found instruction files don't surface the knowledge store:]
Tip: Your AGENTS.md/CLAUDE.md doesn't surface docs/solutions/ to agents —
a brief mention helps all agents discover these learnings.

Note: This was created in lightweight mode. For richer documentation
(cross-references, detailed prevention strategies, specialized reviews),
re-run /ce-compound in a fresh session.

No subagents are launched. No parallel tasks. One file written.

In lightweight mode, the overlap check is skipped (no Related Docs Finder subagent). This means lightweight mode may create a doc that overlaps with an existing one. That is acceptable — ce-compound-refresh will catch it later. Only suggest ce-compound-refresh if there is an obvious narrow refresh target. Do not broaden into a large refresh sweep from a lightweight session.


What It Captures

  • Problem symptom: Exact error messages, observable behavior
  • Investigation steps tried: What didn't work and why
  • Root cause analysis: Technical explanation
  • Working solution: Step-by-step fix with code examples
  • Prevention strategies: How to avoid in future
  • Cross-references: Links to related issues and docs

Preconditions

What It Creates

Organized documentation:

  • File: docs/solutions/[category]/[filename].md

Categories auto-detected from problem:

Bug track:

  • build-errors/
  • test-failures/
  • runtime-errors/
  • performance-issues/
  • database-issues/
  • security-issues/
  • ui-bugs/
  • integration-issues/
  • logic-errors/

Knowledge track:

  • architecture-patterns/ — architectural or structural patterns (agent/skill/pipeline/workflow shape decisions)
  • design-patterns/ — reusable non-architectural design approaches (content generation, interaction patterns, prompt shapes)
  • tooling-decisions/ — language, library, or tool choices with durable rationale
  • conventions/ — team-agreed way of doing something, captured so it survives turnover
  • workflow-issues/
  • developer-experience/
  • documentation-gaps/
  • best-practices/ — fallback only, use when no narrower knowledge-track value applies

Common Mistakes to Avoid

❌ Wrong✅ Correct
Subagents write files like context-analysis.md, solution-draft.mdSubagents return text data; orchestrator writes one final file
Research and assembly run in parallelResearch completes → then assembly runs
Multiple files created during workflowOne solution doc written or updated: docs/solutions/[category]/[filename].md (plus an optional small edit to a project instruction file for discoverability)
Creating a new doc when an existing doc covers the same problemCheck overlap assessment; update the existing doc when overlap is high

Success Output

✓ Documentation complete

Auto memory: 2 relevant entries used as supplementary evidence

Subagent Results:
  ✓ Context Analyzer: Identified performance_issue in brief_system, category: performance-issues/
  ✓ Solution Extractor: 3 code fixes, prevention strategies
  ✓ Related Docs Finder: 2 related issues
  ✓ Session History: 3 prior sessions on same branch, 2 failed approaches surfaced

Specialized Agent Reviews (Auto-Triggered):
  ✓ ce-performance-oracle: Validated query optimization approach
  ✓ ce-kieran-rails-reviewer: Code examples meet Rails conventions
  ✓ ce-code-simplicity-reviewer: Solution is appropriately minimal

File created:
- docs/solutions/performance-issues/n-plus-one-brief-generation.md

This documentation will be searchable for future reference when similar
issues occur in the Email Processing or Brief System modules.

What's next?
1. Continue workflow (recommended)
2. Link related documentation
3. Update other references
4. View documentation
5. Other

After displaying the success output, present the "What's next?" options using the platform's blocking question tool: AskUserQuestion in Claude Code (call ToolSearch with select:AskUserQuestion first if its schema isn't loaded), request_user_input in Codex, ask_user in Gemini, ask_user in Pi (requires the pi-ask-user extension). Fall back to numbered options in chat only when no blocking tool exists in the harness or the call errors (e.g., Codex edit modes) — not because a schema load is required. Never silently skip the question. Do not continue the workflow or end the turn without the user's selection.

Alternate output (when updating an existing doc due to high overlap):

✓ Documentation updated (existing doc refreshed with current context)

Overlap detected: docs/solutions/performance-issues/n-plus-one-queries.md
  Matched dimensions: problem statement, root cause, solution, referenced files
  Action: Updated existing doc with fresher code examples and prevention tips

File updated:
- docs/solutions/performance-issues/n-plus-one-queries.md (added last_updated: 2026-03-24)

The Compounding Philosophy

This creates a compounding knowledge system:

  1. First time you solve "N+1 query in brief generation" → Research (30 min)
  2. Document the solution → docs/solutions/performance-issues/n-plus-one-briefs.md (5 min)
  3. Next time similar issue occurs → Quick lookup (2 min)
  4. Knowledge compounds → Team gets smarter

The feedback loop:

Build → Test → Find Issue → Research → Improve → Document → Validate → Deploy
    ↑                                                                      ↓
    └──────────────────────────────────────────────────────────────────────┘

Each unit of engineering work should make subsequent units of work easier—not harder.

Auto-Invoke

<auto_invoke> <trigger_phrases> - "that worked" - "it's fixed" - "working now" - "problem solved" </trigger_phrases>

<manual_override> Use /ce-compound [context] to document immediately without waiting for auto-detection. </manual_override> </auto_invoke>

Output

Writes the final learning directly into docs/solutions/.

Applicable Specialized Agents

Based on problem type, these agents can enhance documentation:

Code Quality & Review

  • ce-kieran-rails-reviewer: Reviews code examples for Rails best practices
  • ce-kieran-python-reviewer: Reviews code examples for Python best practices
  • ce-kieran-typescript-reviewer: Reviews code examples for TypeScript best practices
  • ce-code-simplicity-reviewer: Ensures solution code is minimal and clear
  • ce-pattern-recognition-specialist: Identifies anti-patterns or repeating issues

Specific Domain Experts

  • ce-performance-oracle: Analyzes performance_issue category solutions
  • ce-security-sentinel: Reviews security_issue solutions for vulnerabilities
  • ce-data-integrity-guardian: Reviews database_issue migrations and queries

Enhancement & Research

  • ce-best-practices-researcher: Enriches solution with industry best practices
  • ce-framework-docs-researcher: Links to framework/library documentation references

When to Invoke

  • Auto-triggered (optional): Agents can run post-documentation for enhancement
  • Manual trigger: User can invoke agents after /ce-compound completes for deeper review

Related Commands

  • /research [topic] - Deep investigation (searches docs/solutions/ for patterns)
  • /ce-plan - Planning workflow (references documented solutions)

平台分布

Codex

38.34%
按下载量换算370

Claude

27.13%
按下载量换算262

Cursor

19.09%
按下载量换算184

Gemini CLI

9.76%
按下载量换算94

安全审计

Gen Agent Trust Hub

可疑

Socket

通过

Snyk

可疑

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add https://github.com/everyinc/compound-engineering-plugin --skill ce-compound 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills