Agent skill

Compound Learning Writer

by EveryInc in EveryInc/compound-engineering-plugin

Records one solved and verified problem as a durable learning in the repository, but only when the reasoning is not already clear from the final code, tests or docs.

MITAuto-check passedAgent Workflows

Install Compound Learning Writer

skills CLI
$ npx skills add EveryInc/compound-engineering-plugin --skill ce-compound -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install EveryInc/compound-engineering-plugin ce-compound --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/EveryInc/compound-engineering-plugin.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ce-compound .claude/skills/ce-compound && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ce-compound
GitHub stars
25k
Token cost
~2k tokens
SKILL.md length
1,031 words
Files
30 (incl. scripts, references, assets)
Skills in repo
37
Repo updated
First seen
Licence
MIT

At a glance

Records one solved and verified problem as a durable learning in the repository, but only when the reasoning is not already clear from the final code, tests or docs.

  • Works in 6 steps: Research — read references/research.md. → Session history — read… → Assembly and write — wait for every… → …
  • Capturing a non-obvious bug fix so the next engineer does not rediscover it
  • SKILL.md covers Preconditions, Mode Detection, Artifact Root and Write boundary, plus 2 more sections
  • Calls git

What it does

A run writes a single learning under a `solutions/` folder, checked against the current tree and made discoverable for the next agent; a session that solved several problems gets several sequential runs, never one batched run. The problem must be solved and verified. The bar is a counterfactual: if the learning document vanished, would an engineer reading the final implementation still be likely to repeat the mistake or redo substantial investigation? Effort, completion and diff size do not qualify a learning, and when the test fails nothing is written and the report says why.

An existing learning that has become inaccurate or incomplete is updated instead of duplicated. The skill does not bootstrap `CONCEPTS.md` but seeds the learning's own area, and requests to create that file go to `ce-compound-refresh`. It runs interactively by default, or with `mode:non-interactive` and a `depth` of lightweight or full. Bundled references cover research, assembly, grounding validation, vocabulary capture and discoverability, a resolution template, and specialist reviewer profiles such as security, performance and data integrity.

When your agent uses it

  • Capturing a non-obvious bug fix so the next engineer does not rediscover it
  • Updating a learning that no longer matches the code
  • Deciding whether a solved problem is worth documenting at all

Example prompts

  • “/ce-compound the flaky webhook retry fix we just verified.”
  • “Document why the cache invalidation bug happened, but only if the code does not already explain it.”
  • “/ce-compound mode:non-interactive depth:lightweight the Postgres lock timeout finding”

Requirements

  • A repository where learnings can be stored in a solutions folder

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Research — read references/research.md.
  2. Session history — read references/session-history.md, and start it after dispatching the Related Docs Finder so it overlaps your drafting…
  3. Assembly and write — wait for every Phase 1 input, then read references/assembly.md.
  4. Refresh check and discoverability — read references/refresh-and-discoverability.md.
  5. Optional enhancement — read references/enhancement.md. Interactive only.
  6. Report — read references/report.md for the report shape your mode must emit and how the skill ends.

What it can do on your machine

Read from SKILL.md and the folder at commit cef001f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/, which the agent can run.

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Compound Learning Writer loads about 2k tokens when it runs, and up to ~37k if it reads all its reference files. Until then it costs about 59 tokens; SKILL.md has 1,031 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~59
When it runs · the whole SKILL.md, loaded when a task matches
~2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~37k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from EveryInc/compound-engineering-plugin at commit cef001f, republished under its MIT licence (© EveryInc). 1,031 words, ~1,972 tokens.

