/compound

Document a recently solved problem to compound your team's knowledge.

You say
Install this skill Read the source first Free Written by EveryInc · unverified publisher
Context cost
6.8k tokensestimated from the bundle, loaded when it triggers
Bundle
4 files · 27.2 kBtext throughout, nothing executable
Licence
MITfree to use
Last change
no release on file
Servers it uses
Noneruns standalone

What it does

Document a recently solved problem to compound your team's knowledge

Installed, it changes the agent in these ways.

What this skill changes about the agent is not written down here yet. The listing was collected from its source, and the description is in its own SKILL.md.

Workflow

Runs a procedure end to end.

documentation

The skill itself

This is the whole product. A skill is instructions the model reads, so there is nothing behind the listing you cannot see first — the front matter loads with every session, and the body below it loads when the skill triggers.

SKILL.md20.6 kB · 422 lines
--- name: ce:compound description: Document a recently solved problem to compound your team's knowledge argument-hint: "[optional: brief context about the fix]" ---
7# /compound
8
9Coordinate multiple subagents working in parallel to document a recently solved problem.
10
11## Purpose
12
13Captures 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.
14
15**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.
16
17## Usage
18
19```bash
20/ce:compound # Document the most recent fix
21/ce:compound [brief context] # Provide additional context hint
22```
23
24## Support Files
25
26These 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.
27
28- references/schema.yaml — canonical frontmatter fields and enum values (read when validating YAML)
29- references/yaml-schema.md — category mapping from problem_type to directory (read when classifying)
30- assets/resolution-template.md — section structure for new docs (read when assembling)
31
32When spawning subagents, pass the relevant file contents into the task prompt so they have the contract without needing cross-skill paths.
33
34## Execution Strategy
35
36**Always run full mode by default.** Proceed directly to Phase 1 unless the user explicitly requests compact-safe mode (e.g., /ce:compound --compact or "use compact mode").
37
38Compact-safe mode exists as a lightweight alternative — see the **Compact-Safe Mode** section below. It's there if the user wants it, not something to push.
39
40---
41
42### Full Mode
43
44<critical_requirement>
45**Only ONE file gets written - the final documentation.**
46
47Phase 1 subagents return TEXT DATA to the orchestrator. They must NOT use Write, Edit, or create any files. Only the orchestrator (Phase 2) writes the final documentation file.
48</critical_requirement>
49
50### Phase 0.5: Auto Memory Scan
51
52Before launching Phase 1 subagents, check the auto memory directory for notes relevant to the problem being documented.
53
541. Read MEMORY.md from the auto memory directory (the path is known from the system prompt context)
552. If the directory or MEMORY.md does not exist, is empty, or is unreadable, skip this step and proceed to Phase 1 unchanged
563. Scan the entries for anything related to the problem being documented -- use semantic judgment, not keyword matching
574. If relevant entries are found, prepare a labeled excerpt block:
58
59```
60## Supplementary notes from auto memory
61Treat as additional context, not primary evidence. Conversation history
62and codebase findings take priority over these notes.
63
64[relevant entries here]
65```
66
675. 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.
68
69If no relevant entries are found, proceed to Phase 1 without passing memory context.
70
71### Phase 1: Parallel Research
72
73<parallel_tasks>
74
75Launch these subagents IN PARALLEL. Each returns text data to the orchestrator.
76
77#### 1. **Context Analyzer**
78 - Extracts conversation history
79 - Identifies problem type, component, symptoms
80 - Incorporates auto memory excerpts (if provided by the orchestrator) as supplementary evidence when identifying problem type, component, and symptoms
81 - Reads references/schema.yaml for enum validation
82 - Reads references/yaml-schema.md for category mapping into docs/solutions/
83 - Suggests a filename using the pattern [sanitized-problem-slug]-[date].md
84 - Returns: YAML frontmatter skeleton (must include category: field mapped from problem_type), category directory path, and suggested filename
85 - Does not invent enum values, categories, or frontmatter fields from memory; reads the schema and mapping files above
86
87#### 2. **Solution Extractor**
88 - Analyzes all investigation steps
89 - Identifies root cause
90 - Extracts working solution with code examples
91 - 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
92 - Develops prevention strategies and best practices guidance
93 - Generates test cases if applicable
94 - Returns: Solution content block including prevention section
95
96 **Expected output sections (follow this structure):**
97
98 - **Problem**: 1-2 sentence description of the issue
99 - **Symptoms**: Observable symptoms (error messages, behavior)
100 - **What Didn't Work**: Failed investigation attempts and why they failed
101 - **Solution**: The actual fix with code examples (before/after when applicable)
102 - **Why This Works**: Root cause explanation and why the solution addresses it
103 - **Prevention**: Strategies to avoid recurrence, best practices, and test cases. Include concrete code examples where applicable (e.g., gem configurations, test assertions, linting rules)
104
105#### 3. **Related Docs Finder**
106 - Searches docs/solutions/ for related documentation
107 - Identifies cross-references and links
108 - Finds related GitHub issues
109 - Flags any related learning or pattern docs that may now be stale, contradicted, or overly broad
110 - **Assesses overlap** with the new doc being created across five dimensions: problem statement, root cause, solution approach, referenced files, and prevention rules. Score as:
111 - **High**: 4-5 dimensions match — essentially the same problem solved again
112 - **Moderate**: 2-3 dimensions match — same area but different angle or solution
113 - **Low**: 0-1 dimensions match — related but distinct
114 - Returns: Links, relationships, refresh candidates, and overlap assessment (score + which dimensions matched)
115
116 **Search strategy (grep-first filtering for efficiency):**
117
118 1. Extract keywords from the problem context: module names, technical terms, error messages, component types
119 2. If the problem category is clear, narrow search to the matching docs/solutions/<category>/ directory
120 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:
121 - title:.*<keyword>
122 - tags:.*(<keyword1>|<keyword2>)
123 - module:.*<module name>
124 - component:.*<component>
125 4. If search returns >25 candidates, re-run with more specific patterns. If <3, broaden to full content search
126 5. Read only frontmatter (first 30 lines) of candidate files to score relevance
127 6. Fully read only strong/moderate matches
128 7. Return distilled links and relationships, not raw file contents
129
130 **GitHub issue search:**
131
132 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.
133
134</parallel_tasks>
135
136### Phase 2: Assembly & Write
137
138<sequential_tasks>
139
140**WAIT for all Phase 1 subagents to complete before proceeding.**
141
142The orchestrating agent (main conversation) performs these steps:
143
1441. Collect all text results from Phase 1 subagents
1452. **Check the overlap assessment** from the Related Docs Finder before deciding what to write:
146
147 | Overlap | Action |
148 |---------|--------|
149 | **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. |
150 | **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. |
151 | **Low or none** | **Create the new doc** normally. |
152
153 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.
154
155 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.
156
1573. Assemble complete markdown file from the collected pieces, reading assets/resolution-template.md for the section structure of new docs
1584. Validate YAML frontmatter against references/schema.yaml
1595. Create directory if needed: mkdir -p docs/solutions/[category]/
1606. Write the file: either the updated existing doc or the new docs/solutions/[category]/[filename].md
161
162When creating a new doc, preserve the section order from assets/resolution-template.md unless the user explicitly asks for a different structure.
163
164</sequential_tasks>
165
166### Phase 2.5: Selective Refresh Check
167
168After writing the new learning, decide whether this new solution is evidence that older docs should be refreshed.
169
170ce: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.
171
172It makes sense to invoke ce:compound-refresh when one or more of these are true:
173
1741. A related learning or pattern doc recommends an approach that the new fix now contradicts
1752. The new fix clearly supersedes an older documented solution
1763. The current work involved a refactor, migration, rename, or dependency upgrade that likely invalidated references in older docs
1774. A pattern doc now looks overly broad, outdated, or no longer supported by the refreshed reality
1785. The Related Docs Finder surfaced high-confidence refresh candidates in the same problem space
1796. The Related Docs Finder reported **moderate overlap** with an existing doc — there may be consolidation opportunities that benefit from a focused review
180
181It does **not** make sense to invoke ce:compound-refresh when:
182
1831. No related docs were found
1842. Related docs still appear consistent with the new learning
1853. The overlap is superficial and does not change prior guidance
1864. Refresh would require a broad historical review with weak evidence
187
188Use these rules:
189
190- If there is **one obvious stale candidate**, invoke ce:compound-refresh with a narrow scope hint after the new learning is written
191- 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
192- If context is already tight or you are in compact-safe mode, do not expand into a broad refresh automatically; instead recommend ce:compound-refresh as the next step with a scope hint
193
194When invoking or recommending ce:compound-refresh, be explicit about the argument to pass. Prefer the narrowest useful scope:
195
196- **Specific file** when one learning or pattern doc is the likely stale artifact
197- **Module or component name** when several related docs may need review
198- **Category name** when the drift is concentrated in one solutions area
199- **Pattern filename or pattern topic** when the stale guidance lives in docs/solutions/patterns/
200
201Examples:
202
203- /ce:compound-refresh plugin-versioning-requirements
204- /ce:compound-refresh payments
205- /ce:compound-refresh performance-issues
206- /ce:compound-refresh critical-patterns
207
208A single scope hint may still expand to multiple related docs when the change is cross-cutting within one domain, category, or pattern area.
209
210Do not invoke ce:compound-refresh without an argument unless the user explicitly wants a broad sweep.
211
212Always capture the new learning first. Refresh is a targeted maintenance follow-up, not a prerequisite for documentation.
213
214### Phase 3: Optional Enhancement
215
216**WAIT for Phase 2 to complete before proceeding.**
217
218<parallel_tasks>
219
220Based on problem type, optionally invoke specialized agents to review the documentation:
221
222- **performance_issue** → performance-oracle
223- **security_issue** → security-sentinel
224- **database_issue** → data-integrity-guardian
225- **test_failure** → cora-test-reviewer
226- Any code-heavy issue → kieran-rails-reviewer + code-simplicity-reviewer
227
228</parallel_tasks>
229
230---
231
232### Compact-Safe Mode
233
234<critical_requirement>
235**Single-pass alternative for context-constrained sessions.**
236
237When context budget is tight, this mode skips parallel subagents entirely. The orchestrator performs all work in a single pass, producing a minimal but complete solution document.
238</critical_requirement>
239
240The orchestrator (main conversation) performs ALL of the following in one sequential pass:
241
2421. **Extract from conversation**: Identify the problem, root cause, and solution from conversation history. Also read MEMORY.md from the auto memory directory if it exists -- use any relevant notes as supplementary context alongside conversation history. Tag any memory-sourced content incorporated into the final doc with "(auto memory [claude])"
2432. **Classify**: Read references/schema.yaml and references/yaml-schema.md, then determine category and filename from them
2443. **Write minimal doc**: Create docs/solutions/[category]/[filename].md using assets/resolution-template.md as the base structure, with:
245 - YAML frontmatter (title, category, date, tags)
246 - Problem description (1-2 sentences)
247 - Root cause (1-2 sentences)
248 - Solution with key code snippets
249 - One prevention tip
2504. **Skip specialized agent reviews** (Phase 3) to conserve context
251
252**Compact-safe output:**
253```
254✓ Documentation complete (compact-safe mode)
255
256File created:
257- docs/solutions/[category]/[filename].md
258
259Note: This was created in compact-safe mode. For richer documentation
260(cross-references, detailed prevention strategies, specialized reviews),
261re-run /compound in a fresh session.
262```
263
264**No subagents are launched. No parallel tasks. One file written.**
265
266In compact-safe mode, the overlap check is skipped (no Related Docs Finder subagent). This means compact-safe 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 compact-safe session.
267
268---
269
270## What It Captures
271
272- **Problem symptom**: Exact error messages, observable behavior
273- **Investigation steps tried**: What didn't work and why
274- **Root cause analysis**: Technical explanation
275- **Working solution**: Step-by-step fix with code examples
276- **Prevention strategies**: How to avoid in future
277- **Cross-references**: Links to related issues and docs
278
279## Preconditions
280
281<preconditions enforcement="advisory">
282 <check condition="problem_solved">
283 Problem has been solved (not in-progress)
284 </check>
285 <check condition="solution_verified">
286 Solution has been verified working
287 </check>
288 <check condition="non_trivial">
289 Non-trivial problem (not simple typo or obvious error)
290 </check>
291</preconditions>
292
293## What It Creates
294
295**Organized documentation:**
296
297- File: docs/solutions/[category]/[filename].md
298
299**Categories auto-detected from problem:**
300
301- build-errors/
302- test-failures/
303- runtime-errors/
304- performance-issues/
305- database-issues/
306- security-issues/
307- ui-bugs/
308- integration-issues/
309- logic-errors/
310
311## Common Mistakes to Avoid
312
313| ❌ Wrong | ✅ Correct |
314|----------|-----------|
315| Subagents write files like context-analysis.md, solution-draft.md | Subagents return text data; orchestrator writes one final file |
316| Research and assembly run in parallel | Research completes → then assembly runs |
317| Multiple files created during workflow | One file written or updated: docs/solutions/[category]/[filename].md |
318| Creating a new doc when an existing doc covers the same problem | Check overlap assessment; update the existing doc when overlap is high |
319
320## Success Output
321
322```
323✓ Documentation complete
324
325Auto memory: 2 relevant entries used as supplementary evidence
326
327Subagent Results:
328 ✓ Context Analyzer: Identified performance_issue in brief_system, category: performance-issues/
329 ✓ Solution Extractor: 3 code fixes, prevention strategies
330 ✓ Related Docs Finder: 2 related issues
331
332Specialized Agent Reviews (Auto-Triggered):
333 ✓ performance-oracle: Validated query optimization approach
334 ✓ kieran-rails-reviewer: Code examples meet Rails standards
335 ✓ code-simplicity-reviewer: Solution is appropriately minimal
336 ✓ every-style-editor: Documentation style verified
337
338File created:
339- docs/solutions/performance-issues/n-plus-one-brief-generation.md
340
341This documentation will be searchable for future reference when similar
342issues occur in the Email Processing or Brief System modules.
343
344What's next?
3451. Continue workflow (recommended)
3462. Link related documentation
3473. Update other references
3484. View documentation
3495. Other
350```
351
352**Alternate output (when updating an existing doc due to high overlap):**
353
354```
355✓ Documentation updated (existing doc refreshed with current context)
356
357Overlap detected: docs/solutions/performance-issues/n-plus-one-queries.md
358 Matched dimensions: problem statement, root cause, solution, referenced files
359 Action: Updated existing doc with fresher code examples and prevention tips
360
361File updated:
362- docs/solutions/performance-issues/n-plus-one-queries.md (added last_updated: 2026-03-24)
363```
364
365## The Compounding Philosophy
366
367This creates a compounding knowledge system:
368
3691. First time you solve "N+1 query in brief generation" → Research (30 min)
3702. Document the solution → docs/solutions/performance-issues/n-plus-one-briefs.md (5 min)
3713. Next time similar issue occurs → Quick lookup (2 min)
3724. Knowledge compounds → Team gets smarter
373
374The feedback loop:
375
376```
377Build → Test → Find Issue → Research → Improve → Document → Validate → Deploy
378 ↑ ↓
379 └──────────────────────────────────────────────────────────────────────┘
380```
381
382**Each unit of engineering work should make subsequent units of work easier—not harder.**
383
384## Auto-Invoke
385
386<auto_invoke> <trigger_phrases> - "that worked" - "it's fixed" - "working now" - "problem solved" </trigger_phrases>
387
388<manual_override> Use /ce:compound [context] to document immediately without waiting for auto-detection. </manual_override> </auto_invoke>
389
390## Output
391
392Writes the final learning directly into docs/solutions/.
393
394## Applicable Specialized Agents
395
396Based on problem type, these agents can enhance documentation:
397
398### Code Quality & Review
399- **kieran-rails-reviewer**: Reviews code examples for Rails best practices
400- **code-simplicity-reviewer**: Ensures solution code is minimal and clear
401- **pattern-recognition-specialist**: Identifies anti-patterns or repeating issues
402
403### Specific Domain Experts
404- **performance-oracle**: Analyzes performance_issue category solutions
405- **security-sentinel**: Reviews security_issue solutions for vulnerabilities
406- **cora-test-reviewer**: Creates test cases for prevention strategies
407- **data-integrity-guardian**: Reviews database_issue migrations and queries
408
409### Enhancement & Documentation
410- **best-practices-researcher**: Enriches solution with industry best practices
411- **every-style-editor**: Reviews documentation style and clarity
412- **framework-docs-researcher**: Links to Rails/gem documentation references
413
414### When to Invoke
415- **Auto-triggered** (optional): Agents can run post-documentation for enhancement
416- **Manual trigger**: User can invoke agents after /ce:compound completes for deeper review
417
418## Related Commands
419
420- /research [topic] - Deep investigation (searches docs/solutions/ for patterns)
421- /ce:plan - Planning workflow (references documented solutions)
422
In the file
SKILL.md2,721 words
Files4
LicenceMIT
Why you can read it

