# Review AI Slop

> 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".

- Skill: `archibate/review-ai-slop` (Agent Skill)
- Install (CLI): `npx skillmds@latest add archibate/review-ai-slop`
- Raw SKILL.md: https://api.skillmd.com/api/skills/archibate/review-ai-slop/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- Author: archibate (https://skillmd.com/u/archibate)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/archibate/review-ai-slop

---


# AI Slop Review Checklist

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

| Pattern | Flag When |
|---------|-----------|
| **Premature abstraction** | Factory/strategy/abstract base class for a single implementation. "In case we need it later." |
| **Unnecessary wrappers** | `get_config()` that just calls `os.environ.get()`. Utility functions invoked only once. |
| **Over-modularization** | Simple logic split across many files when one suffices. Deep directory nesting for small codebase. |

---

## C. Unnecessary Infrastructure

| Pattern | Flag When |
|---------|-----------|
| **Retry logic everywhere** | Exponential backoff on local function calls or non-transient operations. |
| **Config/env var overuse** | Every constant configurable via env var, even ones that should never change (math constants, format strings). |
| **Unnecessary async** | asyncio/threading on CPU-bound or already-fast operations (<10ms). |
| **Feature flags for no reason** | Boolean toggles controlling behavior that has no reason to vary. |

---

## D. Code Bloat

| Pattern | Flag When |
|---------|-----------|
| **Excessive logging** | `logger.info` on every function entry/exit. Logging parameter values and return values of internal functions. |
| **Magic number extraction** | `MAX_SIZE = 100` when `100` is obvious from context. Constants that add no clarity. |
| **Trivial docstrings** | `def add(a, b): """Add a and b."""` — docstring restates function name. |
| **Unnecessary data classes** | dataclass/TypedDict created for one-off use instead of just using a dict or tuple. |

---

## E. Testing Slop

| Pattern | Flag When |
|---------|-----------|
| **Tests that test nothing** | Asserting a function exists or returns the right type, not that it returns correct values. Tests with no assertions. |
| **Over-mocking** | Mocking so heavily the test only validates the mock, not the real logic. Mocking what you're trying to test. |

---

## F. Other Patterns

| Pattern | Flag When |
|---------|-----------|
| **Callback/event overuse** | Event emitters, hook systems, or pub/sub for simple linear flows. |
| **Runtime type checking** | `isinstance` checks inside functions that duplicate what type hints + static analysis already handle. |
| **Hallucinated imports** | Using APIs from wrong library version. Importing packages that don't exist. |
| **Boilerplate generators** | Code that exists to satisfy a template rather than solve a problem. Empty `__init__.py` with docstrings. |

---

## Summary Table

| Category | Count | Source |
|----------|-------|--------|
| A. Defensive Programming | 10 | `anti-defensive` skill |
| B. Over-Engineering | 3 | This skill |
| C. Unnecessary Infrastructure | 4 | This skill |
| D. Code Bloat | 4 | This skill |
| E. Testing Slop | 2 | This skill |
| F. Other | 4 | This skill |
| **Total** | **27** | |

