deslop

deslop is a skill for Claude Code from jjanczur/tyran. It costs 58 tokens per session (1,401 once invoked), scanned A, original, Apache-2.0.

A cleanup pass for skill instructions and prose, and for code that has become noisy without gaining capability. It focuses on deleting one type of unnecessary material at a time while preserving behaviour with tests.

In plain words
What is it for?
Use it for a per-story optimization pass or when reviewing an overgrown skill or codebase. If nothing can be removed, it records that outcome and stops.
Why use it?
It helps reduce clutter and makes changes safer by requiring a test baseline before editing.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the tyran plugin — 15 skills, 5 agents, 5 hooks shipped together

Good fit Use it for a per-story optimization pass or when reviewing an overgrown skill or codebase. If nothing can be removed, it records that outcome and stops.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/jjanczur/tyran/deslop
Install

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.

Any agent
npx skills add jjanczur/tyran --skill deslop
Clone the repo
git clone --depth 1 https://github.com/jjanczur/tyran

Made for: Claude Code.

Or install tyran, the plugin that ships this one along with the rest of its 15 skills, 5 agents, 5 hooks.

Wrote 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.

agentmods badge for deslop

README.md
[![agentmods](https://agentmods.dev/badge/skills/jjanczur/tyran/deslop/github.svg)](https://agentmods.dev/skills/jjanczur/tyran/deslop)
Your own site
<a href="https://agentmods.dev/skills/jjanczur/tyran/deslop"><img src="https://agentmods.dev/badge/skills/jjanczur/tyran/deslop/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.

agentmods 80×15 button for deslop

Your own site · 80×15
<a href="https://agentmods.dev/skills/jjanczur/tyran/deslop"><img src="https://agentmods.dev/badge/skills/jjanczur/tyran/deslop.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 58 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,401 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00058 $0.01401
Opus 5 $0.00029 $0.00700
Sonnet 5 $0.00012 $0.00280
Haiku 4.5 $0.00006 $0.00140

Measured 10d ago against content hash ad2639521c37, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

deslop 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 10d 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.

skills/deslop/SKILL.md · 109 lines

How it starts

The opening of the file, as written. The whole thing — 109 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Deslop — the pass that removes rather than adds

Every story here owes an optimization pass, and until this file existed the pass was whatever the agent felt like that afternoon. This is what one is.

The default action is deletion. A pass that ends with more lines than it started with was a refactor, and a refactor is a different piece of work with a different risk profile. "Started with" means the state immediately before THIS pass, not the branch point — a story that adds a feature adds lines, and judging the pass by the whole branch diff condemns it in advance. That number is then invisible to everyone but you, so make it recomputable: commit the story's work, then commit the pass separately. Measured: an author counting honestly from its own uncommitted draft and a reviewer counting from the branch point produced a blocking CHANGES-REQUESTED and an arbitration, with neither agent wrong on its own terms. If you cannot delete anything, say so and stop — that is a complete and respectable outcome.

The order, and why it is an order

  1. Pin the behaviour BEFORE you touch anything. Run the relevant tests and keep the output. A green run after an edit proves nothing on its own: you do not know it was green before. If no test covers the area, write the narrowest one that does, and it must go red when you break the behaviour on purpose — otherwise it is not a net, it is decoration.
  2. One smell class per pass, verified between passes. Dead code, then duplication, then naming and error handling, then tests. Bundling them produces a diff nobody can review and a bisect that cannot isolate the change that broke something.
  3. Re-read the diff as the reviewer will. Anything in it that is not the smell you set out to remove comes back out.

What counts as slop

  • Dead code — unreachable branches, unused exports, stale flags, debugging left in place, backwards-compatibility shims for something nothing calls. Verify it is unused before deleting; "I could not find a caller" and "there is no caller" are different statements and only one of them is a fact.
  • Duplication that has diverged. Two copies that agree are a cost; two copies that quietly disagree are a defect.
  • Pass-through wrappers and single-use helpers. Indirection that costs a jump and buys nothing. Three similar lines beat a premature abstraction — the abstraction commits you to a shape you have seen once.
  • Defensive handling for states that cannot occur on a trusted internal path. It reads as care and works as camouflage: the catch that cannot fire today is the one that swallows the real error next year.
  • Casts that exist to silence a type error rather than to state a truth the compiler cannot see.
  • Work nobody asked for — an improvement, a rename, a docstring, a reformat on code the story never touched. It inflates the diff, hides the real change, and puts an unreviewed decision in someone else's file.
  • Comments restating the line below them. Keep the comment that explains WHY, delete the one that narrates WHAT.

Read the full file on GitHub · 109 lines

Changes

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.

  1. 10d ago First seen · 109 lines · 58 tokens per session scan A ad2639521c37

Subscribe to this mod's changes

deslop is a skill published in the GitHub repository jjanczur/tyran (79 stars, last pushed 6d ago), licensed Apache-2.0. It adds 58 tokens to every session and 1,401 once invoked, about $0.0003 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.