Nothing in a skill executes. The client loads the text and the model follows it, so a skill can be audited the way a runbook is — by reading it.

What it costs in context

Skills are not billed by the call. They are paid for in context: every token the instructions occupy is a token your code, your diff and your conversation cannot use. Here is what this one takes and when it takes it.

≈40
always loaded
The name and description, so the model knows the skill exists and when to reach for it.
6,760
on trigger
The instruction body and 3 supporting files, read only when the skill fires.
3.4%
of a 200k window
Ten skills this size would take about 34% of the window before you open a file.
050k100k150k200k context window

6.8k tokens, estimated from the bundle at four bytes to the token, held for the rest of the session once it triggers. Heavy. Teams tend to install this one per project rather than globally, and load it only when the job comes up.

Servers bill, skills cost

A server charges by the month. A skill charges once per session, in context, and then keeps charging it for as long as the session lives.

Before and after

The same question, put to the same model twice: once as it comes, and once with these instructions loaded.

No worked example has been published for this skill yet.

Adoption
Installsnone yet
Ratingno reviews yet

The procedure it runs

The procedure has not been published here. It is in the skill’s own SKILL.md, which its author has not sent to the marketplace yet.

Prose, not code

These steps are written for a model to follow, not executed by a runtime. It can still be told to skip one, and it will say so when it does.

