re0-upgrade
Bring your installed paperthin skills up to the full current catalog in one step: retire…
Remove em-dashes and the dashes standing in for them from a user-owned scope, reading each occurrence in context and choosing the punctuation or wording that fits.
$ npx -y skills add LilMGenius/paperthin --skill dedash --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/dedashContext preview
The summary Claude sees to decide when to auto-load this skill.
Remove em-dashes and the dashes standing in for them from a user-owned scope, reading each occurrence in context and choosing the punctuation or wording that fits.
name: dedash disable-model-invocation: true description: "Remove em-dashes and the dashes standing in for them from a user-owned scope, reading each occurrence in context and choosing the punctuation or wording that fits."
Remove em-dashes and the dashes standing in for them from the scope the user names, one occurrence at a time, while leaving hyphens, ranges, and deliberate marks alone.
Replace each em-dash that should not remain with the mark or wording its clause actually needs. Target any dash doing an em-dash's job, whatever its exact character: U+2014 and its longer or repurposed look-alikes all read the same on the page. The user owns the scope: a passage, field, file, selection, or tree. Do not widen it without asking.
1. **FIND**: Take the exact scope from the user and locate every dash doing an em-dash's job in it, judged by the role it plays in the sentence, not its codepoint: any mark that sets off an aside, an appositive, an abrupt turn, or a missing conjunction. The em-dash (U+2014) is the common one; the horizontal bar (U+2015) and the two- and three-em dashes (U+2E3A, U+2E3B) read the same and count. The en-dash (U+2013) is the boundary case: it counts when it joins clauses where an em-dash would fit, but stays when it spans a range's endpoints, numeric or not (`1990–2020`, the `London–Paris` route). A dash doing a non-em job (a hyphen, a minus, a range) stays. Surface anything genuinely ambiguous as a judgment call rather than changing it blindly. 2. **REPLACE per role**: Choose per occurrence by grammatical role:
3. **LEAVE-ALONE**: Unless the user explicitly includes them and the context proves them wrong, leave untouched:
4. **RE-READ**: Read every changed sentence in place. Fix awkward rhythm, dangling punctuation, doubled spaces, and connector loss introduced by the replacement. If the sentence now needs wording instead of punctuation, rewrite the smallest clause that solves it. 5. **REPORT**: State the scope checked, how many dashes were found and changed, which replacements were used by role, and anything left alone or surfaced as a judgment call.
Before finishing, confirm:
1. The scope stayed exactly user-owned. 2. Every replacement was selected per occurrence by grammatical role. 3. Leave-alone cases stayed untouched or were reported as judgment calls. 4. The report includes counts and any judgment calls.
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.
Repo: LilMGenius/paperthin
Bring your installed paperthin skills up to the full current catalog in one step: retire…
Audit and consolidate a fact that's scattered across places into one canonical source, after…
Rebuild the human's lost context on a project from live state, in plain language: what needs…
Read the live cycle state and return the single highest-leverage next best action, not a…
Run repeated build -> QA -> re0-memo -> re0-work cycles while preserving learning and letting…
Turn a finished, failed, or disappointing work cycle into portable lessons, anti-patterns,…