re0-style
Skill1.4k starsChanged todayMITView on GitHub
Fix code in a named change or file list so it matches the conventions its own repository already keeps: run the project's configured formatter and linter in fix mode through the project's own toolchain, then fix by hand what no tool decides (naming, import order, file layout, error style) toward the dominant pattern in neighbouring files, behavior preserved, and ask with counts where the repository keeps two competing conventions. Use for 'make this match the codebase', formatter or linter setup, naming consistency, or a style pass on a change under review. Acts only inside the change or files the user names.
Trending
Less talk lately.thin dataabout the whole repository
Who's talking about LilMGenius/paperthin
- LowyShin/giip-fde-agent“Paperthin 핵심 기능 도입 작업 지시서”GitHub · Jul 26, 2026 · 1 reactions
- dragoscirjan/ai“Refactor and Debloat skill”GitHub · Nov 6, 2026
- tranhoangnguyen03/pi-consultants“Pilot four Paperthin-inspired skills in Pi Consultants”GitHub · Oct 20, 2026
- sudosubin/agents.nix“agent-skills.github.lilmgenius.paperthin: init at 0.17.7”GitHub · Oct 3, 2026
- Yeachan-Heo/gajae-code“research(ultragoal): explore Paperthin principles for bounded, evidence-driven execution”GitHub · Aug 29, 2026
The biggest 5 of 10 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 10
Talked about on GitHub (10 times).
On GitHub · 10
- Jul 26, 2026Paperthin 핵심 기능 도입 작업 지시서 — LowyShin/giip-fde-agent1 reaction
- Nov 6, 2026Refactor and Debloat skill — dragoscirjan/ai0 reactions
- Oct 20, 2026Pilot four Paperthin-inspired skills in Pi Consultants — tranhoangnguyen03/pi-consultants0 reactions · 1 comment
- Oct 3, 2026agent-skills.github.lilmgenius.paperthin: init at 0.17.7 — sudosubin/agents.nix0 reactions
- Aug 29, 2026research(ultragoal): explore Paperthin principles for bounded, evidence-driven execution — Yeachan-Heo/gajae-code0 reactions · 1 comment
5 more on GitHub
- Aug 26, 2026📝 https://github.com/LilMGenius/paperthin tool-study — adszzz11/study0 reactions
- Aug 26, 2026Track Codexy 1.6.0 lightweight skills and mechanical enforcement reduction — eunsoogi/codexy0 reactions · 10 comments
- Aug 26, 2026Record clean-room observations from the pinned research source — eunsoogi/codexy0 reactions · 3 comments
- Aug 26, 2026feat: add Paperthin-inspired artifact reflexes — BokEumEom/infrastructure-engineering-harness0 reactions · 1 comment
- Jun 21, 2026[skills.sh] Redirect LilMGenius/skills listings to LilMGenius/paperthin — vercel-labs/skills0 reactions · 1 comment
In this repository46 other files it gives its agents.
- AGENTS.mdAGENTS.md
- llms.txtllms.txt
- re0-importSkill
- re0-readmeSkill
- re0-upgradeSkill
- ssotize-localSkill
- ssotizeSkill
- backpropSkill
- catchupSkill
- nbaSkill
- paperthinSkill
- re0-loopSkill
- re0-memoSkill
- re0-planSkill
- re0-tutorialSkill
- re0-watchSkill
- re0-workflowSkill
- re0-workSkill
- aimSkill
- autobahnSkill
- crossthinkSkill
- debloatSkill
- dedashSkill
- dedotSkill
- deidSkill
- demockSkill
- detoolSkill
- elonSkill
- factchkSkill
- hateSkill
- macrothinkSkill
- mandelaSkill
- modelchkSkill
- re0-decideSkill
- re0-gitSkill
- re0-mergeSkill
- re0-orderSkill
- re0-releaseSkill
- re0Skill
- re0-squashSkill
- readbackSkill
- scopechkSkill
- showerSkill
- sipSkill
- whychkSkill
- multithinkSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 5 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
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 25
Every convention comes from the repository: a config it keeps (including a published style guide that config explicitly extends) or a …
- Distinctive: line 27
Run every tool through the project's own resolution with its version printed and compared.
- Distinctive: line 29
Never pick between two competing conventions silently.
- Distinctive: line 41
Every file in the diff is in scope, and every hunk maps to a reported change: read the diff hunk by hunk against the style-only rule.
- Distinctive: line 42
Every split carries the count of each pattern, and every public rename was proposed rather than applied unless the user confirmed it.
≈ “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
Fix a named change or set of files to match the conventions its repository already keeps, changing style and nothing else.
Goal
Code written in one session drifts from the code around it: another quote style, another naming case, imports in another order, errors raised the way the last project raised them. A reader then has to work out whether each difference means something. re0-style makes the code in scope read like its neighbours. It takes every convention from the repository itself, first from the formatter and linter the project configures and then from the pattern neighbouring files follow for what no tool decides, and applies the fixes in place with behavior unchanged. Where the repository itself is split between two conventions, it asks rather than picks. The result is a style-only diff and a report of each change by file and rule.
Workflow
- Pin the scope. Name the change (the working diff, or the diff against the base the user names) or the file list the user gave. For a change, the unit is the changed lines: a file the change does not touch is out of scope, and so are the untouched lines of a file it does. Run the project's tests once now, by the command its manifest, task runner or CI workflow names, and record the result, so a failure that was already there is not blamed on the pass.
- Drop what is not the repository's own. From this skill's folder, run
node scripts/scope.mjs <files...> [--json]on the files in scope. It lists, per file,linguist-generatedandlinguist-vendoredattributes, a generated-file header in the first lines, formatter and linter off markers with their line numbers, and the style config files that apply from the file's folder up to the repository root; exit 0 means no file is flagged, 3 that one or more are, 2 a usage error or an unreadable input. A hit is a lead to read, not a verdict: drop a file that is truly generated or vendored, and leave every region under an off marker as it is. - Read what the tools decide. From the configs step 2 listed and the project's manifests, scripts, lockfile, CI workflows and pre-commit config, name the formatter and linter the repository runs and the options it sets. Resolve each through the project's own resolution (
npm exec,bun run,./node_modules/.bin/,uv run,poetry run, the pinned toolchain), print the version about to run (the tool's--versionthrough that same resolution), and compare it with the one the lockfile or manifest declares. A mismatch, or a tool reachable only as a global binary or a scratch install, stops tool fixes for that tool and goes in the report. - Read what no tool decides. For each question the scope raises that no configured tool settles (identifier case by kind, import grouping and order, file and folder layout, export style, how errors are raised and worded), sample the neighbouring files, nearest first: the same folder, then files of the same kind elsewhere in the repository. Count each pattern. A pattern is the convention when nearly every sampled instance follows it and the exceptions look like drift: scattered single files, often recent. When the other pattern owns a whole folder or module, or recurs across files you cannot call drift, the repository keeps two conventions there; record both counts and where each lives. When you cannot tell, treat it as two conventions and ask. A folder's own consistent convention beats the one the rest of the repository keeps.
- Apply the tool fixes. Run the formatter, then the linter's fix mode, on the files in scope only, and only the fixes the tool marks safe. For a change, first run the formatter's check on the base version of each file (read it with
git show <base>:<path>into a scratch copy): if the base was already clean, formatting the whole file touches only the change; if it was not, keep only the edits inside the changed lines (the tool's range option, or the hunks that overlap them) and report the earlier drift as left. When the user asked to set up a formatter or linter that the repository lacks, configure the one its ecosystem and manifests already point to, set each option to what step 4 found the code doing, and run it on the scope alone; whatever it would still change outside the scope is reported, never applied. - Apply the hand fixes. Fix the remaining lint findings and each deviation from a step 4 convention inside the scope, preserving behavior. Rename a local or private identifier together with every reference to it. A rename that crosses a public API (an export another module or package imports, a CLI flag, a config key, a route, a serialized field) is proposed in the report with every caller it would touch and applied only when the user confirms it. A lint finding that only a logic change can satisfy is left and reported.
- Surface the splits. For each place where step 4 found two conventions, leave the code as it is and write a question into the report: the two patterns, the count of each, where each lives, and the lines in scope that wait on the answer. The run does not stop for it; a later pass applies the answer.
- Verify and report as below.
Rules
- Every convention comes from the repository: a config it keeps (including a published style guide that config explicitly extends) or a pattern its own files follow consistently. Never an outside style guide, a language's popular default, or taste the repository does not already follow.
- Stay inside the scope the user named or that a pipeline they invoked passes on. Never restyle an untouched file or untouched lines, and never widen the scope; drift found outside it is reported, not fixed.
- Run every tool through the project's own resolution with its version printed and compared; a global binary or a scratch install is a different toolchain and its verdict is not the project's.
- Style only. No change to a value, condition, call, control flow or public name. Leave the order of imports that run code when loaded (polyfills, registrations, stylesheets) as found, since moving them changes behavior.
- Never pick between two competing conventions silently; the split goes to the user as a question with counts.
- Respect what the repository protects: generated and vendored files and every region under a formatter or linter off marker stay untouched.
- Hand off what other passes own: punctuation in prose and comments (em and en dashes to
dedash, Korean middle dots todedot), and prose bloat or code that carries nothing (dead code, comments that restate the code) todebloat. Name each handoff in the report rather than doing it. - A pass that finds nothing off-convention changes nothing.
- Edit safely: assert each target exists before changing it and report a MISS rather than a silent no-op; read and write files as UTF-8 without changing their line endings; replace per occurrence rather than by blanket sweep; script a large mechanical change.
Verification
Before finishing, confirm:
- The formatter and linter, run through the project's own resolution, report the touched files clean, or every finding they still report is listed as left with its reason.
- The project's tests give the same result as the run in step 1.
- Every file in the diff is in scope, and every hunk maps to a reported change: read the diff hunk by hunk against the style-only rule.
- Every split carries the count of each pattern, and every public rename was proposed rather than applied unless the user confirmed it.
Report each change by file and rule (the tool's rule id, or the convention with the counts that made it one), then what was left: the splits as questions with counts, findings only a logic change could satisfy, proposed public renames, drift outside the scope, tool version mismatches, and each handoff.
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.