Download SKILL.mdSave it as .claude/skills/ce-compound/SKILL.md (or your agent's skills folder). This skill also uses 29 other files; get the full folder from GitHub.
name
ce-compound
description
Document a solved problem as a durable repo learning. Use when verified work produced non-obvious reasoning absent from its final code, tests, or existing docs; avoid routine fixes whose artifacts already explain the lesson.
argument-hint
[optional: brief context] [mode:non-interactive] [depth:lightweight|full]

/ce-compound

Outcome: one qualifying solved problem is written as a durable learning under <root>/solutions/, grounded against the current tree, discoverable by the next agent.

Done: a qualifying doc is written or updated, its frontmatter and claims validated, vocabulary capture recorded, and the mode's completion report emitted; when no learning qualifies, nothing is written and the report says why.

One learning per run. A session that produced several gets several sequential runs, never one batched run. Read references/research.md; it explains what batching breaks.

Preconditions

Document only a problem that is solved and verified.

<!-- ce-durable-bar:start -->

A learning earns its place only when it holds durable project reasoning that is not readily recoverable from the final code, tests, types, comments, or existing documentation, and losing it would plausibly cause recurrence, material risk, or substantial rediscovery. Apply this counterfactual: if the learning document disappeared, would a future engineer reading the final implementation still be likely to repeat the mistake or redo substantial investigation? Completion, effort, and diff size do not establish eligibility.

<!-- ce-durable-bar:end -->

If the counterfactual fails, write nothing and report why. Judge this from the session rather than asking. An explicit invocation requests the judgment now but does not lower the bar.

An existing learning that became materially inaccurate or incomplete qualifies because leaving it would mislead. Update that learning instead of creating a duplicate.

ce-compound does not bootstrap CONCEPTS.md. It seeds the learning's own area as a side effect, never the whole repo. Send a standalone request to create or bootstrap that file to ce-compound-refresh, then exit.

Mode Detection

bash
/ce-compound [brief context]
/ce-compound mode:non-interactive depth:lightweight [context]
/ce-compound mode:non-interactive depth:full [context]

Enter non-interactive mode when either holds: the arguments you were invoked with contain the mode:non-interactive token or its deprecated alias mode:headless, or the invocation makes non-interactive intent unmistakable, such as a caller or standing instruction asking to run ce-compound "headless", "non-interactively", "unattended", or "without prompts/questions". Both tokens together is not a conflict. Bare "automatically" or "auto-run" is not on its own a non-interactive signal: it speaks to invoking the skill, not to suppressing its prompts. An ambiguous or absent signal defaults to interactive. Tokens starting with mode: or depth: are flags, not context: strip them before treating the remainder as the brief context hint. Once detected, non-interactive mode applies for the entire run.

Depth is chosen only by an explicit token, only in non-interactive mode, and at most one depth token is accepted. depth:lightweight routes directly to Lightweight Mode. depth:full or no depth token enters Full Mode, including its automatic session-history probe. A non-interactive call carrying no depth token therefore behaves as it always has. Non-interactive lightweight asks no blocking questions and launches no subagents. If the invocation carries an unknown depth: token, multiple depth: tokens, or a depth: token without non-interactive intent, do not guess: emit the non-interactive failure report with the reason and end with Documentation skipped.

Non-interactive mode asks nothing. It asks no blocking question of any kind, in any phase, because a caller reaching this path has no human to answer one. Every non-interactive exit, including one taken before any phase runs, ends on a terminal signal a caller parses: Documentation complete, or Documentation skipped with the reason when no doc was written. Interactive mode asks only where the step's own reference says to, which is the Discoverability Check consent and, when several stale docs are in play, which refresh to run.

Artifact Root

Resolve <root> when you first compose a <root>/solutions/ path, and pass a subagent the resolved path rather than the config.

<!-- ce-docs-root:start -->

Resolve the CE artifact root <root> before composing any artifact path.

  • Read docs_root from <repo-root>/.compound-engineering/config.yaml only (<repo-root> = git rev-parse --show-toplevel). Do not read it from config.local.yaml. Unset -> <root> is docs, exactly as before.
  • Validate a set value: a repo-relative directory whose real, symlink-resolved path stays inside the repo and is neither the repo root nor under .git/. Otherwise stop with an error naming docs_root and the value -- never fall back to docs.
  • Use <root> as the sole artifact location: create it if absent, compose each path as <root>/<subdir> with this skill's own subdirectory, and never also read docs.
<!-- ce-docs-root:end -->
Show full SKILL.md (360 more words)Show less

Write boundary

Only the orchestrator writes product files. Phase 1 subagents write to per-run scratch only, and never touch <root>/, project instruction files, or any other tracked path.

The orchestrator writes the one learning under <root>/solutions/, plus two maintenance side effects that its own step describes: CONCEPTS.md during vocabulary capture, and — only in interactive Full mode after consent — a small discoverability line in a project instruction file. Two further writes exist only in interactive Full mode when the user selects them at the assembly destination step: a rule file inside a writable declared Compound Pack, and the packs: entry appended to .compound-engineering/config.yaml. Creating CONCEPTS.md when it is absent is expected rather than a violation. An instruction file is only ever edited, never created. Nothing else in the tree is written. Edits to other docs belong to ce-compound-refresh, which this skill recommends or invokes with a narrow scope but never stands in for.

Choosing the path

Read references/modes.md before step 1. An interactive run picks its own depth rather than asking the user, and that reference says why neither the depth choice nor session history is a question. Default to Full. Choose Lightweight only when the session is near its context limit.

Lightweight mode skips session history entirely; non-interactive Full runs the same automatic probe, which asks nothing and so preserves the non-interactive contract.

Full Mode

Run these in order. Each reference is a required read at the step that names it.

  1. Research — read references/research.md.
  2. Session history — read references/session-history.md, and start it after dispatching the Related Docs Finder so it overlaps your drafting rather than serializing. Session history is the final Phase 1 input, not a workflow stop. When it returns, including with "no relevant prior sessions", go straight to assembly without pausing or summarizing.
  3. Assembly and write — wait for every Phase 1 input, then read references/assembly.md.
  4. Refresh check and discoverability — read references/refresh-and-discoverability.md.
  5. Optional enhancement — read references/enhancement.md. Interactive only.
  6. Report — read references/report.md for the report shape your mode must emit and how the skill ends.

Lightweight Mode replaces steps 1-6 with a single pass; read references/lightweight.md, which defines its own completion output for both modes.

© EveryInc, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 29 other files (scripts, references, assets) in skills/ce-compound of EveryInc/compound-engineering-plugin.

  • SKILL.md
  • assets/resolution-template.md
  • references/agents/best-practices-researcher.md
  • references/agents/data-integrity-guardian.md
  • references/agents/framework-docs-researcher.md
  • references/agents/pattern-recognition-specialist.md
  • references/agents/performance-oracle.md
  • references/agents/security-sentinel.md
  • references/agents/session-historian.md
  • references/assembly.md
  • references/concepts-vocabulary.md
  • references/enhancement.md
  • references/grounding-validation.md
  • references/lightweight.md
  • references/modes.md
  • references/refresh-and-discoverability.md
  • references/report.md
  • references/research.md
  • … and 12 more

Open the folder on GitHubat commit cef001f

Compare with similar skills

Compound Learning Writer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Compound Learning Writer compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Compound Learning Writer this skillEveryInc/compound-engineering-plugin25k—~2kAutomated safety check: PassMIT
Neat-Freak Knowledge CloseoutKKKKhazix/khazix-skills21k—~1.9kAutomated safety check: PassMIT
Capture Knowledgeadamayoung/TMDb178—~2.3kAutomated safety check: PassApache-2.0
Project Timeline Reportthedotmack/claude-mem97k1 repos~3.1kAutomated safety check: PassApache-2.0
Beads Task Memorygastownhall/beads28k—~1.2kAutomated safety check: PassMIT
Dsh Web Documentationzhu1090093659/dsh-web8.4k—~479Automated safety check: PassApache-2.0

Similar skills

  • Neat-Freak Knowledge Closeout

    KKKKhazix/khazix-skills

    Brings project docs, agent rule files, authorized memory and leftover workspace files back in line with what the code and runtime actually do at the end of a work session.

    21k GitHub stars~1.9k tokensUpdated 6 days ago
    Agent WorkflowsAuto-check passed
  • Capture Knowledge

    adamayoung/TMDb

    Records non-obvious lessons from a finished task, such as gotchas, API quirks and design decisions, into a project's knowledge folder before a pull request opens.

    178 GitHub stars~2.3k tokensUpdated 3 days ago
    DevelopmentAuto-check passed
  • Project Timeline Report

    thedotmack/claude-mem

    Writes a narrative Journey Into report on a project's whole development history, built from the timeline that claude-mem has recorded.

    97k GitHub starsUsed in 1 repo~3.1k tokens
    Agent WorkflowsAuto-check passed
  • Beads Task Memory

    gastownhall/beads

    Tracks multi-session work with dependencies in the bd issue tracker so the agent can find ready tasks and recover its context after conversation compaction.

    28k GitHub stars~1.2k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Dsh Web Documentation

    zhu1090093659/dsh-web

    A skill your agent uses when adding or editing dsh-web README files, docs, AGENTS.md instructions, user-facing configuration text, or bilingual documentation pairs.

    8.4k GitHub stars~479 tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Codebase Handbook Builder

    Ruhan-Wang/Harness_Handbook

    Generates, refreshes, validates and uses a compact handbook that maps where a change touches in a repository, using the active Codex session and no external LLM API.

    331 GitHub stars~2.2k tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check passed

More from EveryInc/compound-engineering-plugin

All 37 skills in this repo
  • Compound Learnings Refresh

    EveryInc/compound-engineering-plugin

    Audits a repo's stored learnings against the current codebase, fixes stale, overlapping or superseded docs and reports on every document.

    25k GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Compound Engineering Prototype

    EveryInc/compound-engineering-plugin

    Builds a throwaway prototype at just the fidelity needed to settle a specific how-it-should-work-or-feel question, before committing to an approach other work will treat as fixed.

    25k GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Compound Engineering Setup

    EveryInc/compound-engineering-plugin

    Checks Compound Engineering plugin health and repo-local config, or scaffolds a Compound Pack when you ask for one by id.

    25k GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • PR Babysitter

    EveryInc/compound-engineering-plugin

    Watches an open GitHub pull request over time, routing review comments and CI failures to other skills until the PR is ready to merge.

    25k GitHub stars~2k tokensUpdated today
    Auto-check passed
  • CE Brainstorm

    EveryInc/compound-engineering-plugin

    Turns a vague or ambitious feature idea into a requirements-only plan through dialogue with you, sized to the work, before any code is written.

    25k GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Compound Engineering Code Review

    EveryInc/compound-engineering-plugin

    Runs a staged pull request or diff review using selected reviewer personas, checking the change against its stated intent and project standards before producing findings.

    25k GitHub stars~2k tokensUpdated today
    Auto-check passed

Questions about Compound Learning Writer

What does Compound Learning Writer do?

Records one solved and verified problem as a durable learning in the repository, but only when the reasoning is not already clear from the final code, tests or docs. A run writes a single learning under a `solutions/` folder, checked against the current tree and made discoverable for the next agent; a session that solved several problems gets several sequential runs, never one batched run. The problem must be solved and verified.

When should I use Compound Learning Writer?

Compound Learning Writer fits situations like: capturing a non-obvious bug fix so the next engineer does not rediscover it; updating a learning that no longer matches the code; deciding whether a solved problem is worth documenting at all.

How do I install Compound Learning Writer in Claude Code?

Run `npx skills add EveryInc/compound-engineering-plugin --skill ce-compound -a claude-code`. Or copy the skill folder (skills/ce-compound in EveryInc/compound-engineering-plugin) into .claude/skills/ce-compound in your project. Claude Code loads it when a task matches its description.

How do I install Compound Learning Writer in Codex?

Run `npx skills add EveryInc/compound-engineering-plugin --skill ce-compound -a codex`. Or copy the skill folder (skills/ce-compound in EveryInc/compound-engineering-plugin) into .agents/skills/ce-compound in your project. Codex loads it when a task matches its description.

Can I use Compound Learning Writer in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add EveryInc/compound-engineering-plugin --skill ce-compound -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ce-compound, .gemini/skills/ce-compound, .github/skills/ce-compound and .opencode/skills/ce-compound in your project.

What does Compound Learning Writer need to run?

Going by SKILL.md and its folder, Compound Learning Writer needs the command-line tools its instructions call (git). Our summary lists: A repository where learnings can be stored in a solutions folder.

Does Compound Learning Writer access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Compound Learning Writer safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Compound Learning Writer use?

Compound Learning Writer is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Compound Learning Writer use?

About 2k tokens (SKILL.md is roughly 7.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 35k tokens, read only when the agent opens those files.

What are the alternatives to Compound Learning Writer?

Skills that share tags, products or a category with Compound Learning Writer: Neat-Freak Knowledge Closeout (KKKKhazix/khazix-skills, 21k stars), Capture Knowledge (adamayoung/TMDb, 178 stars), Project Timeline Report (thedotmack/claude-mem, 97k stars) and Beads Task Memory (gastownhall/beads, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Compound Learning Writer?

EveryInc (a GitHub organization) maintains it in EveryInc/compound-engineering-plugin, which has 25,412 GitHub stars. The repository holds 37 skills in this directory. The repository was last updated on October 7, 2026.

Source: EveryInc/compound-engineering-plugin on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.