setback-log
Skill0 starsChanged 3 months agoMITView on GitHub
Use immediately after any mistake, silent failure, wrong assumption, halt, or misbound dispatch. Records the incident AND closes it with a rule, a structural guard, or an explicit accepted risk. An incident that ends in prose is a diary entry, not learning.
In this repository14 other files it gives its agents.
- capability-scanSkill
- conveneSkill
- decision-recordSkill
- deliverySkill
- escalateSkill
- flag-checkSkill
- haltSkill
- interface-contractSkill
- merge-guardSkill
- profile-bootstrapSkill
- roster-preflightSkill
- setback-checkSkill
- stability-checkpointSkill
- work-orderSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 3 are distinctive, and 0 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.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 20
Prefer GUARD. A generator that no longer emits a bad example row beats any number of warnings about bad example rows.
- Distinctive: line 68
Write for someone hitting this at 2am with no context.
- Distinctive: line 73
If a check passed and meant nothing, say which check.
≈ “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
Setback log
The one rule
Every incident must end in one of exactly three closures. Prose is not a closure. An incident that concludes "we should be careful about X" changes nothing and will recur.
| Closure | What it means | Strength |
| GUARD | A structural change makes the mistake unrepresentable | strongest — nothing has to be remembered |
| RULE | A named skill gains an instruction that prevents it | strong — it loads with the skill |
| ACCEPTED | Deliberately not guarded, with the reason stated | honest — and reviewable later |
Prefer GUARD. A generator that no longer emits a bad example row beats any number of warnings about bad example rows. Reach for RULE when the mistake is a judgment call rather than a mechanism. Use ACCEPTED sparingly and never as a synonym for "ran out of time" — say that instead, and leave it open.
Where it goes
- Project incidents →
.agentic/incidents/ - Framework incidents → this repo's
docs/incidents/
One file per incident, plus a row in that directory's INDEX.md.
Required content
Symptom — with the actual output, pasted. Not a description of the output. The exact error string is usually the diagnosis, and paraphrasing destroys it.
Cause — what was really happening. If you could not determine it, say so explicitly rather than offering a plausible guess; a wrong cause produces a wrong guard.
What was NOT at fault — name the components you cleared. This matters more than it sounds: the first reading of an incident routinely blames a model or a tool that turned out to be answering faithfully, and "replace the model" is an expensive wrong repair.
Closure — GUARD, RULE, or ACCEPTED, naming the exact file changed.
Triggers — when this should be recalled. Use only these:
preflight · dispatch · verify · git · search · write · shell · setup · publishA closed set keeps setback-check reliable. If nothing fits, the incident is
probably too vague to be actionable — sharpen it.
The INDEX row
| SB-0004 | Dispatched brief arrived as a copy of a probe | dispatch, verify | RULE convene: echo-token guard |The last column is the point. A row with no closure is an open incident, and open incidents are the backlog.
What makes a good entry
Write for someone hitting this at 2am with no context. Concretely:
- Lead with what they will see, since that is what they can search for.
- Say what looked fine and was not — most of these fail silently, and the reader's problem is that everything appears to be working.
- If a check passed and meant nothing, say which check. That pattern recurs.
What does not belong here
A task that was merely hard. A decision that turned out suboptimal — that is a Decision Record, superseded. A one-off provider outage with no lesson. Logging those trains everyone to skim the log, which disables the whole mechanism.
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.

