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 agentmods add skills/lilmgenius/paperthin/dedashnpx 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.svg" alt="Measured on agentmods" height="20"></a>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 | $0.00035 | $0.00887 |
| Opus 5 | $0.00017 | $0.00443 |
| Sonnet 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 4d 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.
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.
- 4d ago First seen · 44 lines · 35 tokens per session scan A 32b534fc55be
dedash is a skill published in the GitHub repository LilMGenius/paperthin (999 stars, last pushed 15d ago), licensed MIT. It adds 35 tokens to every session and 887 once invoked, about $0.0002 per session on Opus 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-init-project
Инициализирует или обновляет проект для mm-системы — создаёт passport.md в корне, копию в Obsidian, dashboard.md, handoff.md (скелет), project-instructions.md для claude.ai. Use when user says "оформи проект", "сделай паспорт", "init project", "/mm-init", "/mm-init-project", "обнови паспорт", "регистрирую проект".…
mm-setup
Онбординг/персонализация mm-системы под конкретного пользователя — спрашивает имя, чем занимается, стек, язык, путь к Obsidian vault, и записывает это в личный gitignored-оверлей config/mm-config.local.json + генерирует персональную копию claude.ai-скилла mm-web-bridge. Use when user says "/mm setup", "/mm onboard"…
mm-update
Самообновление mm-системы из удалённого репозитория. mm раздаётся через git clone + register-skills (не npm), поэтому update = git pull свежего mm из origin/main + повторный register-skills + notice о перезапуске Claude Code. Use when user says "обнови mm", "обнови систему", "/mm update", "update mm", "подтяни свежий…
mm
Диспетчер mm-системы — короткая команда вместо длинных. /mm без аргументов = список всех команд. /mm new = init project, /mm save = save session, /mm next = handoff, /mm prompt = bridge, /mm rules = instructions, /mm check = doctor. Use when user types "/mm" anything OR says "что есть в mm", "какие mm команды"…
content-editor
Writes and edits the portfolio's pages. Reads a brief, follows the style guide, and emits the HTML into public/.
notion-publish
Mirrors the portfolio's pages into Notion after publishing, creating one Notion page per site page via the Notion MCP. Use it from /publish, or when the user asks to sync the site to Notion.