Slop
This skill owns the verdict and the purge, not the doctrine — doctrine lives in three domain authorities, reached by invoking them. Slop is two things under one word: centroid-AI default convergence (the taste sense: hedged, averaged, committed to nothing) and mechanical code debris (the deslop sense: debug leftovers, placeholder bodies, swallowed errors).
Modes [LOAD-BEARING]
Mode-selection (hybrid)
Auto-detect from the user's phrasing, with slash-arg override:
- Question phrasing —
is this slop?, does this feel AI-generated?, sloppy? → is-slop (verdict only, zero edits).
- Imperative phrasing —
purge, remove, clean out, deslop everything → purge-slop (act).
- Anything else → is-slop (default; cheaper; no behavior commitment).
- Explicit override:
/slop is-slop | purge-slop. The override always wins.
Domain routing
Both modes route every finding through the owning authority:
| Domain signals |
Authority (invoke) |
Citation source |
| Code debris: debug output, placeholder or stub bodies, swallowed errors, dead code, hardcoded credentials |
odin:deslop |
Its catalog categories; its certainty contract governs any edit |
| Judgment slop: hedge-stacks, generic openers, 50/50 recommendations, AI-flat prose |
odin:taste |
Side A rows (ceremony and decoration are Side B overkill, not slop) |
| Visual/UI slop: default gradients, framework-default look, vibe-coded UI |
odin:design |
Its anti-slop reference |
A mixed artifact splits into per-domain findings and returns one combined report.
is-slop procedure
- Route the artifact (or its parts) per the table.
- Per finding, one verdict:
slop | not-slop | overkill-not-slop — the third names the common misdiagnosis: decoration covering thin ideas is Side B overkill, not slop.
- Attach a doctrine citation from the routed authority to every finding.
Completion criterion: one top-line verdict for the artifact; every finding carries a citation from its routed authority; zero edits made.
purge-slop procedure
- Route per the table, then act under each authority's own gates:
- Code → run the
odin:deslop workflow end to end: HIGH-certainty fixes applied, MEDIUM/LOW report-only, verification and rollback intact.
- Prose/decisions → run the
odin:taste audit, then apply its top-ranked fixes; taste is a judgment register, so where two fixes conflict or a fix would reverse a committed choice, ask the user to pick before applying.
- UI → apply corrections from
odin:design anti-slop doctrine.
- Report edits applied vs flagged-only, per authority.
Completion criterion: the report separates edits applied from findings flagged-only, and every applied fix stayed inside its authority's contract.
1---2name: slop3description: Slop front door — verdict or purge, routed by domain. Use when the user asks "is this slop?", "does this feel AI-generated?", or "sloppy?", or says "purge the slop" or "clean the slop out", for any artifact: code, prose, decisions, or UI.4---5
6# Slop
7
8This skill owns the verdict and the purge, not the doctrine — doctrine lives in three domain authorities, reached by invoking them. Slop is two things under one word: centroid-AI default convergence (the taste sense: hedged, averaged, committed to nothing) and mechanical code debris (the deslop sense: debug leftovers, placeholder bodies, swallowed errors).
9
10## Modes [LOAD-BEARING]
11
12### Mode-selection (hybrid)
13
14Auto-detect from the user's phrasing, with slash-arg override:
15
16- Question phrasing — `is this slop?`, `does this feel AI-generated?`, `sloppy?` → **is-slop** (verdict only, zero edits).
17- Imperative phrasing — `purge`, `remove`, `clean out`, `deslop everything` → **purge-slop** (act).
18- Anything else → **is-slop** (default; cheaper; no behavior commitment).
19- Explicit override: `/slop is-slop | purge-slop`. The override always wins.
20
21## Domain routing
22
23Both modes route every finding through the owning authority:
24
25| Domain signals | Authority (invoke) | Citation source |
26|---|---|---|
27| Code debris: debug output, placeholder or stub bodies, swallowed errors, dead code, hardcoded credentials | `odin:deslop` | Its catalog categories; its certainty contract governs any edit |
28| Judgment slop: hedge-stacks, generic openers, 50/50 recommendations, AI-flat prose | `odin:taste` | Side A rows (ceremony and decoration are Side B overkill, not slop) |
29| Visual/UI slop: default gradients, framework-default look, vibe-coded UI | `odin:design` | Its anti-slop reference |
30
31A mixed artifact splits into per-domain findings and returns one combined report.
32
33## is-slop procedure
34
351. Route the artifact (or its parts) per the table.
362. Per finding, one verdict: `slop | not-slop | overkill-not-slop` — the third names the common misdiagnosis: decoration covering thin ideas is Side B overkill, not slop.
373. Attach a doctrine citation from the routed authority to every finding.
38
39**Completion criterion:** one top-line verdict for the artifact; every finding carries a citation from its routed authority; zero edits made.
40
41## purge-slop procedure
42
431. Route per the table, then act under each authority's own gates:
44 - Code → run the `odin:deslop` workflow end to end: HIGH-certainty fixes applied, MEDIUM/LOW report-only, verification and rollback intact.
45 - Prose/decisions → run the `odin:taste` audit, then apply its top-ranked fixes; taste is a judgment register, so where two fixes conflict or a fix would reverse a committed choice, ask the user to pick before applying.
46 - UI → apply corrections from `odin:design` anti-slop doctrine.
472. Report edits applied vs flagged-only, per authority.
48
49**Completion criterion:** the report separates edits applied from findings flagged-only, and every applied fix stayed inside its authority's contract.