Zero tech debt
Skill jeremylongshore/claude-code-plugins-plus-skills/skills/.curated/zero-tech-debt
Rebuild a feature as if the correct product architecture existed from day one — remove compatibility cruft, dead abstractions, and historical compromises instead of preserving them. Use when the operator says "refactor properly," "clean up," "rewrite," "modernize," "remove legacy," "simplify," "rethink," "pay down tech debt," or signals frustration with accumulated complexity. Do NOT use for hotfixes, bug repros, surgical patches, or security backports — blast-radius minimization wins there. Trigger with "/zero-tech-debt", "do it right this time", "the way it should have been built", "refactor toward intent".From its SKILL.md
npx -y skills add jeremylongshore/claude-code-plugins-plus-skills --skill zero-tech-debtAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its file declares
Copied from the file, not written here
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
4.1 KB, 720 tokens by cl100k_base, as published. Nobody here has run it
Zero Tech Debt
Build toward the intended product shape — not the historical sequence of patches, migrations, wrappers, aliases, and temporary decisions that created the current implementation.
The goal is not "minimal diff." The goal is a cleaner, more coherent system with fewer moving parts, fewer hidden assumptions, and lower long-term operational cost.
Core Principle
Treat the current implementation as evidence, not authority.
Preserve only the parts that still serve the intended architecture, UX, reliability model, and operational constraints. Everything else is eligible for deletion.
Operating Mode (read this section every invocation)
- Confirm scope —
Readreferences/01-when-to-use.md. If the request smells like a hotfix, security backport, or time-boxed patch, stop and recommend a targeted change instead. - Pre-flight — walk
references/02-preflight-checklist.md. Every box must be checked before touching code. Tests, callers, rollback path, single-paragraph end-state description, no in-flight migration, telemetry accounted for. UseGlobto locate test files andGrep/Bash(rg:*)to enumerate external callers of the surface being changed. - Run the 7-step workflow —
references/03-workflow.md. Define end state → audit reality → delete before adding → optimize around final shape → collapse duplicate decision logic → remove historical leakage → validate. - Use the audit patterns —
references/04-audit-patterns.mdlists the concreteGrep/Bash(rg:*)/Bash(fd:*)targets (TODO/DEPRECATED markers,_v2/_oldsuffixes, stale feature flags, dual-mode forks, etc.). Each match is a candidate, not an automatic deletion. - Apply decision filters when choices tie —
references/05-decision-filters.mdcovers tiebreakers and named anti-patterns to avoid. - Apply edits with
Edit— once a deletion / rename / consolidation is approved, useEditto apply the change atomically. Stage withBash(git:*)so the operator can review per commit before push. - Report back in shape-change terms —
references/06-outcomes-and-reporting.md. The diff lists every line; the summary makes the architectural delta legible.
Scope Discipline (this is the most common failure mode)
A zero-tech-debt refactor will tempt unbounded scope. Hold the line:
- One coherent end state per refactor — not three loosely related ones
- If deletion reveals deeper rot, document it and stop; do not chain refactors mid-flight
- Resist "while I'm here" additions unrelated to the deletion path
- New features wait for a separate change
- If the work cannot fit in a single reviewable unit, split along ownership boundaries — never along file counts
Final Rule
Do not optimize for preserving the past.
Optimize for making the next 2 years of development simpler.
See references/ for the full methodology — each file is a single concern, loadable on demand.
What ships with it: 6 files
23.8 KB alongside SKILL.md
references/
- 01-when-to-use.md2.6 KB
- 02-preflight-checklist.md3.4 KB
- 03-workflow.md5.0 KB
- 04-audit-patterns.md3.9 KB
- 05-decision-filters.md4.2 KB
- 06-outcomes-and-reporting.md4.7 KB
Gives 0 of the 12 instructions most refactoring skills give in 720 tokens
Counted across 545 of the 587 authors here whose files we hold, read 2026-09-06
- Run tests after each changein 61 of 545, across 59 files
- Run tests before refactoringin 42 of 545
- Revert immediately if tests failin 31 of 545, across 28 files
- Perform refactoring in small stepsin 30 of 545, across 29 files
- Write characterization tests for untested codein 21 of 545, across 19 files
- Remove dead code and unused importsin 20 of 545
- Identify code smellsin 20 of 545
- Perform one refactoring at a timein 19 of 545
- Commit after each successful refactoringin 17 of 545, across 15 files
- Verify all tests pass after refactoringin 17 of 545
- Keep refactoring separate from behavior changesin 16 of 545, across 14 files
- Run the full test suitein 16 of 545
Said here and by no other author read
- Treat current implementation as evidence not authority
- Delete before adding new code
- Define end state before auditing reality
- Collapse duplicate decision logic
- Remove historical leakage
- Split work along ownership boundaries
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.