# Slop Audit

Audit Fallow for unnecessary code, misleading tests, redundant abstractions, avoidable...

- Repository: https://github.com/fallow-rs/fallow (5289 stars)
- Category: Testing
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add fallow-rs/fallow --skill slop-audit -g -a claude-code -y`
Codex: `npx skills add fallow-rs/fallow --skill slop-audit -g -a codex -y`
Cursor: `npx skills add fallow-rs/fallow --skill slop-audit -g -a cursor -y`
Gemini CLI: `npx skills add fallow-rs/fallow --skill slop-audit -g -a gemini-cli -y`

## Description

Audit Fallow for unnecessary code, misleading tests, redundant abstractions, avoidable copying, and stale maintenance guidance. Use for a requested slop audit or deep cleanup pass.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Slop audit

Use the native `implement` lifecycle for accepted changes, including its ready
PR requirement. Finish with `review`, `ship` when authorized, and `sweep`.
Read `docs/development/repo-map.md` to choose concrete ownership boundaries.

## Evidence before cleanup

Maintain a temporary ledger outside tracked files. For a repository-wide pass,
cover the analyzer pipeline, engine/API/output/CLI, protocol hosts, editor and
web consumers, packaging/sidecars, and maintenance tooling. Inspect these axes
within each relevant domain:

- tests: tautologies, shadow implementations, unreachable assertions, weak
  failure injection, and duplicate behavior coverage;
- abstractions: forwarding wrappers, test-only seams, speculative options,
  duplicated normalization or derived state;
- runtime cost: avoidable owned copies, intermediate collections, repeated work;
- failure behavior: swallowed errors, stale fallbacks, lifecycle and cleanup;
- ownership: public contracts, dynamic entrypoints, security/release boundaries;
- maintenance: obsolete comments, copied catalogues, dead routes and dependencies.

Record exact paths, real callers, the proposed simplification, retained
behavioral coverage, and validation evidence. Distinguish inspected/no-change
from unexamined or blocked areas. A search hit is a hypothesis, not a finding.
Use disjoint subagents for independent domains when available, then have a
reviewer challenge both accepted changes and plausible no-change decisions.

Before removing a test, establish which executed assertion implies its useful
contract. For misleading tests, inject a realistic production fault and show
that the old test accepts it while the replacement rejects it. Keep the
replacement on the runtime path, not a second implementation in test code.
Similar bodies, assertion counts, or deletion targets do not prove redundancy.
Apply the test evidence rules in `docs/development/quality-gates.md` to each
kept or replacement test.

The rest: https://github.com/fallow-rs/fallow/blob/HEAD/.agents/skills/slop-audit/SKILL.md