Servers it uses

None. This skill calls no MCP servers at all.

Everything it needs is in the instructions, so it works in a project with nothing connected — the model reads the file and changes how it works with what it can already reach.

It writes no files and reaches no network. All it changes is how the model reasons and writes.

What it asks for
Writes filesno
Network accessno

Read from the allowed-tools line of this skill’s own SKILL.md. A skill grants no permissions of its own — it can only ask for tools your client already has.

What it will not do

Every skill is narrow, and the useful ones say where they stop. These are the jobs this one is the wrong tool for.

What this skill is not for has not been published here. Nothing is implied by that: it is a section the author has not filled in.

What is in the bundle

4 files, 27.2 kB on disk. A bundle is text throughout: the instructions the model reads, plus the templates it fills in.

  • SKILL.md20.6 kB
  • assets/resolution-template.md0.8 kB
  • references/schema.yaml3.0 kB
  • references/yaml-schema.md2.8 kB
What is not in it

No dependencies and nothing executable: a skill is text the agent reads, so the bundle is 4 files you can review in full before installing. The MIT licence covers the templates and examples as well as the instructions.

Install

Installing copies the bundle into your project. Nothing runs at install time — the files sit on disk until the model reads them.

# /compound · 6.8k tokens when loaded npx mcprush@latest skill add everyinc/compound

