setup-cantrips-loop
Skill3 starsChanged 4 months agoMITView on GitHub
Configure this repo's cantrips loop — knowledge stores and storage backend — by writing docs/agents/cantrips-loop.md.
In this repository26 other files it gives its agents.
- AGENTS.mdAGENTS.md
- mod/CLAUDE.mdCLAUDE.md
- sync-upstreamSkill
- afkSkill
- codebase-designSkill
- commitSkill
- compound-refreshSkill
- compoundSkill
- deputySkill
- diagnosing-bugsSkill
- grillingSkill
- handoffSkill
- implementSkill
- improve-codebase-architectureSkill
- prototypeSkill
- questionnaireSkill
- researchSkill
- review-gateSkill
- 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
6 rules. About 0 are common, 3 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 13
Read docs/agents/cantrips-loop.md if it exists.
- Distinctive: line 22
Ask which backend seed translates the six storage verbs (the verbs and their meaning: defaults.md):
- Very specific: line 25
Ask where the artifacts live: gitignored .scratch/<feature>/ (the default — disposable working material, deleted by the human when the …
- Distinctive: line 30
Every seed holds the contract invariants in defaults.md: an annotation appends without overwriting what is there, stays time-ordered, and …
- Distinctive: line 31
When a derived translation would break one, say so and ask the user for one that holds.
- Very specific: line 33
Write docs/agents/cantrips-loop.md as this repo's phrasebook: a skill arrives holding a verb and leaves holding the path or command it …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Configure how this repo runs the cantrips loop: which opt-in knowledge stores are enabled, and which backend the six storage verbs translate to.
The result is one prose doc, docs/agents/cantrips-loop.md, that storage-touching skills read in place of the plugin defaults (defaults.md).
Process
- Read
docs/agents/cantrips-loop.mdif it exists. An existing doc makes this run an edit: summarize the current configuration, ask what the user wants to change, and carry every unrevisited answer forward unchanged. Explain each opt-in knowledge store's role in plain words, then ask which to enable:
docs/adr/holds durable decisions with supersession chains — an outdated record names the record that replaced it, so decisions have history instead of silent drift. Written only through/compound's user gate; read back by/specas the repo's decision memory.docs/solutions/holds problem-shaped learnings — root cause, the gotcha, what didn't work — so the next session that hits the same problem starts from the answer.
Ask which backend seed translates the six storage verbs (the verbs and their meaning: defaults.md):
- Local markdown — the default made explicit: the verb translations in defaults.md.
Ask where the artifacts live: gitignored
.scratch/<feature>/(the default — disposable working material, deleted by the human when the feature closes) or a committed path such asdocs/specs/for repos whose specs should travel with branches, worktrees, and pull requests. For a gitignored location, add the entry to.gitignorein this run, so the doc can state a fact instead of leaving every later write a chore. - GitHub — the
ghCLI: publish the spec as a GitHub issue holding the spec body; publish the tickets as one issue each, each linking its parent spec issue, blocking edges via native issue links; fetch the spec or a ticket withgh issue view; annotate the spec as an issue comment, which appends and carries its own timestamp; resolve the ticket as an issue close with a completion comment. - Freeform — the user describes their tracker workflow in a paragraph; record that paragraph as prose and derive each verb's translation from it, asking about any verb the paragraph leaves uncovered.
Every seed holds the contract invariants in defaults.md: an annotation appends without overwriting what is there, stays time-ordered, and governs over the body it revises; a published ticket is traceable to its parent spec. When a derived translation would break one, say so and ask the user for one that holds.
- Local markdown — the default made explicit: the verb translations in defaults.md.
Ask where the artifacts live: gitignored
- Write
docs/agents/cantrips-loop.mdas this repo's phrasebook: a skill arrives holding a verb and leaves holding the path or command it means here. Whatever a skill still needs has to be in it. Fill the scaffold:
<loop-config-template>The cantrips loop in this repo
What the six storage verbs translate to here, and which knowledge stores are enabled.
Storage-touching skills read this doc instead of the plugin defaults.
/setup-cantrips-loop wrote it; re-run that skill to change it.
Storage backend
<the backend, and what closing a feature means — the one act no verb covers>
- Publish the spec (
publish-spec) —<translation> - Fetch the spec (
fetch-spec) —<translation> - Annotate the spec (
annotate-spec) —<translation> - Publish the tickets (
publish-tickets) —<translation> - Fetch the ticket (
fetch-ticket) —<translation> - Resolve the ticket (
resolve-ticket) —<translation>
<the invariants, carried from defaults.md>
Knowledge stores
docs/adr/— enabled or disabled.docs/solutions/— enabled or disabled.
</loop-config-template>Done when every slot is filled and nothing sits outside one.
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.

