danshari.skill

断舍离.skill · MIT · zero dependencies

The first skill that tells you to delete skills.

The whole ecosystem is addition — awesome lists collect thousands of skills, single repos ship three hundred. Nobody does subtraction. But skills are not free: every one you install bills you tokens on every turn, and each time the model gets a generation stronger, another batch of them turns from asset into liability.

danshari.skill cuts what teaches the model to do what it already knows,
and keeps what tells the model what it could not possibly know.
git clone https://github.com/swaylq/danshari-skill.git ~/.claude/skills/danshari-skill
Demo audit
12 → 5
Description tax
−66%
Dependencies
0
rm calls made
0

Why subtract

Skills are not free — you pay three costs

There is always a reason to install one, and never an occasion to remove one. So the directory only grows, while the model keeps getting stronger.

Token tax

Its name and description enter the system prompt on every turn. A dozen skills is two thousand tokens per turn, billed whether or not today's task needs any of them.

Mis-triggering

Descriptions compete for the same work. One wrong trigger is worse than having no skill at all — the model marches off confidently holding an obsolete manual.

Rot

Hard-coded paths, APIs and model names expire. A rotten skill misleads every time it fires, and it will never tell you that it has gone stale.

What it looks like

Not "delete a few that look untidy"

Every skill is tried against the model, harness and MCP servers you are running right now, and judged on evidence.

~/.claude/skills — danshari.skill
you       ❯ new model just landed — declutter my skills

danshari  ❯ Environment: claude-fable-5 · Claude Code (built-in search /
            subagents / auto-memory / plan mode) · MCP ×3 (slack /
            github / playwright)

            Inventory: 12 skills, ~2,160 tokens/turn of description tax.

            Blind test on think-harder: a subagent without it debugged a
            real race condition at equal quality → the model has
            internalised this. 210 tokens/turn paid for nothing.

            Verdicts: ✂️ remove ×6 · 🔧 trim ×1 · 🔗 merge ×1 ·
            ⏳ probation ×1 · ✅ keep ×2
            Evidence per line in the report — execute?

you       ❯ go ahead, but keep the selector script inside browser-scrape

danshari  ❯ Understood: script extracted to scripts/ first, shell archived after.
            Archived 7 (restorable), trimmed 1 (58 lines → 9), merged 1 pair.

            12 → 5 skills, ~1,425 tokens/turn saved (−66%).
            Restore: tools/archive.sh --restore <name>

Full report with the evidence behind every verdict: examples/2026-08-17-demo/report.md

How it judges

Triage by type, prove with five questions, confirm by blind test

"Stronger models make skills useless" is only true of the first type. A cleanup that cannot tell the types apart deletes exactly the wrong ones.

TypeDefinitionFate
CapabilityGeneral method — teaches the model how to think or workModel upgrades obsolete it — the audit's focus
EnvironmentWraps a tool, or fills a gap in the harnessHarness and MCP evolution replace it
KnowledgePrivate facts: accounts, paths, internal conventionsNever obsoleted by a stronger model — protected
Q1Model already internalised it?
Q2Harness ships it built-in?
Q3An MCP server took it over?
Q4Absorbed by / duplicating another?
Q5Has it rotted?

Five verdicts, not two

Before any capability skill is removed, a subagent that does not load it attempts the skill's most typical task. Only equal quality justifies the cut. Evidence, not intuition.

VerdictMeaning
✂️ RemoveEvidence is conclusive → archived (restorable). Never rm.
🔧 TrimMixed type: drop the obsolete lecture, keep the valuable facts — 200 lines often become 10.
🔗 MergeDuplicates fighting over the same triggers, folded into the better one.
⏳ ProbationEvidence insufficient — not decided by force, flagged for the next audit.
✅ KeepIt earns back its own token tax.

Safety

A tool that touches your skills directory is only as good as its safety design

  • Never rm — every removal is a move into an archive directory. --restore brings it back in one command; the MANIFEST keeps the trail.
  • Nothing without confirmation — you see the verdict table first, and can veto line by line.
  • Knowledge skills are a red line — private facts, team policy, referenced scripts: kept no matter how strong the evidence.
  • Frisked before archiving — obsolete skills often bury facts that are not obsolete (URLs, accounts, scripts). Those are extracted first.
  • Every verdict carries evidence — the blind-test record, the named replacement (which built-in, which MCP server), proof of rot. Assertions don't count.
  • Self-judgment clause — danshari itself costs you ~180 tokens/turn and has to earn that back. If your model audits just as well without it, declutter danshari too.

Install

One clone, any host

Once installed, just say "declutter my skills" or "new model, clean up the skills" in your agent.

git clone https://github.com/swaylq/danshari-skill.git ~/.claude/skills/danshari-skill
HostTarget path
Claude Code~/.claude/skills/danshari-skill
OpenClaw~/.openclaw/skills/danshari-skill
Codex~/.codex/skills/danshari-skill
Hermit~/.hermit/skills/danshari-skill

Only after the methodology? Feed SKILL.md and references/rubric.md straight to your agent.