compound
Skill3 starsChanged 4 months agoMITView on GitHub
Capture this session's durable learnings and route each to the right knowledge store, every write gated on the user or their deputy. Use at loop end when /commit's opening scan finds candidates, when /diagnosing-bugs closes out a fix, or when the user wants to capture, remember, or write down a learning, convention, gotcha, decision, or preference.
17 other projects use a version of this.
Adopted by
Most recently taken up by
- chrislacey89/skillstheir own version, first seen Nov 4, 2026
- pfeff/claude-skillstheir own version, first seen Nov 1, 2026
- dsonders/claude-skillstheir own version, first seen Oct 20, 2026
- rcelebrone/DotAgentstheir own version, first seen Oct 14, 2026
- Andamio-Platform/coachtheir own version, first seen Oct 13, 2026
- OHOKAYYEAH/claude-skillstheir own version, first seen Oct 13, 2026
Used with
Projects with it also use brainstorm, ship and 1 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
nicolasestremSkillbrainstorm
Structured idea generation and solution exploration with systematic analysis.
Also in 3 projects that use this
AWSSkillship
Finalize dev work on an issue branch — update docs, push, and open a PR.
Also in 3 projects that use this
SentrySkillreview
Fixture review skill.
Also in 3 projects that use this
Other versions17 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 17
- m-xlsea/ruoyi-plus-soybean★ 328same name
- garagon/nanostack★ 206same name
- team-attention/hoyeon★ 173same name
- ai-native-camp/camp-2★ 19same name
- rcelebrone/DotAgents★ 15same name
- Andamio-Platform/coach★ 6same name
- chrislacey89/skills★ 4same name
- pfeff/claude-skills★ 3same name
- Artifacts7/newsletter-context-kit★ 2same name
- dirkkok101/skills★ 2same name
7 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository26 other files it gives its agents.
- AGENTS.mdAGENTS.md
- mod/CLAUDE.mdCLAUDE.md
- sync-upstreamSkill
- afkSkill
- codebase-designSkill
- commitSkill
- compound-refreshSkill
- deputySkill
- diagnosing-bugsSkill
- grillingSkill
- handoffSkill
- implementSkill
- improve-codebase-architectureSkill
- prototypeSkill
- questionnaireSkill
- researchSkill
- review-gateSkill
- setup-cantrips-loopSkill
- setup-git-guardrailsSkill
- simplifySkill
- specSkill
- tddSkill
- teachSkill
- ticketsSkill
- wait-whatSkill
- writing-for-agentsSkill
The file
We split this skill into the rules it gives an agent
4 rules. 0 are common, 2 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 12 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 9
Only knowledge that compounds gets written.
- Distinctive: line 22
If nothing clears the bar, say so in one line and stop.
- Very specific: line 55
Before writing to docs/adr/: read adr-format.md and hold to it, and search the store for the record a reversal supersedes — the pair only …
- Very specific: line 56
Before writing to docs/solutions/: read solutions-format.md, then search existing docs (frontmatter area, tags, symptoms) for one covering …
“Common” is measured: kept by at least 6 in 10 of the 12 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Harvest what this session learned so future sessions inherit it. Only knowledge that compounds gets written; every write is approved first, by the user or by a deputy engaged in their place.
1. Scan the session
Sweep the whole session for candidates: corrections the user made and preferences they stated, conventions that emerged, durable decisions settled or reversed, gotchas and root causes uncovered, approaches that failed and why, domain terms coined or clarified ("we call this X, not Y"), and workflow friction a procedure could remove.
2. Apply the quality bar
For each candidate, two questions: would this change a future agent's behavior in a different session, and is it non-obvious and stable? Any "no" → discard.
This bar is the defence against the eager-auto-memory failure mode: session-specific trivia — in-flight task state, one-off values, things any agent would infer anyway — must die here.
If nothing clears the bar, say so in one line and stop.
3. Route each survivor
- Project
AGENTS.md— durable shared preferences and conventions, cheap enough to always load. Domain terms go in its glossary section; when the glossary outgrowsAGENTS.md, propose graduating it to aCONCEPTS.mdfile. docs/adr/(opt-in store) — durable decisions: a project-shaping choice settled among live alternatives — whereAGENTS.mdholds preferences anddocs/solutions/holds problem-shaped learnings. One record per decision, peradr-format.md. Reversing a standing decision routes as a pair — a new ADR plus the status flip on the superseded record.docs/solutions/(opt-in store) — problem-shaped learnings: root cause, gotcha, what didn't work. One small file per solved problem, persolutions-format.md. Expensive knowledge, loaded on demand.- Project-local rules — path-scoped project conventions, when the project uses rules files.
- Skills — project-specific procedures → the project's skills directory (
.claude/skills/on Claude Code, or the harness's equivalent); generic workflow improvements → the user's personal skills collection, if configured. - User-global memory file (
~/.claude/CLAUDE.mdon Claude Code,~/.codex/AGENTS.mdon Codex CLI, or the harness's equivalent) — personal-only preferences, and the staging area to trial a candidate durable preference before graduating it to a shared file.
The two opt-in stores take writes only where the repo enables them: docs/agents/cantrips-loop.md lists the enabled stores; when that doc is absent, both are off.
A survivor aimed at a disabled store is presented with that store's own remedy — enable it through /setup-cantrips-loop — or dropped; a durable decision belongs in docs/adr/, so rerouting one into AGENTS.md, which holds preferences, is no substitute.
4. Gate every write
Present the survivors as one list: for each, the proposed destination and a one-line rationale.
The user answers per candidate — approve, redirect (different destination or wording), or kill.
Where this session engaged a deputy through /deputy and has not dismissed it, what is put to the user here goes to the deputy instead, as ROUNDS.md says, and the deputy's reply is printed verbatim under a one-line header before anything acts on it; otherwise it goes to the user as written.
A write happens only on an approval.
5. Write the approved ones
Load the /writing-for-agents skill (../writing-for-agents/SKILL.md) and hold every write to it: each store is a file an agent will load.
Every write lands among text that already exists — in the file, or in its sibling records — so read the neighbourhood first and write to fit it: match the density of what surrounds it, extend the line or section that already covers the subject rather than adding one beside it.
Keep the edit as short as it possibly can be.
The rationale was for the gate; the file carries the rule.
- Before writing to
docs/adr/: readadr-format.mdand hold to it, and search the store for the record a reversal supersedes — the pair only lands when its other half is found. - Before writing to
docs/solutions/: readsolutions-format.md, then search existing docs (frontmatterarea,tags,symptoms) for one covering the same problem — fold fresh context into an existing doc rather than writing a near-duplicate.
Done when every approved candidate is written to its store.
The writes join the working tree: /commit's flow picks them up when it invoked this scan; on an ad-hoc run, close with a flow pointer (the message's final paragraph, a blockquote in full italics opening Next: — or Next steps: over one bullet per pointer — each pointer naming its skill the way this skill was itself invoked, same prefix and namespace, and ending in a one-clause rationale after an em dash): /commit (user-invoked) — it lands these writes with the rest of the diff.
Where this session engaged a deputy through /deputy and has not dismissed it, a choice is put to the deputy as ROUNDS.md says and rendered as the one step it chose, any other closing is rendered as written, and each rendered step that names a skill is then taken: one marked (user-invoked) by notifying the user where the harness has a tool for it and waiting for them to type it, any other by invoking it, notifying nobody.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

