agentleFS
toveruxtoverux/cantrips/skills/compound/SKILL.md

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

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.
  • nicolasestremSkill

    brainstorm

    Structured idea generation and solution exploration with systematic analysis.

    Also in 3 projects that use this

  • AWSSkill

    ship

    Finalize dev work on an issue branch — update docs, push, and open a PR.

    Also in 3 projects that use this

  • SentrySkill

    review

    Fixture review skill.

    Also in 3 projects that use this

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
  1. Distinctive:

    Only knowledge that compounds gets written.

    line 9
  2. Distinctive:

    If nothing clears the bar, say so in one line and stop.

    line 22
  3. Very specific:

    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 …

    line 55
  4. Very specific:

    Before writing to docs/solutions/: read solutions-format.md, then search existing docs (frontmatter area, tags, symptoms) for one covering …

    line 56

“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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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

  1. Project AGENTS.md — durable shared preferences and conventions, cheap enough to always load. Domain terms go in its glossary section; when the glossary outgrows AGENTS.md, propose graduating it to a CONCEPTS.md file.
  2. docs/adr/ (opt-in store) — durable decisions: a project-shaping choice settled among live alternatives — where AGENTS.md holds preferences and docs/solutions/ holds problem-shaped learnings. One record per decision, per adr-format.md. Reversing a standing decision routes as a pair — a new ADR plus the status flip on the superseded record.
  3. docs/solutions/ (opt-in store) — problem-shaped learnings: root cause, gotcha, what didn't work. One small file per solved problem, per solutions-format.md. Expensive knowledge, loaded on demand.
  4. Project-local rules — path-scoped project conventions, when the project uses rules files.
  5. 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.
  6. User-global memory file (~/.claude/CLAUDE.md on Claude Code, ~/.codex/AGENTS.md on 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/: read adr-format.md and 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/: read solutions-format.md, then search existing docs (frontmatter area, 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.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.