AI Slop Review Checklist

SkillDev tools

Review code for AI slop patterns. TRIGGER when user says "review for AI slop", "check for AI patterns", "clean up AI code", "audit AI-generated code", or "review AI slop".

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the AI Slop Review Checklist skill

What this skill tells your AI

The instructions your AI receives, as published by archibate/dotfiles-opencode in skills/review-ai-slop/SKILL.md and read by ahel’s review.

Review the specified code for AI-generated slop patterns.

Target: $ARGUMENTS (or current git diff if no arguments provided)

Output format: Group findings by category. For each: file path, line number, pattern name, brief description, suggested fix. Do not make inline edits — report findings and let user decide what to fix.


A. Defensive Programming

Load the anti-defensive skill and apply all 10 patterns:

  1. Swallowing exceptions
  2. Dictionary defaults on required fields
  3. Null coalescing to fabricate data
  4. Type coercion instead of validation
  5. Compatibility shims
  6. Unnecessary null checks
  7. Catch-all exception handlers
  8. Over-validation at internal boundaries
  9. Fabricated default values
  10. Logging warnings instead of raising

B. Over-Engineering

PatternFlag When
Premature abstractionFactory/strategy/abstract base class for a single implementation. "In case we need it later."
Unnecessary wrappersget_config() that just calls os.environ.get(). Utility functions invoked only once.
Over-modularizationSimple logic split across many files when one suffices. Deep directory nesting for small codebase.

C. Unnecessary Infrastructure

PatternFlag When
Retry logic everywhereExponential backoff on local function calls or non-transient operations.
Config/env var overuseEvery constant configurable via env var, even ones that should never change (math constants, format strings).
Unnecessary asyncasyncio/threading on CPU-bound or already-fast operations (<10ms).
Feature flags for no reasonBoolean toggles controlling behavior that has no reason to vary.

D. Code Bloat

PatternFlag When
Excessive logginglogger.info on every function entry/exit. Logging parameter values and return values of internal functions.
Magic number extractionMAX_SIZE = 100 when 100 is obvious from context. Constants that add no clarity.
Trivial docstringsdef add(a, b): """Add a and b.""" — docstring restates function name.
Unnecessary data classesdataclass/TypedDict created for one-off use instead of just using a dict or tuple.

E. Testing Slop

PatternFlag When
Tests that test nothingAsserting a function exists or returns the right type, not that it returns correct values. Tests with no assertions.
Over-mockingMocking so heavily the test only validates the mock, not the real logic. Mocking what you're trying to test.

F. Other Patterns

PatternFlag When
Callback/event overuseEvent emitters, hook systems, or pub/sub for simple linear flows.
Runtime type checkingisinstance checks inside functions that duplicate what type hints + static analysis already handle.
Hallucinated importsUsing APIs from wrong library version. Importing packages that don't exist.
Boilerplate generatorsCode that exists to satisfy a template rather than solve a problem. Empty __init__.py with docstrings.

Summary Table

CategoryCountSource
A. Defensive Programming10anti-defensive skill
B. Over-Engineering3This skill
C. Unnecessary Infrastructure4This skill
D. Code Bloat4This skill
E. Testing Slop2This skill
F. Other4This skill
Total27

Signals

GitHub stars
106
Forks
21
Last commit
Apr 2026
Advanced
Catalog kind
skill
Gateway key
review-ai-slop
Source
github.com/archibate/dotfiles-opencode