Turning old engineering wisdom into reflexes your agent reaches for on its own.
On any agent | Claude Code, Codex, OpenCode, Antigravity, Copilot, Cursor, Grok-Build, Pi, Hermes, OpenClaw, etc.
Quickstart · The Map · The Index · The Problem · The Fixes · Credits
Read in: English · 中文 · हिन्दी · Español · العربية · Português · Русский · 日本語 · Français · Deutsch · 한국어
- Install for every agent you use:
npx skills@latest add LilMGenius/paperthin --global --agent '*' - Run it elevated so the skills are symlinked (they auto-update), not copied.
- Use them — model-invoked, so your agent reaches for them on its own; or call one by name, like
/re0.
Not sure? Paste that command into whatever agent you're using and just say set this up for me — it'll do the rest.
How many artifacts, and across how much time?
| Skill | What it does | Scope | Invoker |
|---|---|---|---|
| ♻️ re0 | Rewrite a drifted artifact into a clean v0 — not another patch | one artifact | model |
| 🚿 shower | Cold-read it with fresh, zero-context eyes — does it stand on its own? (read-only) | one artifact | model |
| 🔬 factchk | Verify a claim against sources, both directions — could the absurd be real, the obvious false? (read-only → fix) | one claim | model |
| 🧪 mandela | Audit a validation for leakage — does outside ground-truth actually enter? (read-only) | one eval | model |
| 🛣️ autobahn | Carve unsafe scope out up front, run the safe rest at full strength, ship a descope ledger | one task | model |
| 🥄 sip | After any change, tastes it with the repo's own clean-and-true checks | your output | model |
| 😈 hate | Refuse to be nice to it — the one objection that could kill it + the cheapest test | one plan | user |
| ✂️ dedash | Remove em-dashes and their look-alikes, choosing the punctuation each spot needs | your prose | user |
| 🧾 re0-git | Rewrite a finished commit's message into a clean v0 so git log alone hands off |
one commit | user |
| 🚀 ppt-release | Run the shipping and releasing checklist, then tag and publish once confirmed | one release | user |
| Skill | What it does | Scope | Invoker |
|---|---|---|---|
| 🔎 ssotchk | Find where one fact is scattered or duplicated; name the canonical source (read-only) | one fact, many places | model |
| 🧲 ssotize | Consolidate it into one home and point the rest at it | one fact, many places | model |
| 🧰 ppt-upgrade | Safely upgrade your installed skills in one command, leaving nothing stale and adding nothing extra | your skill install | user |
| Skill | What it does | Scope | Invoker |
|---|---|---|---|
| 🧭 retro | Extract the lessons and anti-patterns from a finished or failed cycle | one finished cycle | model |
| 🧱 re0-work | Restart from v0, keeping only the lessons that earned reuse | one restart | model |
| 🌀 flywheel | Run the build → QA → retro → re0-work loop so learning compounds, not code | the whole loop | model |
| 🎯 nba | Read the live cycle state and return the single next best action, not a menu (read-only) | the live cycle | model |
In development — converge independent views into consensus.
More on invocation: docs/invocation.md
Most agent skills are slop.
Point an agent at a goal and it adds — more files, more options, more "helpful" boilerplate. Adding looks like progress, and nothing ever makes it go back and delete.
Warning
Repeat that across a project and you get the familiar AI-generated toolkit: near-duplicate skills, dead settings, a README that says the same thing three times. Plausible, busy, and quietly unmaintainable.
These skills bet the other way — every one of them removes:
re0rewrites a draft into a clean v0 instead of patching it,ssotchk/ssotizecollapse the same fact scattered across files,showercuts whatever a stranger can't follow,retro/re0-workpreserve the lesson and let the wrong build die,autobahncarves unsafe scope out up front, so the safe remainder runs at full speed,dedashremoves even the em-dash tell and its look-alikes, one judged occurrence at a time,sipruns all of it on your own output, automatically.
Tip
The hard part isn't adding features — it's restraint. A pass that finds nothing to improve changes nothing. That restraint is the product.
Each is a well-worn principle, made automatic.
Edit a doc one piece at a time across a session and it bloats: stale deltas, duplicated noise, changelog scars. Patching on top just preserves the rot.
The fix → re0: rewrite the artifact as a clean v0, as if it were the first version.
Prior art: the Boy Scout Rule — "leave it cleaner than you found it" (Robert C. Martin, Clean Code, 2008).
re0goes further: rewrite, don't just tidy.
[PROOF]
- Setup — we asked
re0to refresh these docs once more, but they were already at v0. - Result — it found nothing to improve and left every line of prose untouched.
- So — a tool that does nothing when nothing is wrong never bloats your repo: these skills remove noise, they never add it.
After a long session you're the one person who can't read your own work straight: you know too much, so your brain quietly fills every gap and the holes turn invisible.
The fix → shower: hand a stranger who never saw your session only the artifact, and ask "does this actually make sense?"
Prior art: egoless programming — you can't review your own work objectively; someone else must (Gerald Weinberg, 1971). Here, that someone is a context-free sub-session.
[PROOF]
- Setup — we handed
showerits own spec, to a sub-session with zero context, holding only the file. - Result — in minutes it found three bugs the author had missed:
- a step that hinted the answer it should hide,
- a path that leaked spoiler files,
- a scope too vague to act on.
- So — a skill that catches its own bugs can catch yours.
A timeout value, a decision, a status — copied into a README, a doc, a ticket, and a Slack thread. The copies drift, and now no one knows which is true.
The fix → ssotchk + ssotize: find the scatter, name the canonical source, then consolidate and point the rest at it.
Prior art: DRY — one fact, one authoritative home (Hunt & Thomas, The Pragmatic Programmer, 1999).
[PROOF]
- Setup — a pilot milestone landed in a strategy repo, and its status lived in six files at once: the plan that gated on it, the retro, an eval-corpus inventory, two frontier docs, and the build's own metadata.
- Result — one pass made the retro's new cycle section the single home for what the milestone proved, rewrote the other five to point at it, and converted every plan line the milestone had answered from future-tense intent to present-tense fact.
- So — the copies never got the chance to drift: one home, five pointers, and the stale "next step" wording died the same day it became false.
A guideline buried in docs won't trigger in a brand-new session — exactly when author bias is highest.
The fix → sip: the moment you finish something, it runs the clean checks (shower, ssotchk, re0) and, when there's a claim or an eval, the true ones (factchk, mandela) on your output, automatically.
Prior art: dogfooding — eat your own dog food (Microsoft, 1988). Taste your own cooking before you serve it.
[PROOF]
- Setup — right after a large refactor that made every skill self-contained,
sipauto-fired on the result. - Result — its fresh-eyes pass caught two things the author could no longer see: a maintenance rule still pointing at skill-to-skill links that the same refactor had just deleted, and a file-editing safety rule present in two skills but missing from a third that also edits files.
- So — the check bites where bias is highest: not on a fresh artifact, but on the drift a big change leaves behind — exactly what the author's own eyes skate over.
Your session is stuck where it ran — this agent, this account, this machine. A teammate or another agent can't load the context your work happened in.
The fix → re0-git: clean a finished commit's message so git log — the one thing every environment shares — carries the handoff, and anyone picks up from the log alone.
[PROOF]
- Setup —
re0-git's very first target was its own release commit. - Result — dogfooding it surfaced two faults, both fixed:
- a message padded with trivia,
- a spec that preached "no redundancy" while repeating itself.
- So — its first cleanup was after itself.
Note
The five fixes above keep an artifact clean. The next three keep it true — the same distrust of the author, turned on the reasoning instead of the prose.
"Plausible," "absurd," "novel" — the least reliable line in any artifact. Human priors fail both ways: they exclude the real (desert frogs exist) and normalize the impossible (weightless crates).
The fix → factchk: verify any reality-grounded claim against external sources, in both directions, before it ships — and flag, don't guess, when you can't reach one.
Prior art: WEIRD bias (Henrich, Heine & Norenzayan, 2010) and the naive-physics / impetus error (McCloskey, Caramazza & Green, 1980) — intuition misjudges reality in both directions.
[PROOF]
- Setup — we ran
factchkon its own shipped citations, in both directions. - Result — all held, and it still caught two attribution slips to fix: the famous "what's measured becomes the target" wording is Strathern (1997), not Goodhart; and "McCloskey 1980" is the co-authored Science paper, not the 1983 Scientific American piece.
- So — a fact-checker that audits its own footnotes will audit yours.
A model, a scorer, and a designer can all agree a result is real while no outside ground-truth ever entered the loop — a whole room confidently remembering something that never independently happened.
The fix → mandela: audit any eval, metric, or experiment against an 8-pattern leakage taxonomy — does external ground-truth enter independently, or is the verifier the designer?
Prior art: Goodhart's law, data leakage (Kaufman et al., 2012), and circular analysis — "double dipping" (Kriegeskorte et al., 2009).
[PROOF]
- Setup — the audit was distilled from one research design that kept dying to a single failure mode: a scorer, a model, and a designer agreeing on a result no outside truth ever produced.
- Result — leakage surfaced in eight distinct shapes in that one project — a scorer grading buckets it had drawn, two components "verifying" each other in a shared space, a private recipe that made the verifier the designer — and that catalog became the skill's 8-pattern taxonomy.
- So — the checklist isn't theoretical: every pattern in it already drew blood once.
You built it, so you defend it. The questions that would break it are exactly the ones you won't ask.
The fix → hate: refuse to be nice to the plan — return the one load-bearing objection that could kill it and the cheapest experiment that would prove it matters. User-invoked: you point it at a plan deliberately.
Prior art: egoless programming (Weinberg, 1971 — the same root
showercites), hostile review, and fail-fast.
[PROOF]
- Setup — every research pass closed with an adversarial critic, and its verdict was always one root cause plus the cheapest test that would settle it, never a checklist.
- Result — it killed a recombination engine with "one more box drawn, not a sharper tip", and a human-holdout protocol on the numbers alone: n≈24 where 36 was needed, a family-wise error rate near 34%, and a design that cited a principle while implementing its opposite.
- So — the objection that mattered was always singular and cheap to test — exactly the
{root, first nail}thathateis locked to return.
Long agentic cycles produce many working parts — panels, routes, tests, screenshots — that prove activity more than value, and the sunk cost tempts you to carry the architecture forward. Then between passes the next move blurs into a dozen live threads at once, and too many options is its own paralysis.
The fix → retro + re0-work + flywheel + nba: extract the lesson, anti-pattern, and next gate; restart from a clean v0 when the foundation is wrong; run the build → QA → retro → re0-work loop; and when the thread is lost, read the state and return the single next best action. Keep only what earned reuse.
[PROOF]
- Setup — a game-engine demo reached a full-stack, runnable state: API routes, a canvas runtime, a leaderboard, arcade pages, remix and telemetry panels, tests, screenshots.
- Result — and it was still the wrong product — the generated games were mock, one-screen, with no durable replay layer — while every pass ended in "what now?" against a pile of unmet gates and parked threads.
- So — running and shipping-shaped is not done; the cycle needs a skill to name the missing gate and one to return the single next move.
Point an agent at a task that brushes guardrails — scraping, licensing, privacy, security — and you get the worst of both worlds: the risky sliver triggers refusals and retries, while the safe 90% comes back hedged, diluted, or quietly missing.
The fix → autobahn: carve guardrail-adjacent items out of scope before execution, each with a safe alternative and an archive entry; run the remaining scope at full strength in a fresh subagent that only ever sees the carved prompt, not the risky input; ship a descope ledger so every exclusion is a visible decision, not a silent gap. It removes the ask rather than slipping it past. The autobahn has no speed limit because entry discipline is strict.
Prior art, from this very summer: the US suspended Fable 5 and Mythos 5 over one jailbryoken safeguard (Anthropic, 2026), and OpenAI shipped GPT-5.6 safety-stack-first to trusted partners (OpenAI, 2026) — at the frontier, the fast lane stays open only as far as entry discipline holds.
[PROOF]
- Setup — the method was lifted from a live rewrite of a confidential strategy doc that was risk-adjacent on four axes at once: stealth tooling, trademarked names, privacy-adjacent profiling, scraping gray zones.
- Result — a main loop plus ten subagents ran the frontier model end to end with zero flags, zero refusals, zero fallbacks — and every descoped item's safe alternative turned out to be the better product anyway.
- So — the main loop carved, clean subagents ran the safe scope, and the carve is why they could floor it.
- Built on mattpocock/skills (MIT) — its architecture and philosophy.
- Not a fork — these are LilMGenius's own, non-overlapping workflows.
- Vendored verbatim — a few shared building blocks, kept as-is with per-source attribution in NOTICE.
- Authoring guide — conventions and philosophy live in CLAUDE.md.