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.
$ npx -y skills add LilMGenius/paperthin --agent claude-code
Repo: LilMGenius/paperthin
What's inside
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 · 한국어
npx skills@latest add LilMGenius/paperthin --global --agent '*'
/re0-upgrade whenever you want to update; it also wires a quiet session-start notice for when new skills ship./re0; model-invoked ones also fire on their own.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?
depth/| Skill | What it does | Scope | Invoker | Read-only |
|---|---|---|---|---|
| ♻️ re0 | Rewrite a drifted artifact into a clean v0, not another patch | one artifact | model | |
| 🧭 readchk | Check the model's read of the request; surface only a real surviving fork | one instruction | model | ✔ |
| 🏹 aim | Read handed-over data and propose the intent to confirm, instead of asking for it | one data drop | model | ✔ |
| 📏 modelchk | Size the cheapest sufficient tier and reasoning effort | one task | model | ✔ |
| 😈 hate | Refuse to be nice: the one objection that could kill it, plus the cheapest test | one plan | user | |
| 🧠 macrothink | Strip the bait, fan out fresh reads, report divergence first | one direction | user | ✔ |
| 🧐 feynman | Press a just-made decision until you can explain it, or the gap is flagged | one decision | user | ✔ |
| 🛣️ autobahn | Carve unsafe scope out up front, run the safe rest at full strength, log the descope | one task | model | |
| 🔃 reorder | Realign a drifted listing into a logical order under one stated principle; move items only, reword nothing | one listing | user | |
| 🧰 detool | Replace incidental stack nouns with the mechanism they mean | one durable artifact | model | |
| ✂️ dedash | Remove em-dashes and look-alikes, picking the punctuation each spot needs | your prose | user | |
| 🗜️ debloat | Compress a bloated artifact to its load-bearing density; cut words, never a rule | one artifact | user | |
| 🚿 shower | Cold-read it with fresh, zero-context eyes: does it stand alone? | one artifact | model | ✔ |
| 🔬 factchk | Verify what's asserted against sources both ways: could the absurd be real, the obvious false? | one claim | model | |
| 🧪 mandela | Audit for leakage: does outside ground-truth actually enter? | one eval | model | ✔ |
| 🥄 sip | After any change, taste it with the repo's own clean-and-true checks | your output | model | |
| 🧾 re0-git | Rewrite a finished commit's message so git log alone hands off | one commit | user | |
| 🚀 re0-release | Run the shipping and releasing checklist, then tag and publish once confirmed | one release | user | |
| 🤝 re0-merge | Review and land a contribution: gate it, keep the author's credit, approve before closing, explain any change | one contribution | user |
breadth/| Skill | What it does | Scope | Invoker | Read-only |
|---|---|---|---|---|
| 🧲 ssotize | Audit scatter, then consolidate to one home and point the rest at it | one fact, many places | model | |
| 🧰 re0-upgrade | Upgrade to the full current catalog in one command: retire renamed, add new, all confirmed first | your skill install | user |
coil/| Skill | What it does | Scope | Invoker | Read-only |
|---|---|---|---|---|
| 🗂️ re0-plan | Open a new iteration folder with DESIGN/WORKFLOW/EVIDENCE before re0-loop's first turn | one new cycle | user | |
| 🌀 re0-loop | Run the build → QA → re0-memo → re0-work loop so learning compounds, not code | the whole loop | model | |
| 🧭 re0-memo | Pull the lessons and anti-patterns from a finished or failed cycle | one finished cycle | model | |
| 🧱 re0-work | Start over from v0, keeping only the lessons that earned reuse | one restart | model | |
| 🗺️ catchup | Rebuild lost context from live state: what needs them, what changed, what new words mean | one re-entry | model | ✔ |
| 🎯 nba | Read the live cycle state and return the single next best action, not a menu | the live cycle | model | ✔ |
mesh/| Skill | What it does | Scope | Invoker | Read-only |
|---|---|---|---|---|
| 🔺 prism | Split one artifact across independent lenses; return where they clash and the question that resolves it | one artifact | user | ✔ |
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:
re0 rewrites a draft into a clean v0 instead of patching it,readchk restates the request and asks only when a real fork survives,aim reads a handed-over data drop and proposes the intent to confirm, instead of asking for it,modelchk sizes the cheapest sufficient capability tier and reasoning effort before the work starts,macrothink fans out fresh reads and reports divergence before convergence reads as proof,feynman presses a just-made decision until you can explain it to a skeptic, or names the gap you can't,prism splits one artifact across independent lenses and returns where they clash, never their average,autobahn carves unsafe scope out up front, so the safe remainder runs at full speed,detool strips incidental stack nouns from portable content, leaving the mechanism they meant,dedash removes even the em-dash tell and its look-alikes, one judged occurrence at a time,debloat compresses a bloated artifact to its load-bearing density, cutting words but never a rule,shower cuts whatever a stranger can't follow,ssotize audits scattered facts, asks approval, then folds them into one home,reorder realigns a drifted listing under one principle, moving items and rewording nothing,sip runs all of it on your own output, automatically,re0-memo / re0-work / re0-loop preserve the lesson, let the wrong build die, and keep the cycle running,catchup / nba reload the human's map from live state, then return the one next move.[!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.
re0 to refresh these docs once more, but they were already at v0.A long or bundled instruction has enough surface area for a subtle misread: the agent starts work, stays coherent, and only later proves it optimized the wrong target.
The fix → readchk: restate the instruction internally, cross-check it against available context, proceed silently when the read is resolved, and ask only when one real fork survives.
Some work is run with too much horsepower because "stronger" feels safer; some is run too cheaply until the failure costs more than the saved tokens. The same guessing hits the reasoning-effort dial: max it on everything and burn tokens, or skim a task that needed real deliberation. All of it is guessing wearing operational clothing.
FAQ
paperthin is a Claude Code plugin with 28 hand-picked skills for ai & agents work, indexed on Flowy. Install it with the command on its page. It includes re0-upgrade, ssotize, catchup. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it