Writes to .claude/skills/compound/ in the current project. Add --global to put it in your home directory instead, for every project.

Which clients pick it up on their own

A skill is a folder of text. A client with a skills folder reads it without being told; everywhere else the same text works, it is just handed to the model rather than found.

Claude Code.claude/skills/
Claude Desktop
ChatGPT
Cursor.cursor/skills/
VS Code.github/skills/
Codex CLI.agents/skills/
Gemini CLI.gemini/skills/
Grok.grok/skills/
Zed.agents/skills/
Windsurf.windsurf/skills/
Agent SDK.claude/skills/
HTTP / API
This release
Versionnot versioned
Publishedno release date on file
PriceFree
Referenceeveryinc/compound

Versions

Its author publishes no version number, so there is nothing here to pin to: what you install is the folder as it stands today. Instructions change more often than APIs do — a skill can be rewritten entirely without anything it depends on moving.

v
  • No earlier releases have been published to the marketplace.
Pinning

Nothing to pin to: this skill carries no version number of its own. What you install is what the folder holds on the day you install it.

Reviews

no reviews yet · no installs yet

Nobody has reviewed this skill yet. The rating is the mean of the reviews written here, so there is none until somebody writes the first.

Who can post

Only accounts that have had the skill installed for fourteen days, so a review is written after living with it rather than after reading it. Publishers may reply once.

Publisher
Servers0
Claim this skill