agentleFS
SalZakiSalZaki/antislop/skills/score-ai-slop/SKILL.md

score-ai-slop

Skill0 starsChanged 5 months agoMITView on GitHub

Use when the user wants a slop quality-pass rather than a rewrite or a located list. Triggers include "score this for slop", "how sloppy is this", "give me a slop breakdown", "rate this writing for AI tells", "is this ready to publish", or "slop report by category". Returns a per-category breakdown (deterministic counts plus judged notes) and a publish-readiness read, deliberately without a single 0-10 headline number, because one number invites gaming. For located findings use detect-ai-slop; to rewrite the text use remove-ai-slop.

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 3 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Deterministic tier (preferred): Run the bundled script and use its summary (the per-category counts) plus its findings for the breakdown:

    line 19
  2. Very specific:

    If python3 is unavailable, do the read yourself from the spec and references, read the allow-list files directly, and tag the result …

    line 40
  3. Distinctive:

    Never emit a single 0-10 number.

    line 67
  4. Distinctive:

    If the script ran, note the counts are stable.

    line 68
  5. Distinctive:

    If there are no findings, say so plainly and stop.

    line 70

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Score AI Slop

Give the author a quality-pass read: how much slop is here, by category, and is it ready to publish. This is the aggregate view over the same engine that detect-ai-slop and remove-ai-slop use. It does not rewrite, and it does not return a single 0-10 number; a headline score becomes a thing people optimize against, so the output stays a breakdown plus a plain-language readiness call.

Rules, categories, severity, and the override-merge order live in ../../shared/spec.md. Read it before scoring.

How to score

Deterministic tier (preferred). Run the bundled script and use its summary (the per-category counts) plus its findings for the breakdown:

python3 shared/slop_count.py --file <path> \
  [--allow-list ~/.claude/config/remove-ai-slop/user-allow-list.md] \
  [--allow-list .claude/skills/remove-ai-slop/overrides/user-allow-list.md] \
  [--extra-vocab ~/.claude/config/remove-ai-slop/user-vocabulary.md] \
  [--extra-vocab .claude/skills/remove-ai-slop/overrides/user-vocabulary.md]

Pipe text on stdin instead of --file when the user pasted it. Pass whichever override files exist. The script is the sole override parser; consume its output, do not re-parse the override tables.

Judged tier (you). The script cannot see meaning. Add a short note per meaning-dependent category from the spec (padding-and-filler, elegant-variation, and contextual cases). Mark these judged.

Fallback — when python3 is absent

If python3 is unavailable, do the read yourself from the spec and references, read the allow-list files directly, and tag the result unstable: say "No python3 found; this is an LLM-only pass and the counts are not byte-stable."

Output

A per-category breakdown, then a one-line readiness call. No 0-10 number.

Slop breakdown (deterministic + judged):

| Category                 | Count | Severity | Notes                         |
|--------------------------|-------|----------|-------------------------------|
| overused-vocabulary      | 9     | low      | clustered in para 1           |
| formulaic-constructions  | 1     | high     | "not just X, it's Y" (para 2) |
| formatting-tells         | 2     | med      | em-dash run in para 2         |
| padding-and-filler       | 1     | med      | judged: hedging in para 3     |

Readiness: heavy slop — run remove-ai-slop for a rewrite pass.

Readiness is plain language tied to the spec threshold, not a number:

  • No findings → Clean — reads as written by a human, publish as-is.
  • A few isolated tells, none clustered → Light — a couple of edits, no rewrite needed.
  • Any paragraph over the co-occurrence threshold → Heavy — run remove-ai-slop.

Rules:

  • Never emit a single 0-10 number. The per-category counts are the signal.
  • If the script ran, note the counts are stable. On fallback, tag the read unstable.
  • Respect the allow-list: an allow-listed word is never counted.
  • If there are no findings, say so plainly and stop.

Scope

Aggregate read only. To see exactly where each tell is, that is detect-ai-slop. To rewrite the text, that is remove-ai-slop. Do not rewrite from this skill.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.