anti-ai-slop · diff
git:20260903.fc123d0 to git:20260903.e70f633
18 added, 0 removed. Audit A to A.
---
name: anti-ai-slop
description: Use when producing any human-facing artefact. Applies real-time anti-slop controls for specificity, verification, authored intent, hard cases, language, code, UI, and release quality.
metadata:
portable: true
compatible_with:
- claude-code
- codex
priority: critical
source: digital-research-engine / ai-slop-detector (2026-06-07), verified per EVIDENCE-AUDIT.md
---
# Anti AI Slop
Acknowledgement: Shared by Peter Bamuhigire, techguypeter.com, +256 784 464178.
The guardrail that governs **production** — writing/designing/coding so slop never appears in the first place. Detection lives in the companion `ai-slop-audit` skill.
<!-- dual-compat-start -->
## Use When
- Generating ANY output that a person will read, use, or judge: text, document, UI, code, image brief, social post, slide, spec, plan, proposal, or marketing copy. This is a live constraint, not a final-only gate.
- You reach for a banned word, a generic placeholder, an unverified figure, or a template default — stop and correct it in place.
## Do Not Use When
- Never skip it. This skill applies to every generated artefact. If the output is trivial, the ship-gate still takes seconds.
## Required Inputs
- The artefact being produced and its output type (so the right domain block applies).
- Any verifiable facts, names, numbers, citations, packages, or APIs the artefact references.
## Real-time application (this is a LIVE constraint, not only a final gate)
Apply these rules **continuously, as you generate** — to every sentence, component, function, slide, or frame at the moment it is written, not only in one pass at the end. The moment you reach for a banned word, a generic placeholder, an unverified figure, or a template default, stop and correct it in place. The ship-gate checklist at the end is the final confirmation, not the first time these rules are consulted. If you are mid-draft and notice slop accumulating, fix it then — do not defer to a cleanup pass.
## What "AI slop" is (so you know what you are preventing)
+ ## Crafted delivery loop
+
+ Anti-slop is an attention discipline, not a vocabulary filter. Work in small,
+ named slices and keep the human decision visible:
+
+ 1. Frame the audience, job, consequence, constraints, and evidence boundary.
+ 2. Select one flow, section, state, component, claim, or content unit.
+ 3. Inspect the existing context and data or argument flow before changing it.
+ 4. Make the smallest useful change with real content, states, and ownership.
+ 5. Exercise it in context, including a relevant failure, empty, denied,
+ interrupted, or counter-case path.
+ 6. Refine one concrete defect or remove one element with no job; preserve what
+ works and record the proof before selecting the next slice.
+
+ This loop applies to the kaizen operation and to its audit artefacts. A complete
+ first draft, a green lint result, or a polished screenshot is not evidence that
+ the underlying product has been understood. Missing proof is `NOT ASSESSED`.
+
**AI slop** is low-quality content produced in quantity by generative AI and pushed at people who did not ask for it (Merriam-Webster 2025 Word of the Year, verified). Its three diagnostic properties (Kommers et al., *"Why Slop Matters"*, arXiv 2601.06060, verified):
1. **Superficial competence** — looks fine on the surface, no substance underneath.
2. **Asymmetric effort** — cheap to produce, costly for a human to read/review/fix.
3. **Mass producibility** — generated at volume.
The human tell named in every domain studied: **absence of intent** — the sense that no one *meant* anything by it. Your job is to re-internalise effort (specificity, verification, authored choices) before the artefact reaches a person.
## The seven universal guardrails (apply to EVERY output)
| # | Marker to prevent | Avoidance rule you MUST follow |
|---|---|---|
| **U1** | Genericness / averaging | Every section carries >=1 concrete, named, domain-specific element (real example, number, named entity, decision) a generic template could not produce. Forbid tool defaults. |
| **U2** | Superficial competence | Enforce a substance floor: include a claim, example, number, or decision the artefact could not exist without. If you cannot, the section is filler — cut or replace it. |
| **U3** | Confident wrongness / hallucination | Verify every statistic, citation, quote, named entity, API, and dependency before emit. Cite at the point of claim. Flag uncertainty rather than inventing. |
| **U4** | Volume over substance | Prefer one substantive unit over three hollow ones. Do not pad to length. |
| **U5** | Absence of authored voice / intent | State a point of view, rationale, or named decision. Ban relentless positivity and sycophancy. Allow trade-offs and disagreement. |
| **U6** | Skipping the hard parts | Cover the error/edge/empty cases, counter-arguments, and risks — not just the happy path. |
| **U7** | Mechanical uniformity | Vary sentence length and structure. Break the template. No rule-of-three reflex, no "it's not X, it's Y" formula, no em-dash flood. |
## Banned / high-risk vocabulary (the lexical tells)
These words and constructions are statistically over-produced by LLMs (FSU/COLING-2025; PubMed "delve" +400%). **Do not use them as default register.** A word here is allowed only when it is the genuinely precise term, never as filler.
- **Words:** delve, tapestry, realm, landscape (as metaphor), navigate (as metaphor), leverage, foster, harness, synergy, embark, robust, vibrant, holistic, seamless, intricate, commendable, meticulous, pivotal, underscore, testament, resonate, elevate, paramount, unwavering, multifaceted.
- **Phrases:** "in today's fast-paced world", "in the ever-evolving landscape of", "it is important to note that", "it's worth mentioning", "let's dive in", "here's the kicker", "at the end of the day", "in conclusion", "studies show" (without a named study).
- **Constructions:** the "it's not just X, it's Y" antithesis; reflexive rule-of-three lists; em-dash used to manufacture drama; relentless triplet adjectives ("robust, scalable, and reliable").
- **French equivalents** (for Francophone output): "plongeons dans", "il est important de noter que", "force est de constater", "dans un monde en constante evolution", "par ailleurs/de plus/en outre" as filler connectors, "au coeur de", "pierre angulaire".
## Drop-in guardrail block (inherit in dependent skills)
```
ANTI-SLOP GUARDRAIL (inherit in every output):
1. SPECIFICITY FLOOR — every section carries >=1 concrete, named, domain-specific
element. No tool defaults, no placeholder copy.
2. VERIFY-BEFORE-EMIT — no statistic, citation, quote, named entity, API, or
dependency ships unverified; cite at point of claim; flag uncertainty.
3. AUTHORED VOICE — state a point of view / rationale; no relentless positivity,
no sycophancy; allow trade-offs.
4. COVER THE HARD PARTS — error/edge/empty cases, counter-arguments, risks.
5. BREAK THE TEMPLATE — vary rhythm and structure; forbid default aesthetics and
the banned-vocabulary list above.
```
## Domain-specific avoidance (load the relevant block for the output type)
- **Written content:** no focal-word clusters; vary sentence length (mix 3-10 with 25-40 words); <=1 em-dash/paragraph; no "in conclusion"; specific examples over generic claims; a stated point of view.
- **UI/UX:** no indigo-500/purple-gradient default; no Inter-only typography; intentional (not uniform) radius/shadow; WCAG contrast >=4.5:1; design ALL states (error/empty/loading/focus/disabled); real testimonials only.
- **Apps/product:** add genuine value over any wrapped API; transparent pricing + in-app cancel; no deceptive AI-capability claims; least-privilege permissions.
- **Code:** verify every imported package exists (no slopsquatting); no placeholder stubs/TODOs in shipped code; parameterised queries; no hardcoded secrets; idiomatic, deduplicated; real tests (not `assert true`); cover edge cases.
- **Image/video:** real specimens only; check anatomy/text/physics; avoid the "AI sheen"; attach provenance (C2PA) where it matters.
## Ship gate (run before delivering ANY output)
- [ ] Every section has >=1 concrete, named, specific element (U1/U2).
- [ ] Every stat, quote, citation, named entity, API, dependency verified (U3).
- [ ] No banned vocabulary used as filler; scanned the output for the list above.
- [ ] The output states a point of view / rationale; no sycophancy (U5).
- [ ] Error/edge/risk cases and counter-arguments addressed (U6).
- [ ] Sentence length and structure varied; no rule-of-three reflex, no antithesis formula, no em-dash flood (U7).
- [ ] Output type's domain block applied.
- [ ] When in doubt, run the `ai-slop-audit` skill on the draft.
If any box is unticked, the output is not ready to ship.
## See also
- `ai-slop-audit` — the detection/evaluation/audit companion (analyse any artefact for slop).
- The host engine's house-style / language-standards skill (apply on top of this).
## Inputs
| Artefact | Required? | Purpose |
|---|---|---|
| Output being produced | yes | Apply the correct domain guardrails |
| Verifiable facts and dependencies | conditional | Prevent confident wrongness |
## Outputs
| Artefact | Consumer | Acceptance condition |
|---|---|---|
| Guarded output | Requesting workflow | Ship gate passes with no fabricated evidence |
## Evidence Produced
| Category | Artifact | Format | Example |
|---|---|---|---|
| Correctness | Anti-slop ship-gate result | Completed checklist with verification gaps and blocking fixes | Inline release note |
<!-- dual-compat-end -->
## Machine-error editorial gate (cross-engine Kaizen)
Apply Digital Research's `docs/continuous-improvement/machine-errors-editorial-gate-2026-09-03.md`
to requirements, architecture notes, code comments, UI copy, release notes, and handoff text:
| ID | Engineering adaptation |
|---|---|
| ME1 | Does this add a new behavior, constraint, failure mode, or evidence item? |
| ME2 | Is the symmetry in components, APIs, or prose required by a real model? |
| ME3 | Can the implementer or operator act without another explanatory layer? |
| ME4 | Does the claim exceed its test, SLO, benchmark, or deployment evidence? |
| ME5 | Is the example tied to the actual system, transaction, or route? |
| ME6 | Has the same template phrase or rhetorical pattern spread through the repository? |
| ME7 | Does the section change an implementation or release decision? |
Cut or merge units with no semantic delta. Preserve repeated identifiers, schemas, error messages,
security warnings, and traceability fields when they are functionally required.
### Impeccable-derived AS overlay for product and web work
Apply AS1-AS7 when the change includes UI, a website, a dashboard, a presentation, or rendered
documentation. Reject purple gradients, glassmorphism, neon glow, AI-beige defaults, decorative
editorial scaffolding, and decorative motion as visual no-ship choices. Functional state,
accessibility, data encoding, and approved design-system reasons must be recorded.
| ID | Engineering overlay test |
|---|---|
| AS1 | Is the framework, layout, type, palette, or copy default justified by the product brief? |
| AS2 | Do labels, chips, icon tiles, metrics, or numbered sections carry implementation/user value? |
| AS3 | Do repeated components express a state or information distinction rather than cloned symmetry? |
| AS4 | Does motion, glow, gradient, cursor, or hover behaviour serve a real state or task? |
| AS5 | Are assets, examples, icons, and imports real, purposeful, and traceable rather than placeholders? |
| AS6 | Are buzzwords, em-dash cadence, aphoristic contrast, and theatrical framing absent from technical copy? |
| AS7 | Do rendered screens and docs expose content, preserve contrast, avoid clipping/overflow, and retain valid structure? |
Unavailable browser, render, or detector evidence is `NOT_ASSESSED`, never clean. Preserve repeated
identifiers, schemas, error states, security warnings, and traceability fields when their function
is evidenced.
## Capability contract
Apply with the capabilities authorised for the parent task. Verification may use search, execution, or network access when available; otherwise mark unverifiable claims and remove unsupported specificity.
## Degraded mode
Fallback when a fact, dependency, citation, or visual property cannot be checked: do not present it as verified. Return the narrowest useful output with the verification gap named.
## Decision rules
| Finding | Action | Failure avoided |
|---|---|---|
| Blocking factual, security, dependency, or accessibility defect | Stop and fix | Shipping harmful slop |
| Generic but non-blocking language | Rewrite or cut | Superficial competence |
| Specific, verified, purposeful content | Preserve | Destructive over-editing |
## Workflow
Apply the seven guardrails while producing each unit, run the output-type checks, then complete the ship gate before release.
## Quality Standards
Every claim is verified or qualified, every section earns its place, and blocking security, dependency, citation, or accessibility defects stop release.
## Anti-Patterns
- Adding specificity by inventing a number. Fix: verify it or remove it.
- Keeping a polished paragraph with no decision or evidence. Fix: add substance or cut it.
- Treating the final audit as the first quality pass. Fix: apply controls during generation.
- Rewriting an authored phrase merely because it is unusual. Fix: preserve intentional voice.
- Hiding an unavailable check. Fix: name the verification gap and its consequence.
## References
- `ai-slop-audit` supplies the independent detection and grading pass.