deslop audits and, when explicitly authorized, removes complexity accumulated through repeated coding-agent implementation and correction cycles. Those cycles often leave overlapping regression tests, producer-verifies-producer checks, and fallback layers that hide failures instead of handling a current contract.

This is semantic subtraction, not source beautification. deslop is not a formatter, style humanizer, test-count minimizer, blanket ban on defensive code, or automatic permission to edit a repository. It follows justification chains to independent evidence and preserves behavior whose contract remains real or uncertain.

Reduce test surface, not behavior surface.

What it targets

The percentages below are design priorities, not measured prevalence.

Priority Target Question
~50% Test-suite bloat Does each test protect distinct external behavior with an independent oracle?
~25% Verification theater Can the verifier fail independently from the producer, or do both share the same information and failure domain?
~25% Defensive / fallback bloat Does the recovery path implement a current contract, or merely mask an unexpected internal error?

Generic dead code, wrappers, abstractions, and comments are secondary. They matter only when they belong to one of these clusters or have direct high-confidence deletion evidence.

Subtract machinery. Preserve behavior.

Remove Preserve
Self-justifying or duplicate tests Distinct success, rejection, error, and edge-case behavior
Checksums, receipts, or validators with no independent consumer Persistence and corruption checks across a real failure boundary
Speculative or obsolete fallback chains Supported compatibility and documented protocol behavior
Repeated defenses inside trusted call graphs Real handling at external and untrusted boundaries
Wrapper/test clusters with no independent purpose Security, transactions, concurrency, resource, and scientific invariants

Resemblance to a smell is a lead, not a verdict. Security and trust boundaries, supported callers, persisted formats, and numerical constraints are preserved by default when evidence is incomplete.

Quick Start

Codex: install v0.2.1 as a standalone Skill

Invoke the bundled installer with this GitHub Skill URL:

$skill-installer
Install the Skill from:
https://github.com/MrZoyo/deslop-GPT/tree/v0.2.1/skills/deslop

For a reviewable local checkout, symlink the runtime directory into Codex's canonical user Skill location:

git clone --branch v0.2.1 --depth 1 https://github.com/MrZoyo/deslop-GPT.git "$HOME/.local/share/deslop-GPT"
mkdir -p "$HOME/.agents/skills"
ln -s "$HOME/.local/share/deslop-GPT/skills/deslop" "$HOME/.agents/skills/deslop"

Codex supports symlinked Skill directories and detects changes automatically. The tagged v0.2.1 path is the current released, pinned standalone Skill; main is the development branch and may contain unreleased changes.

Claude Code: install the Plugin from GitHub

Inside Claude Code, add this repository as a marketplace and install the Plugin:

/plugin marketplace add MrZoyo/deslop-GPT
/plugin install deslop@deslop

The canonical Plugin command is /deslop:deslop. For a local checkout, load the repository directly with claude --plugin-dir . from the repository root. The Claude marketplace distributes Plugin version 0.2.1 from main, and the matching v0.2.1 tag pins the same release. This patch release adds Claude Code packaging and bilingual documentation; the runtime Skill payload is unchanged from v0.2.0.

One checkout, standalone discovery on both hosts

The same released runtime payload can be linked into each host's user Skill directory:

mkdir -p "$HOME/.agents/skills" "$HOME/.claude/skills"
ln -s "$HOME/.local/share/deslop-GPT/skills/deslop" "$HOME/.agents/skills/deslop"
ln -s "$HOME/.local/share/deslop-GPT/skills/deslop" "$HOME/.claude/skills/deslop"

Use only the link for the host you need, and run each ln command only when its destination does not already exist. A standalone Claude Code installation invokes the Skill as /deslop. See Getting Started for installation scope, v0.1.0 migration, updates, removal, and a safer review-first workflow. deslop is an independent community project, not an OpenAI or Anthropic product.

Distribution status

The shared skills/deslop/ payload follows the open Agent Skills structure and is used unchanged by Codex and Claude Code. .claude-plugin/plugin.json and .claude-plugin/marketplace.json provide Claude Code packaging. Codex Plugin distribution remains withheld because the tested Codex host installed and cached a Skills-only Plugin without registering its bundled Skill; Codex standalone installation remains supported. See the distribution compatibility note.

Invoke it explicitly

Host and distribution Command name
Codex standalone Skill $deslop
Claude Code standalone Skill /deslop
Claude Code Plugin /deslop:deslop

