deslop · prathamdby — Claude Code skill: what it does, how to install
Removes diff bloat and unnatural patterns without altering software behavior. It inspects changes before commits or pull requests.
npx skills add prathamdby/skills --skill deslop -a claude-codeWhat deslop does
The skill inspects repository changes across targeted scopes. By default, it processes staged edits via git diff --cached, but it also handles unstaged worktrees or branch comparisons via triple-dot diffs. Staged targets that contain unstaged hunks halt execution immediately.
Execution runs through four distinct stages: lock, classify, edit, and verify. It records SHA-256 hashes of the diff state and checks at most two adjacent files in the same directory to determine local conventions. Logic, timing, validation, side effects, and public APIs remain preserved.
Any changes touching executable logic, control flow, types, or API boundaries require the narrowest covering test. Missing or failing test suites block the entire run with a BLOCKED status. The skill never creates commits and never broadens its working scope.
What it helps with
- clean up diff bloat before opening a pull request
- align modified code style with nearby directory patterns
- prevent changes that lack covering unit or integration tests
- isolate staged modifications from untracked or unstaged hunks
Example prompts for the agent
- Run deslop on staged changes
- Clean diff against
mainusing deslop - Check current worktree diff for unnecessary bloat
How to install deslop
1Skills CLI (Vercel)
npx skills add prathamdby/skills --skill deslop -a claude-code2Manually: put the files in place
~/.claude/skills/deslop/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/deslop/
1Skills CLI (Vercel)
npx skills add prathamdby/skills --skill deslop -a codex2Manually: put the files in place
.agents/skills/deslop/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add prathamdby/skills --skill deslop -a cursor2Manually: put the files in place
.cursor/skills/deslop/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install prathamdby/skills deslop2Manually: put the files in place
.github/skills/deslop/SKILL.md1Skills CLI (Vercel)
npx skills add prathamdby/skills --skill deslop -a gemini-cli2Platform CLI
gemini skills install https://github.com/prathamdby/skills --path skills/engineering/deslopManually: put the files in place
.devin/skills/deslop/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add prathamdby/skills --skill deslop -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about deslop
How to install deslop in Claude Code?
Run npx skills add prathamdby/skills --skill deslop -a claude-code. This installs the configuration to ~/.claude/skills/deslop/SKILL.md.
What does deslop do?
It cleans diff noise and inconsistent patterns without altering code behavior. The skill categorizes hunks against local repository standards and validates modifications against existing tests.
Why does deslop return a BLOCKED terminal status?
The workflow halts when staged targets have lingering unstaged edits, when target bases are missing, or when required tests fail for modified executable logic.
Source text
SKILL.md · MIT
--- name: deslop description: > deslop to remove diff bloat and foreign patterns without changing behavior. --- # Deslop ## Scope Default staged (`git diff --cached`). Unstaged/worktree → git diff; against/since <branch> → committed triple-dot diff. Conflicting scopes, missing base, or ambiguous values block. An empty scope never switches. ## 1. Lock Capture status, selected diff, sorted paths, original index, and SHA-256 of scope name plus complete diff. Record `scope/hash | file | checked hunks | kept instances | verification | terminal`. Empty → NO_CHANGES, naming other layers without touching them. Staged targets with unstaged hunks block the whole run; committed-base targets with staged/ unstaged work also block. Done when editable bytes and staging boundaries are fixed. ## 2. Classify Read every changed file and at most two same-directory norm-setting neighbors per module. Apply all six categories in `REFERENCE.md` to every hunk. Record path/lines, primary category, local evidence, smallest atomic edit; secondary only for another edit. Update sorted-file progress after each file. On resume rehash; restart changed current work and retain completed entries only for unchanged hunks. Done when every hunk has six-category coverage; no instances → CLEAN. ## 3. Edit Apply all reference guardrails; drop uncertain instances. Use the smallest locally established form, preserving logic, timing, errors, side effects, validation, API, and useful abstraction. Unstaged/base never stage. Staged stages only edited targets proven to have had no pre-existing unstaged work. Done when each kept instance is gone and the original index is preserved except authorized staged-target updates. ## 4. Verify Recheck selected diff/status, no new slop or moved out-of-scope layers. Executable/type/control/error/validation/API edits require the narrowest covering test; missing/failing required tests block. Docs/comments/whitespace may use diff audit alone. Report scope, files, category counts, staging preservation, audit, tests. Done when each edit and staging invariant is proved. Terminals: SUCCESS, CLEAN, NO_CHANGES, BLOCKED. No commits or scope expansion.
© prathamdby · MIT · prathamdby/skills
Similar skills
All skills for Git and GitHub →deslop by other authors comes first.