AI Slop Cleaner Skill
Reduce AI-generated slop with a regression-tests-first, smell-by-smell cleanup workflow that preserves behavior and raises signal quality.
When to Use
Use this skill when:
- A code path works but feels bloated, noisy, repetitive, or over-abstracted
- A user asks to “cleanup”, “refactor”, or “deslop” AI-generated output
- Follow-up implementation left duplicate code, dead code, weak boundaries, missing tests, fallback-like code, or unnecessary wrapper layers
- You need a disciplined cleanup workflow without broad rewrites
GPT-5.5 Guidance Alignment
- Keep outputs concise and evidence-dense unless risk or the user requests more detail.
- Treat newer user instructions as local workflow updates without discarding earlier non-conflicting constraints.
- Keep using inspection, tests, diagnostics, and verification until the cleanup is grounded.
- Proceed automatically through clear, reversible cleanup steps; ask only when a choice materially changes scope or behavior.
Scoped File Lists and Ralph Workflow
- This skill can accept a file list scope instead of a whole feature area.
- When the caller provides a changed-files list (for example, Ralph session-owned edits), keep the cleanup strictly bounded to those files.
- In the Ralph workflow, the mandatory deslop pass should run this skill on Ralph's changed files only, in standard mode unless the caller explicitly requests otherwise.
Procedure
Lock behavior with regression tests first
- Identify the behavior that must not change
- Add or run targeted regression tests before editing cleanup candidates
- If behavior is currently untested, create the narrowest test coverage needed first
- For fallback-like code, cover the primary path and any preserved compatibility/fail-safe fallback before cleanup
Create a cleanup plan before code
- List the specific smells to remove
- Bound the pass to the requested files/scope
- If a file list scope is provided, keep the pass restricted to that changed-files list
- Include fallback findings, classifications, and escalation status in the plan
- Order fixes from safest/highest-signal to riskiest
- Do not start coding until the cleanup plan is explicit
Inventory fallback-like code before editing
- Search the requested scope for fallback-like detection signals: quick hacks, temporary workaround, temporary fallback, just bypass, just skip, fallback if it fails, swallowed errors, silent defaults, broad compatibility shims, and duplicate alternate execution paths
- Classify each finding before changing it:
- Masking fallback slop — hides errors or evidence, bypasses the primary contract, suppresses tests or validation, swallows failures, silently defaults, or adds untested alternate paths
- Grounded compatibility/fail-safe fallback — is scoped to an external/version/fail-safe boundary, documents the rationale, preserves failure evidence, and has regression tests for both the primary and fallback behavior
- Prefer root-cause repair, deletion, boundary repair, or explicit failure behavior before preserving fallback paths
- For broad, ambiguous, cross-layer, or architectural fallback-like code, invoke
$ralplan for consensus resolution before edits
- Recursion guard: when already inside ralplan, ralph, team, or another OMX workflow, do not spawn a nested
$ralplan; record the finding and attach it to the active ralplan, leader, or plan handoff instead
Categorize issues before editing
- Fallback-like code — masking fallbacks, workaround branches, bypasses, swallowed errors, silent defaults, broad shims, alternate execution paths
- Duplication — repeated logic, copy-paste branches, redundant helpers
- Dead code — unused code, unreachable branches, stale flags, debug leftovers
- Needless abstraction — pass-through wrappers, speculative indirection, single-use helper layers
- Boundary violations — hidden coupling, leaky responsibilities, wrong-layer imports or side effects
- UI/design slop — review visual outputs as context-sensitive signals, not absolute bans; preserve intentional brand, design-system, accessibility, or product-context exceptions when the rationale is clear
- Korean body text that is too small: challenge 11-12px body copy; Korean body text generally needs 14px or larger unless a dense, accessible system explicitly supports smaller text
- Gratuitous depth: avoid putting box shadows on every logo, surface, card, icon, background, and step block when hierarchy or affordance does not need it
- Repetitive content scaffolding: trim repeated eyebrow + title + description + paragraph stacks, filler explanation text, and generic emoji badges that do not add meaning
- Default AI palettes: question blue/purple defaults such as #3B82F6 when there is no brand, semantic, or system rationale
- Over-perfect grids: avoid reflexive uniform 3-column or 4-column card grids when the product context would benefit from rhythm, asymmetry, carousel cuts, bento composition, or varied emphasis
- Extreme gradients: tone down "AI demo" gradients unless the brand or campaign intentionally calls for that intensity
- Missing tests — behavior not locked, weak regression coverage, gaps around edge cases
Execute passes one smell at a time
- Fallback-like code resolution gate — remove masking fallback slop, repair root causes, or escalate ambiguous cases before continuing
- Pass 1: Dead code deletion
- Pass 2: Duplicate removal
- Pass 3: Naming/error handling cleanup
- Pass 4: Test reinforcement
- Re-run targeted verification after each pass
- Avoid bundling unrelated refactors into the same edit set
Run quality gates
- Regression tests stay green
- Lint passes
- Typecheck passes
- Relevant unit/integration tests pass
- Static/security scan passes when available
- Diff stays minimal and scoped
- No new abstractions or dependencies unless explicitly required
Finish with an evidence-dense report
- Changed files
- Simplifications made
- Fallback findings, classifications, and escalation status
- Tests/diagnostics/build checks run
- UI/design reviewer checklist findings when visual/UI files were in scope
- Remaining risks
- Residual follow-ups or consciously deferred cleanup
Output Format
AI SLOP CLEANUP REPORT
======================
Scope: [files or feature area]
Behavior Lock: [targeted regression tests added/run]
Cleanup Plan: [bounded smells and order]
Fallback Findings: [none, or finding -> masking fallback slop / grounded compatibility/fail-safe fallback -> escalation status]
UI/Design Findings: [none/N/A, or signal -> action taken/deferred -> intentional exception rationale]
Passes Completed:
- Fallback-like code resolution gate - [root-cause repair, explicit failure behavior, preserved grounded fallback, or ralplan handoff]
1. Pass 1: Dead code deletion - [concise fix]
2. Pass 2: Duplicate removal - [concise fix]
3. Pass 3: Naming/error handling cleanup - [concise fix]
4. Pass 4: Test reinforcement - [concise fix]
Quality Gates:
- Regression tests: PASS/FAIL
- Lint: PASS/FAIL
- Typecheck: PASS/FAIL
- Tests: PASS/FAIL
- Static/security scan: PASS/FAIL or N/A
Changed Files:
- [path] - [simplification]
Fallback Review:
- Findings: [fallback-like findings detected]
- Classification: [masking fallback slop | grounded fallback]
- Escalation Status: [none | raised to leader/ralplan | no escalation]
Remaining Risks:
- [none or short deferred item]
Scenario Examples
Good: The user says continue after tests already lock behavior and the next smell pass is clear. Continue with the next bounded cleanup pass.
Good: The user narrows the scope to a specific file after planning. Keep the regression-tests-first workflow, but apply the new scope locally.
Bad: Start rewriting architecture before protecting behavior with tests.
Bad: Collapse multiple smell categories into one large refactor with no intermediate verification.
Bad: Keep a fallback if it fails branch that silently defaults after a swallowed error instead of fixing the root cause or making failure explicit.
Good: A version-specific compatibility shim is narrow, documented, preserves error evidence, has primary and fallback regression tests, and is reported as a grounded compatibility/fail-safe fallback.
1---2name: ai-slop-cleaner3description: Run an anti-slop cleanup/refactor/deslop workflow4---56# AI Slop Cleaner Skill78Reduce AI-generated slop with a regression-tests-first, smell-by-smell cleanup workflow that preserves behavior and raises signal quality.910## When to Use1112Use this skill when:13- A code path works but feels bloated, noisy, repetitive, or over-abstracted14- A user asks to “cleanup”, “refactor”, or “deslop” AI-generated output15- Follow-up implementation left duplicate code, dead code, weak boundaries, missing tests, fallback-like code, or unnecessary wrapper layers16- You need a disciplined cleanup workflow without broad rewrites1718## GPT-5.5 Guidance Alignment1920- Keep outputs concise and evidence-dense unless risk or the user requests more detail.21- Treat newer user instructions as local workflow updates without discarding earlier non-conflicting constraints.22- Keep using inspection, tests, diagnostics, and verification until the cleanup is grounded.23- Proceed automatically through clear, reversible cleanup steps; ask only when a choice materially changes scope or behavior.2425## Scoped File Lists and Ralph Workflow2627- This skill can accept a **file list scope** instead of a whole feature area.28- When the caller provides a changed-files list (for example, Ralph session-owned edits), keep the cleanup strictly bounded to those files.29- In the **Ralph workflow**, the mandatory deslop pass should run this skill on Ralph's changed files only, in standard mode unless the caller explicitly requests otherwise.3031## Procedure32331. **Lock behavior with regression tests first**34 - Identify the behavior that must not change35 - Add or run targeted regression tests before editing cleanup candidates36 - If behavior is currently untested, create the narrowest test coverage needed first37 - For fallback-like code, cover the primary path and any preserved compatibility/fail-safe fallback before cleanup38392. **Create a cleanup plan before code**40 - List the specific smells to remove41 - Bound the pass to the requested files/scope42 - If a file list scope is provided, keep the pass restricted to that changed-files list43 - Include fallback findings, classifications, and escalation status in the plan44 - Order fixes from safest/highest-signal to riskiest45 - Do not start coding until the cleanup plan is explicit46473. **Inventory fallback-like code before editing**48 - Search the requested scope for fallback-like detection signals: quick hacks, temporary workaround, temporary fallback, just bypass, just skip, fallback if it fails, swallowed errors, silent defaults, broad compatibility shims, and duplicate alternate execution paths49 - Classify each finding before changing it:50 - **Masking fallback slop** — hides errors or evidence, bypasses the primary contract, suppresses tests or validation, swallows failures, silently defaults, or adds untested alternate paths51 - **Grounded compatibility/fail-safe fallback** — is scoped to an external/version/fail-safe boundary, documents the rationale, preserves failure evidence, and has regression tests for both the primary and fallback behavior52 - Prefer root-cause repair, deletion, boundary repair, or explicit failure behavior before preserving fallback paths53 - For broad, ambiguous, cross-layer, or architectural fallback-like code, invoke `$ralplan` for consensus resolution before edits54 - Recursion guard: when already inside ralplan, ralph, team, or another OMX workflow, do not spawn a nested `$ralplan`; record the finding and attach it to the active ralplan, leader, or plan handoff instead55564. **Categorize issues before editing**57 - **Fallback-like code** — masking fallbacks, workaround branches, bypasses, swallowed errors, silent defaults, broad shims, alternate execution paths58 - **Duplication** — repeated logic, copy-paste branches, redundant helpers59 - **Dead code** — unused code, unreachable branches, stale flags, debug leftovers60 - **Needless abstraction** — pass-through wrappers, speculative indirection, single-use helper layers61 - **Boundary violations** — hidden coupling, leaky responsibilities, wrong-layer imports or side effects62 - **UI/design slop** — review visual outputs as context-sensitive signals, not absolute bans; preserve intentional brand, design-system, accessibility, or product-context exceptions when the rationale is clear63 - Korean body text that is too small: challenge 11-12px body copy; Korean body text generally needs 14px or larger unless a dense, accessible system explicitly supports smaller text64 - Gratuitous depth: avoid putting box shadows on every logo, surface, card, icon, background, and step block when hierarchy or affordance does not need it65 - Repetitive content scaffolding: trim repeated eyebrow + title + description + paragraph stacks, filler explanation text, and generic emoji badges that do not add meaning66 - Default AI palettes: question blue/purple defaults such as #3B82F6 when there is no brand, semantic, or system rationale67 - Over-perfect grids: avoid reflexive uniform 3-column or 4-column card grids when the product context would benefit from rhythm, asymmetry, carousel cuts, bento composition, or varied emphasis68 - Extreme gradients: tone down "AI demo" gradients unless the brand or campaign intentionally calls for that intensity69 - **Missing tests** — behavior not locked, weak regression coverage, gaps around edge cases70715. **Execute passes one smell at a time**72 - **Fallback-like code resolution gate** — remove masking fallback slop, repair root causes, or escalate ambiguous cases before continuing73 - **Pass 1: Dead code deletion**74 - **Pass 2: Duplicate removal**75 - **Pass 3: Naming/error handling cleanup**76 - **Pass 4: Test reinforcement**77 - Re-run targeted verification after each pass78 - Avoid bundling unrelated refactors into the same edit set79806. **Run quality gates**81 - Regression tests stay green82 - Lint passes83 - Typecheck passes84 - Relevant unit/integration tests pass85 - Static/security scan passes when available86 - Diff stays minimal and scoped87 - No new abstractions or dependencies unless explicitly required88897. **Finish with an evidence-dense report**90 - Changed files91 - Simplifications made92 - Fallback findings, classifications, and escalation status93 - Tests/diagnostics/build checks run94 - UI/design reviewer checklist findings when visual/UI files were in scope95 - Remaining risks96 - Residual follow-ups or consciously deferred cleanup9798## Output Format99100```text101AI SLOP CLEANUP REPORT102======================103104Scope: [files or feature area]105Behavior Lock: [targeted regression tests added/run]106Cleanup Plan: [bounded smells and order]107Fallback Findings: [none, or finding -> masking fallback slop / grounded compatibility/fail-safe fallback -> escalation status]108UI/Design Findings: [none/N/A, or signal -> action taken/deferred -> intentional exception rationale]109110Passes Completed:111- Fallback-like code resolution gate - [root-cause repair, explicit failure behavior, preserved grounded fallback, or ralplan handoff]1121. Pass 1: Dead code deletion - [concise fix]1132. Pass 2: Duplicate removal - [concise fix]1143. Pass 3: Naming/error handling cleanup - [concise fix]1154. Pass 4: Test reinforcement - [concise fix]116117Quality Gates:118- Regression tests: PASS/FAIL119- Lint: PASS/FAIL120- Typecheck: PASS/FAIL121- Tests: PASS/FAIL122- Static/security scan: PASS/FAIL or N/A123124Changed Files:125- [path] - [simplification]126127Fallback Review:128- Findings: [fallback-like findings detected]129- Classification: [masking fallback slop | grounded fallback]130- Escalation Status: [none | raised to leader/ralplan | no escalation]131132Remaining Risks:133- [none or short deferred item]134```135136## Scenario Examples137138**Good:** The user says `continue` after tests already lock behavior and the next smell pass is clear. Continue with the next bounded cleanup pass.139140**Good:** The user narrows the scope to a specific file after planning. Keep the regression-tests-first workflow, but apply the new scope locally.141142**Bad:** Start rewriting architecture before protecting behavior with tests.143144**Bad:** Collapse multiple smell categories into one large refactor with no intermediate verification.145146**Bad:** Keep a `fallback if it fails` branch that silently defaults after a swallowed error instead of fixing the root cause or making failure explicit.147148**Good:** A version-specific compatibility shim is narrow, documented, preserves error evidence, has primary and fallback regression tests, and is reported as a grounded compatibility/fail-safe fallback.