Append the same mode and scope arguments to the command name for each host:

Arguments Effect
none Read-only audit of the established scope
audit Explicit read-only audit
apply Apply reviewed cleanup within scope
tests apply Prioritize test signal and mutual-support test/code clusters
current branch apply Clean current work relative to its actual merge base
deep Repository-wide read-only audit
deep apply Repository-wide cleanup without redesign

Only apply authorizes edits. Staging, commits, pushes, branch changes, resets, and fetching still require separate permission.

Example workflow

Start with evidence, not edits:

$deslop deep

HIGH
- two fallback layers handle the same internal parse failure;
  current callers and history show no supported legacy input
- a local receipt is produced and verified by the same workflow;
  no external consumer or persisted trust boundary exists

PRESERVE
- a persisted readback detects truncated output across a write/read boundary
- a compatibility branch is required by a documented external protocol

Review each evidence chain and preservation decision. Apply only the supported scope:

$deslop deep apply

The example is schematic; it does not represent a benchmark fixture or performance claim.

How deslop decides

  • Independent evidence roots: current requirements, real callers, public contracts, protocols, trust boundaries, persistence boundaries, or scientific invariants.
  • Closed justification loops: production code and tests do not become necessary merely by justifying each other.
  • Production/test asymmetry: redundant test evidence can be removed without deleting the behavior it observes.
  • Fail-visible bias: unexpected internal failures should surface unless a concrete recovery or translation contract exists.
  • Subtraction without redesign: dependencies, abstractions, wrappers, compatibility layers, and replacement scaffolding have a default budget of zero.

The full decision model is documented in Design. The self-contained runtime SKILL.md remains authoritative for agent behavior.

Safety model

Codex enforces explicit invocation through allow_implicit_invocation: false. Claude Code does not read that OpenAI-specific metadata; the shared standards-compatible frontmatter instead tells Claude to invoke deslop explicitly. Claude Code may still select the Skill from its description, but such an invocation remains read-only unless the user includes apply. Default and audit modes are read-only, and suspicious constructs can be recorded as deliberate preservation decisions. Code is not removable merely because it looks defensive, was written by an agent, or has a test that could be deleted.

Apply authorization permits scoped edits; it does not resolve uncertainty in favor of deletion. See Getting Started for the review sequence and Design for confidence classes and preserved boundaries.

Evidence

Focused development evaluation

dev-v2-focused tests preservation and simplification decisions across paired micro cases and three end-to-end miniature repositories. Behavior gates run before reduction metrics. Micro and mini-repository results remain separate, and the repository publishes no project-level performance score.

See Evaluation for interpretation limits and evals/README.md for the canonical protocol.

Real-world field trials

Case Method Status
cluster-gpu-monitor Real repository; read-only audit, human adjudication, then two reviewed cleanup batches Frozen historical evidence

The first field trial records both accepted cleanups and deliberate preservation decisions with public before/after provenance. It had no independent baseline run from the same frozen state, so it is not a controlled A/B comparison and does not establish general superiority, 100% precision, or production-proven correctness.

Future cases can be added without becoming Skill-tuning inputs; see Field Trials.

Documentation

Document Purpose
Documentation index Choose a user, design, evidence, or development path
Getting Started Installation, invocation modes, scopes, updates, and safe workflows
Design Evidence roots, closed loops, preservation, and subtraction principles
Evaluation Focused corpus, hard gates, run discipline, and interpretation limits
Field Trials Real-world methodology, provenance, isolation, and case registry
Development Repository layout, validation, contribution, and release boundaries

Repository structure

.claude-plugin/                 Claude Code Plugin and marketplace metadata
skills/deslop/                   Self-contained runtime Skill payload
docs/                            User, design, evidence, and development guides
evals/dev-v2-focused/            Active focused development evaluation
evals/real-world/                Manually adjudicated real-world evidence
evals/archive/                   Retired historical evaluation material
scripts/                         Validation and evaluation tooling
assets/                          README and project presentation assets

Project status and contributing

Public releases use semantic versioning, beginning with v0.1.0. A 0.x release is usable but still evolving; it is not a stable, production-ready, or 1.0-quality claim. Immutable Git tags identify released runtime and distribution states. Benchmark candidates retain their separate evaluation tags.

The most useful contribution is an evidence-backed case with a nearby preservation counterexample and an independent behavioral oracle—not an isolated snippet that merely looks verbose. Read Development before proposing a Skill policy or evaluation change.

License

MIT