Paperthin is a collection of low-level design patterns that coding agents can apply as repeatable checks and actions during software work. It is for people using agents such as Claude Code, Codex, Cursor, or other supported tools, and its catalogue entries package the patterns as skills, an instruction, and a plugin.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add LilMGenius/paperthin --skill dedashgit clone --depth 1 https://github.com/LilMGenius/paperthinWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/lilmgenius/paperthin/dedash)<a href="https://agentmods.dev/skills/lilmgenius/paperthin/dedash"><img src="https://agentmods.dev/badge/skills/lilmgenius/paperthin/dedash/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/lilmgenius/paperthin/dedash"><img src="https://agentmods.dev/badge/skills/lilmgenius/paperthin/dedash.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Socket pass
- Snyk pass
- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Excessive Agency · line 11 Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00035 | $0.00887 |
| Opus 5.5 | $0.00014 | $0.00355 |
| Sonnet 5.5 | $0.00007 | $0.00177 |
| Haiku 4.5 | $0.00003 | $0.00089 |
Grade A, and why
dedash scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
Copies of this mod
1 near-identical copy found in the catalogue:
- dedash — 100% identical
How it starts
The opening of the file, as written. The whole thing — 44 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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.
Goal
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.
Workflow
- 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, theLondon–Parisroute). 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. - REPLACE per role: Choose per occurrence by grammatical role:
- Parenthetical aside: commas or parentheses when the dashed material can be lifted out of the sentence.
- Appositive: a colon or comma when the dashed material renames, defines, or expands the noun before it.
- Abrupt turn: a full stop, semicolon, or comma when the dash marks a pivot, interruption, or restart.
- False-conjunction break: rewrite the sentence when the dash stands in for a missing "and", "but", "because", "so", or another real connective.
- LEAVE-ALONE: Unless the user explicitly includes them and the context proves them wrong, leave untouched:
- hyphenated compounds, minus signs, and negative numbers
- ranges such as
1-10,1–10, orLondon–Paris; a range dash is not an em-dash - code, diffs, command output, identifiers, serialized data, URLs, paths, anchors, and query strings
- quoted or clearly deliberate em-dashes in stylized prose; these surface as judgment calls, never as blind mutations
- 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.
- 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.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 44 lines · 35 tokens per session scan A 32b534fc55be
dedash is a skill published in the GitHub repository LilMGenius/paperthin (1,329 stars, last pushed yesterday), licensed MIT. It adds 35 tokens to every session and 887 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
mm-setup
A setup guide that personalizes a shared mm system for one user. It asks for details such as your name, work area, tools, language, and Obsidian vault location, then saves them in private configuration files.
mm-update
A guided updater for the mm system, which is installed by copying a Git repository rather than through a package manager. It downloads the latest version, registers its skills again, and tells you to restart Claude Code.
mm-instructions
A generator for ready-to-paste instructions for a Claude.ai project. It reads project details and fills a template with the project's name, technology, planning information, and current work context.
mm-projects
A read-only overview of all registered projects stored in Obsidian notes. It shows each project's status, type, current GSD phase, recent activity, and number of open questions.
mm
A dispatcher that provides short /mm commands for project setup, session recovery, project overviews, and workflow checks. It maps these aliases to longer system commands.
goal-loop
Drive a verifiable goal to done with factory-built agents, visible and held-out evidence, and a cross-provider judge.