learn
Skill0 starsChanged 14 days agoMITView on GitHub
Make the harness improve itself from real runs. Captures friction while ship, run-company, portfolio and hire run (one line per failing script, unclear step, hook in the way or improvised step), logs each run's numbers and every owner ask, and in a review picks one recurring cause, proposes candidate fixes, probes them against the current harness on the same real task, and composes ONE small tested change (skill text, script, hook, rule) or keeps the base, kept or reverted on the next runs' numbers. Triggers on "improve the harness", "what did you learn", "learn from this", "why did that go wrong", "make yourself better", "תשתפר", /learn, at the end of every big-job run, and in the run-company weekly review. Shared by Claude Code and Codex.
195 other projects use a version of this.
Adopted by
Most recently taken up by
- Doist/todoist-aitheir own version, first seen Nov 9, 2026
- Doist/todoist-clitheir own version, first seen Nov 8, 2026
- HughYau/AcademicForgetheir own version, first seen Nov 8, 2026
- dimsedra/skillstheir own version, first seen Nov 8, 2026
- rajanrx/skillstheir own version, first seen Nov 8, 2026
- edwinidrus/dragonhoardtheir own version, first seen Nov 8, 2026
Used with
Projects with it also use add-anydoc, add-clidash and 10 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.
TomGranotSkilladd-anydoc
Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when agents need to read attached Word, PowerPoint, Excel, OpenDocument, RTF, EPUB, CSV, or text-based PDF files without uploading them to a hosted parser.
Also in 5 projects that use this
TomGranotSkilladd-clidash
Add clidash — a zero-dependency, read-only web dashboard that derives its tabs and tables at runtime from any CLI that lists resources as JSON. Ships pre-wired for NanoClaw's ncl CLI (agent groups, sessions, channels, users, roles), plus message-activity charts, a log tail, and a read-only file viewer for group skills/CLAUDE.md/profiles.
Also in 5 projects that use this
seek888Skillopen-gstack-browser
Launch GStack Browser — AI-controlled Chromium with the sidebar extension baked in. Opens a visible browser window where you can watch every action in real time. The sidebar shows a live activity feed and chat. Anti-bot stealth built in. Use when asked to "open gstack browser", "launch browser", "connect chrome", "open chrome", "real browser", "launch chrome", "side panel", or "control my browser". Voice triggers (speech-to-text aliases): "show me the browser".
Also in 11 projects that use this
Saqlain-811Skillios-sync
Regenerate the iOS debug bridge against the latest upstream gstack templates. (gstack)
Also in 6 projects that use this
MicrosoftSkilladd-codex
Use Codex (CLI + AppServer) as the full agent provider — planning, tool orchestration, native compaction, MCP tools, session resume — in place of the Claude Agent SDK. ChatGPT subscription or OPENAI_API_KEY. Per-group via agent_provider. Distinct from using OpenAI as an MCP tool (where Claude remains the planner).
Also in 6 projects that use this
MicrosoftSkilladd-deltachat
Add DeltaChat channel integration via @deltachat/stdio-rpc-server. Native adapter — no Chat SDK bridge. Email-based messaging with end-to-end encryption.
Also in 6 projects that use this
- +5 more from TomGranot
- +1 more from microsoft
Other versions195 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 195
- garrytan/gstack★ 141ksame name
- rohitg00/ai-engineering-from-scratch★ 78ksame name
- gavrielc/nanoclaw★ 31ksame name
- nanocoai/nanoclaw★ 31ksame name
- qwibitai/nanoclaw★ 31ksame name
- tigerless-labs/autoharness★ 11ksame name
- tw93/claude-health★ 7.5ksame name
- tw93/Waza★ 7.5ksame name
- nykooi1/vibe-wise★ 3.5ksame name
- HughYau/AcademicForge★ 2.6ksame name
185 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 repository12 other files it gives its agents.
- AGENTS.mdAGENTS.md
- hireSkill
- owner-actionsSkill
- portfolioSkill
- production-readySkill
- product-specSkill
- qa-flowsSkill
- release-gatesSkill
- run-companySkill
- shipSkill
- ux-ui-reviewSkill
- workspaceSkill
The file
We split this skill into the rules it gives an agent
1 rule. 0 are common, 0 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 170 edited versions we read keep these.
0
Distinctive
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
- Very specific: line 15
Every NEEDS YOU, once it is staged: bash ~/.agents/skills/learn/scripts/owner-log.sh <project> <class> "<what>" "<how to never ask this …
“Common” is measured: kept by at least 6 in 10 of the 170 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
learn - the harness improves itself
Two levels, like Harness²: each project improves its own harness on every run (its AGENTS.md ## Working here, its own scripts), and the shared harness improves in the weekly review from what recurs across projects. Two halves: capture (every run, seconds) and review (weekly or on request, one change at a time). State lives in ~/.agents/learnings/ (inbox.md, runs.log, owner-actions.log, applied.md, probes/), never in chat history. The review follows Harness² (arXiv 2610.14224): propose, probe, compose, with applied.md as the experience library.
1. Capture (every big-job run)
- Whenever a step fails, is retried, is worked around, needs a step the skill did not name, or asks the owner for something the agent could have done itself: note it at once, one line, with evidence (a file, a log line, a transcript moment):
bash ~/.agents/skills/learn/scripts/note.sh <project> <phase> "<what happened>" "<root cause>" "<proposed change>" ["<evidence>"]Phases: spec, build, ux, qa, gates, deploy, report, company, portfolio, hire, tool. The script says how often that root cause was seen. - Every NEEDS YOU, once it is staged:
bash ~/.agents/skills/learn/scripts/owner-log.sh <project> <class> "<what>" "<how to never ask this again>" "<what you staged>". - End of run:
bash ~/.agents/skills/learn/scripts/run-log.sh <project> <claude|codex> <verified> <total> <defects> <owner-actions> <reruns> <minutes> ["<note>"], and the report's last line isLearned: <one line, or none>. - Learnings are about the harness, not the product. Product defects are READINESS rows. Facts about one project (its run, test, deploy and QA commands, its quirks, a step that had to be improvised there) go straight into that project's harness:
bash ~/.agents/skills/learn/scripts/project-note.sh "<one line>"from the project folder; a repeated multi-step procedure becomes a script in the project'sscripts/.
2. Review: propose, probe, compose
bash ~/.agents/skills/learn/scripts/review.shprints open learnings grouped by root cause, then the rows whose differently worded causes share most of their words (start clustering by meaning there), owner asks by class, runs per tool, project lessons that recur in two or more projects (promote them into the shared harness and delete the project copies), the last applied changes and the size budget. Readapplied.mdfirst: reuse what was kept, never re-propose what was reverted.- Pick ONE cause: the most rows, the top owner-ask class, or the one that cost a whole run. Evidence rule: every edit traces to a recorded moment; if you cannot name the moment, the edit is speculation. One sighting is noise unless it cost a run or an owner ask.
- Scope it. Invariant (how any agent plans, uses tools, manages context, delegates, verifies, asks the owner) goes to the shared harness. Domain (one project's facts and procedures) goes to that project's
AGENTS.md. Never put project facts in shared skills. - Propose up to two candidates, each a concrete diff at the cheapest enforcing level: a hook or script that makes the mistake impossible, then a script default, then one sentence in the step where it happened, then a rule line. Replace or delete text before adding. Keeping the base is always a candidate. For an owner-ask class the candidates are what removes the ask: a standing rule proposed in OWNER.md, a saved sign-in, a default the agent decides alone, a test mode, a template, a hire.
- Probe text and skill changes on the same real task where the cause appeared:
bash ~/.agents/skills/learn/scripts/probe.sh <task-dir> "<task prompt>" <candidate-file>runs the current harness and the candidate side by side in throwaway, offline copies and saves both underprobes/as A and B in random order. Judge A against B before openingkey.txt: did the candidate remove the targeted failure, leave it, or break something else? Probe evidence informs; it does not prove. Scripts and hooks are probed by their tests instead (bash -n, one real invocation, a fixture with the failing payload). - Compose: adopt one candidate, merge their supported parts, or keep the base. Each choice cites a concrete observation from the probe or the inbox, never an assumed gain. A change the evidence does not support is a regression: it costs context and buys nothing.
- Test and size:
bash ~/.agents/skills/learn/scripts/size.sh(over budget or a skill no rules file names: fix before adding). Make it live: a change counts once every running and future Claude Code and Codex session uses it, so the copies both tools load hold it (~/.agents/skills/<name>, the hook scripts, and the rules in both~/.claude/CLAUDE.mdand~/.codex/AGENTS.md), and new hook behavior goes inside a hook both tools already run (reply-budget.shon every prompt, the Claude PostToolUse hook, the Stop hooks), since a new registration reaches only new sessions; running sessions then hear what changed fromharness-notice.py. Record: inbox rows becomeapplied (date); one experience row inapplied.md(when it applies, cause, change, evidence, test, PR, verdict pending). Mirror the change into the harness repo on a fresh branch from origin/main and open a PR; before pushing to a branch you already used, checkgh pr list --head <branch> --state alland start a new branch if its PR merged. Merging it is the owner's click. - Verdict after the next two runs that touch the step: the cause did not recur and verified rows and owner asks held or improved, keep; otherwise revert and write why in
applied.md.
One change per review. Many small kept changes beat one rewrite. A harness change never waits for the owner; only the PR merge does.
3. Hard lines the loop never touches
Security essentials, the always-ask list in OWNER.md, what counts as the owner's click, hook stop behaviour, and this section. The metrics that judge a change (run-log fields, review.sh counts, size.sh budgets, the done-check judge, tests) never change in the same review as the change they judge, and a judge never learns which probe variant is which. A learning that wants to cross these lines becomes an owner action carrying the proposed wording.
4. Report (end of a review)
Learned: <n> open rows, top cause: <cause> (<k> rows across <projects>)
Owner asks: <n> in the window, <older -> newer per run>, top class <class>; proposed rule: <one line, or none>
Probe: <A vs B in one line: what differed>; composed: <adopted | merged | kept base> because <observation>
Changed: <file or script> -> <one sentence> (test: <what ran>) PR <link or none>
Verdict on the previous change: keep | revert | pending (<runs seen>)
NEEDS YOU (1 of 1): <PR link> -> merge -> unblocks install.sh parity (only when a PR is open)Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

