Slopslap
Remove UI slop while preserving product meaning, intentional design, accessibility and project rules. Taxonomy matches are candidates, not automatic proof.
Modes
- Audit: inspect and report; do not edit.
- Reductive: default repair mode. Prefer delete, flatten, simplify, then replace.
- Transform: only when AI-slop removal is explicit and a redesign direction is already approved. Use
$cx-design-director to establish that direction, then apply this skill's constraints within it.
Workflow
Read project rules, existing DESIGN.md, the current diff, affected UI and product content.
Define the affected surface and preserve copy, hierarchy, order, interactions and intentional brand elements.
Run the candidate scanner against explicit paths:
node "<skill-root>/scripts/scan-slop-signals.mjs" <target-path> --json
Treat coverage.complete: false, a non-empty detectorErrors array, or
exit code 2 as incomplete evidence, not a clean scan.
Evaluate the areas in references/inspection-areas.md: A decorative slop, B layout/containers/media, C spacing, D typography, E color/contrast.
For a small surface, evaluate locally in one focused pass. For broad work, order repairs A → B → C → D → E because structural changes can invalidate later findings.
For each actionable finding, record the problem, located evidence, prescription, measurable check and area. Scanner hits are not proof.
In Audit mode, stop after findings and an optional report. In repair modes, apply only accepted findings and verify the changed surface once with the nearest relevant check.
Route broad redesign direction to $cx-design-director, rendered judgment to $cx-visual-qa, and browser interaction to $cx-browser-automation.
Optional rendered-HTML cross-check
When a self-contained rendered or exported HTML file exists, an explicit
de-slopping task may add this pinned check-only pass. Inspect the file first:
if it loads CSS through <link rel="stylesheet"> or @import, skip this pass
or mark its CSS coverage NOT_PROVEN because v0.4.2 JSON does not report that
gap.
npx -y @gessobuild/anti-slop@0.4.2 check <rendered-html> --json
Use its issues as another candidate list, not a verdict. Keep [advisory]
issues advisory and judge every other issue against product intent,
accessibility, project rules, and current rendered evidence. A nonzero exit,
malformed JSON, or checker or rule error is incomplete evidence, never zero
findings.
Do not run fix, fix --write, or copy its baseline CSS. Those operations can
rewrite intentional UI, copy, semantics, and accessibility without the local
judgment this skill requires.
Optional artifacts and corpus
For broad work or a requested artifact, write .codex/slopslap/<run>/findings.md and optionally build a self-contained report:
node "<skill-root>/scripts/build-findings-report.mjs" <findings-dir> <report/index.html> --target "<label>" [--verifyDir <verify-dir>]
Use these deterministic resources:
- Candidate scanner:
scripts/scan-slop-signals.mjs
- Scanner regression test:
scripts/scan-slop-signals.test.mjs
- Taxonomy:
assets/data/aiSlopTaxonomyData.js
- Quantitative lookup:
scripts/fetch-references.mjs
- Transform directions:
scripts/fetch-answer.mjs
- Matrix contract:
references/matrix-schema.md
Project tokens and the existing component system outrank vendored values. Do not copy matrix screenshots, third-party layouts, logos, copy or brand assets into the target project.
Corpus regeneration and reference recapture are maintenance operations, not normal use. Follow references/maintenance.md only when the user asks to update the vendored corpus.
Guardrails
- Preserve domain content, accessibility behavior and intentional brand decisions.
- Do not delete semantic content or imagery merely to reduce a pattern count.
- Do not perform unrelated cleanup or repeat equivalent checks.
- Keep provenance in
references/upstream-attribution.md and references/UPSTREAM_LICENSE.txt.
1---2name: cx-slopslap3description: Audit and remove statistical AI-slop from web and product UI using a vendored taxonomy, static candidate scanner, five-area contract and optional transform corpus. Use only when the user explicitly requests de-slopping, removal of an AI-looking UI, Slopslap, or removal of statistically common AI UI patterns. Do not auto-apply for general UI improvement, spacing, grid, color, typography, or redesign requests.4---56# Slopslap78Remove UI slop while preserving product meaning, intentional design, accessibility and project rules. Taxonomy matches are candidates, not automatic proof.910## Modes1112- **Audit**: inspect and report; do not edit.13- **Reductive**: default repair mode. Prefer delete, flatten, simplify, then replace.14- **Transform**: only when AI-slop removal is explicit and a redesign direction is already approved. Use `$cx-design-director` to establish that direction, then apply this skill's constraints within it.1516## Workflow17181. Read project rules, existing `DESIGN.md`, the current diff, affected UI and product content.192. Define the affected surface and preserve copy, hierarchy, order, interactions and intentional brand elements.203. Run the candidate scanner against explicit paths:2122 ```bash23 node "<skill-root>/scripts/scan-slop-signals.mjs" <target-path> --json24 ```2526 Treat `coverage.complete: false`, a non-empty `detectorErrors` array, or27 exit code `2` as incomplete evidence, not a clean scan.28294. Evaluate the areas in `references/inspection-areas.md`: A decorative slop, B layout/containers/media, C spacing, D typography, E color/contrast.305. For a small surface, evaluate locally in one focused pass. For broad work, order repairs A → B → C → D → E because structural changes can invalidate later findings.316. For each actionable finding, record the problem, located evidence, prescription, measurable check and area. Scanner hits are not proof.327. In Audit mode, stop after findings and an optional report. In repair modes, apply only accepted findings and verify the changed surface once with the nearest relevant check.338. Route broad redesign direction to `$cx-design-director`, rendered judgment to `$cx-visual-qa`, and browser interaction to `$cx-browser-automation`.3435### Optional rendered-HTML cross-check3637When a self-contained rendered or exported HTML file exists, an explicit38de-slopping task may add this pinned check-only pass. Inspect the file first:39if it loads CSS through `<link rel="stylesheet">` or `@import`, skip this pass40or mark its CSS coverage `NOT_PROVEN` because v0.4.2 JSON does not report that41gap.4243```bash44npx -y @gessobuild/anti-slop@0.4.2 check <rendered-html> --json45```4647Use its issues as another candidate list, not a verdict. Keep `[advisory]`48issues advisory and judge every other issue against product intent,49accessibility, project rules, and current rendered evidence. A nonzero exit,50malformed JSON, or checker or rule error is incomplete evidence, never zero51findings.5253Do not run `fix`, `fix --write`, or copy its baseline CSS. Those operations can54rewrite intentional UI, copy, semantics, and accessibility without the local55judgment this skill requires.5657## Optional artifacts and corpus5859For broad work or a requested artifact, write `.codex/slopslap/<run>/findings.md` and optionally build a self-contained report:6061```bash62node "<skill-root>/scripts/build-findings-report.mjs" <findings-dir> <report/index.html> --target "<label>" [--verifyDir <verify-dir>]63```6465Use these deterministic resources:6667- Candidate scanner: `scripts/scan-slop-signals.mjs`68- Scanner regression test: `scripts/scan-slop-signals.test.mjs`69- Taxonomy: `assets/data/aiSlopTaxonomyData.js`70- Quantitative lookup: `scripts/fetch-references.mjs`71- Transform directions: `scripts/fetch-answer.mjs`72- Matrix contract: `references/matrix-schema.md`7374Project tokens and the existing component system outrank vendored values. Do not copy matrix screenshots, third-party layouts, logos, copy or brand assets into the target project.7576Corpus regeneration and reference recapture are maintenance operations, not normal use. Follow `references/maintenance.md` only when the user asks to update the vendored corpus.7778## Guardrails7980- Preserve domain content, accessibility behavior and intentional brand decisions.81- Do not delete semantic content or imagery merely to reduce a pattern count.82- Do not perform unrelated cleanup or repeat equivalent checks.83- Keep provenance in `references/upstream-attribution.md` and `references/UPSTREAM_LICENSE.txt`.