bayesian
Skill1 starsChanged 2 months agoMITView on GitHub
Part of the Lenny suite (Lenny = the orchestration layer; the conductors are its skills); also triggers on "bayesian", "update priors", "learn from this run". Lenny's self-improvement loop distills recurring traps into candidate reusable guards at a run's merge-ready exit, tracks and updates each guard's confidence as it is applied, auto-promotes low-risk guards after N confident applications, requires human approval for high-impact guards, and scans shared skills before adopting them.
In this repository20 other files it gives its agents.
- AGENTS.mdAGENTS.md
- claudes-gambleSkill
- codebase-designSkill
- councilSkill
- elon-first-principlesSkill
- find-skillsSkill
- first-principlesSkill
- fleet-conductorSkill
- garciaSkill
- gbrain-captureSkill
- grill-meSkill
- karpathySkill
- kissingerSkill
- meta-conductorSkill
- outcome-lockSkill
- pre-kSkill
- release-managerSkill
- rumsfeldSkill
- setup-lennySkill
- ship-conductorSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 3 are distinctive, and 1 is 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.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Distinctive: line 20
The repetition trigger (fires mid-run, not only at exit): Treat the user correcting the same thing twice as a first-class distill signal in …
- Distinctive: line 22
If a preference or correction RECURS across turns or runs, such as "no em dashes" or "worktrees as siblings," the lesson is not sticking.
- Very specific: line 55
Guard forked skills via
find-skills: Before ADOPTING a skill from a fork or registry, run find-skills, the shared discovery and vetting … - Distinctive: line 88
Low-risk classification FAILS SAFE: If it is unclear whether a guard touches a high-impact or safety-sensitive path, treat it as human-gate.
≈ “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
Bayesian
Named for Thomas Bayes: update your priors from evidence. Lenny's self-improvement loop. It learns from its own runs and gets better without a human authoring every skill. The name is a promise: it doesn't merely accumulate skills, it tracks and UPDATES confidence on each one. If it ever stops doing the confidence update, it is not Bayesian. It is just a skill library, and the name would be a lie.
When to run
At a run's merge-ready exit (right after kissinger, alongside
gbrain-capture). Reflect on the whole run and distill what it learned. Also run
demand once a trap has recurred enough to deserve a standing guard.
The repetition trigger (fires mid-run, not only at exit). Treat the user
correcting the same thing twice as a first-class distill signal in its own right.
If a preference or correction RECURS across turns or runs, such as "no em dashes"
or "worktrees as siblings," the lesson is not sticking. Draft the
guard/memory the moment you notice the SECOND occurrence, don't wait for the
merge-ready reflection or for N=3. It is the cheapest, highest-signal source of
guards Lenny has, because the user has already told you twice. Log it
origin: repetition with the two occurrences that fired it. It still obeys the
gate below: a style or UX preference is low-risk and self-promotes; anything
touching security, destructive actions, or another high-impact path requires
human approval like any other guard.
The loop (five steps)
- Distill. Reflect on the run (from
CONDUCTOR-RUN.md+ the traps paid): what RECURRED, what false positive kept appearing, what pattern would have prevented a fix, and any correction the user gave twice (the repetition trigger above). If a reusable pattern exists, draft a candidateSKILL.md/ guard that is narrow and actionable (procedural memory), distinct from the broad declarativeMEMORY.md. - Provenance. Mark every auto-drafted skill
origin: auto(vsorigin: human). The loop may only ever touch its OWN auto-drafted skills. human-authored skills are off-limits to auto-curation, always. - Update priors (the Bayesian part that earns the name). Each
guard carries a confidence that updates on every application: a hit (fired
correctly / was right) raises it; a miss (false-positive / wrong) lowers it.
Track hits/misses in a sidecar (e.g.
.usage.json), never in the SKILL.md body. - Promote via gate. A candidate goes live only when it clears the gate:
- Auto-promote a LOW-RISK guard after N confident applications (default N=3) at or above a confidence threshold. Low-risk patterns earn their way in without human approval.
- Human-gate anything touching security, destructive or irreversible actions, credentials, privacy, or another hard safety rail. Those never auto-promote. A guard whose confidence decays below the floor is auto-pruned (archived, not deleted, which keeps the change reversible).
- Guard forked skills via
find-skills. Before ADOPTING a skill from a fork or registry, runfind-skills, the shared discovery and vetting front door: search, then scan it (static check for prompt-injection / destructive / exfiltration patterns), apply a trust tier (builtin = trusted; community = blocked on any finding unless the human explicitly overrides), and PRESENT to the human. Never auto-install. The human installs. This is the answer to "forks share skills nobody vetted."
The gate policy (the load-bearing rule)
auto-promote(guard) iff: the guard is NOT security-sensitive,
destructive, irreversible, credential-related, privacy-related, or safety-rail
touching, AND confidence ≥ threshold across ≥ N distinct confident
applications (default N=3). Everything else → human-gate. This is Lenny's
own verify-before-trust, pointed at its own evolution: low-risk patterns
self-promote so the loop survives a busy or absent maintainer; anything that
could cause material harm waits for a human.
Hard rails (orchestration-layer, non-negotiable)
- Config the agent READS, never a runtime it executes. Candidate skills are
SKILL.mdfiles plus a confidence sidecar the conductor reads. No engine; that would make Lenny a framework. - Never auto-touch human-authored skills (
origin: humanis sacred). - Never auto-promote a high-impact or safety-rail guard (human-reserved).
- Scan before adopting external/forked skills (trust-tiered).
- An auto-promoted guard is still a HYPOTHESIS. The first time it fires on a real run, its verdict is validated against code like any finding. It can be wrong, and being auto-promoted does not exempt it from that.
Guards (folded from the Rumsfeld + Kissinger passes)
- Hit/miss is judged by an INDEPENDENT signal: a human accepted the finding, an audit confirmed it, or the fix addressed a real bug. NEVER self-assessed. A guard scoring its own confidence is garbage-in; the update is invalid without an external signal.
- Low-risk classification FAILS SAFE. If it is unclear whether a guard touches a high-impact or safety-sensitive path, treat it as human-gate. Uncertainty resolves toward the human, never toward auto-promotion.
- N confident applications = N DISTINCT runs, not N firings within one run. A single-run fluke must not auto-promote.
- Conflict check before promotion. A candidate that contradicts an existing skill, especially a human-authored one, goes to human-gate, never auto-promotes over it.
What this is / isn't
IS: self-improving skill creation plus Bayesian confidence updating, gated.
ISN'T: an auto-live skill writer (gate first), a replacement for human
authoring (human skills stay primary + untouchable), or a runtime (it's
SKILL.md + a sidecar the agent reads).
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.

