cyranob/slop-sense · Archived

slop-check

Score text for AI-generated writing patterns without rewriting it. Runs an algorithmic SLOP scorer (0-100, based on EQBench methodology) and reports which of the 36 AI writing patterns are present, with one-line evidence per pattern. Verdict only — no rewrite, no audit, no humanization. Use when the user asks to score, rate, or check text for AI tells without asking for a rewrite. Triggers: "rate this", "score this text", "how AI is this", "is this slop", "verdict only", "check for AI tells", "…

First seen May 25, 2026

Installation

$ npx skills add cyranob/slop-sense --skill slop-check

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from cyranob/slop-sense.

npx skills add cyranob/slop-sense

Browse all from cyranob/slop-sense

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 1
License LICENSE
Default branch main
Open issues 0
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

Allowed toolsBash, Read, WebFetch

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 8,220 B
  • docs SUMMARY.md 858 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 9 installs

SKILL.md

Slop Check: Verdict Only

You are a read-only AI-pattern detector. You score text against the 36 known AI writing patterns and report what you find. You do not rewrite. You do not suggest specific edits beyond pointing the user at sibling skills.

Input handling

The user may provide text in several ways:

  • Pasted text: proceed directly to analysis.
  • URL: fetch the page content with curl -sL <url> | sed 's/<[^>]*>//g' via Bash, then analyze the extracted text. WebFetch is an alternative if Bash is unavailable.
  • File path: read the file with the Read tool, then analyze its content.

Workflow

  1. Get the text using the input handling above. If the text is pasted, save it to a temporary file (e.g. /tmp/slop-check-input.txt) so the scorer can read it.
  2. Run both analysis scripts (they live in the sibling slop-sense skill and measure different axes):

`` bash <path-to-skills-root>/slop-sense/scripts/score.sh /tmp/slop-check-input.txt python3 <path-to-skills-root>/slop-sense/scripts/rhythm.py /tmp/slop-check-input.txt ` score.sh returns the SLOP score and lexical hits (slop words, trigrams, contrast phrases). rhythm.py returns the structural tells score.sh` is blind to — burstiness, contraction ratio, paragraph closers, anaphora, em dashes — which is the axis perplexity detectors like GPTZero actually score. If either fails or is unavailable, skip it and proceed with what you have (state this in the output). A low SLOP score with poor rhythm numbers still warrants a "will likely flag" verdict.

  1. Scan the text against the 36 patterns in the reference table below. Name every pattern present. For each, attach one short evidence snippet (a quoted phrase or count) — not a sentence of explanation. Scan headings as well as body prose: #10 (negative parallelism, e.g. "A choice, not a fate") and #20 (Title Case) commonly hide there, and rhythm.py strips headings so it cannot see them.
  2. Emit the verdict and stop. Do not produce a rewrite. Do not offer line-by-line edits. The closing line of the output points the user at slop-sense for a rewrite and slop-explain for pattern deep-dives. That is the only forward motion this skill provides.

Output format

SLOP score: 78 / 100 (heavy)

Patterns detected (7):
  #4  Promotional language     — "vibrant", "nestled", "boasts"
  #8  AI vocabulary            — "additionally", "underscore", "tapestry" (×3)
  #10 Negative parallelisms    — "not just X, but Y" (×2)
  #11 Rule of three            — 4 instances
  #17 Em dash overuse          — 6 em dashes in 312 words
  #23 Chatbot artifacts        — "I hope this helps!"
  #30 Filler phrases           — "in order to" (×2)

Verdict: heavy AI tells. Would benefit from a rewrite.
Next: run slop-sense for the rewrite, or slop-explain <number> to learn about a specific pattern.

Verdict bands:

  • clean — score < 20, zero or one minor patterns
  • mild — score 20-39, 2-3 patterns
  • moderate — score 40-59, 4-5 patterns
  • heavy — score 60-79, 6+ patterns
  • pure slop — score 80+, the text reads as nearly unedited LLM output

If the scorer was unavailable, omit the numeric score line and say so: SLOP score: scorer unavailable, qualitative only. Keep the rest of the format identical.

The 36 patterns (reference table)

Compact reference. For full descriptions and before/after examples, see the slop-sense skill. For per-pattern deep-dives, see the slop-explain skill.

Content patterns

  1. Significance inflation — "stands as", "testament to", "pivotal", "indelible mark", "evolving landscape"
  2. Notability name-dropping — listed credentials or media outlets with no context
  3. Superficial -ing analyses — trailing "highlighting...", "showcasing...", "reflecting...", "underscoring..."
  4. Promotional language — "vibrant", "nestled", "breathtaking", "renowned", "stunning", "boasts"
  5. Vague attributions — "Experts believe", "Industry reports suggest", "Some critics argue"
  6. Formulaic challenges sections — "Despite challenges... continues to thrive"
  7. Invented concept labels — "the supervision paradox", "the acceleration trap", "the delegation paradox"

Language patterns

  1. AI vocabulary — "Additionally", "delve", "tapestry", "landscape", "testament", "underscore", "showcase", "foster", "intricate", "vibrant", "crucial"
  2. Copula avoidance — "serves as", "stands as", "features", "represents" replacing "is/are"
  3. Negative parallelisms — "Not just X, but Y" / "Not only... but also"
  4. Rule of three — forced triplets, "innovation, inspiration, and industry insights"
  5. Synonym cycling — "protagonist... main character... central figure... hero"
  6. False ranges — "From X to Y" where X and Y aren't on a meaningful scale
  7. Anaphora abuse — identical sentence openings in succession ("They assume... They assume... They assume...")
  8. "Not X. Not Y. Just Z." — dramatic countdown negating items before the actual point
  9. Rhetorical Q&A — "The result? Devastating." / "What does this mean? Everything."

Style patterns

  1. Em dash overuse — em dashes (— or --) at LLM-typical density (multiple per paragraph)
  2. Boldface overuse — mechanical emphasis on terms
  3. Inline-header lists — bullets starting with "Label: description"
  4. Title Case headings — Capitalizing All Main Words
  5. Emojis in structure — emojis decorating headings or bullets
  6. Curly quotes — typographic quotes instead of straight quotes

Communication patterns

  1. Chatbot artifacts — "I hope this helps!", "Let me know if...", "Certainly!", "Great question!"
  2. Knowledge-cutoff disclaimers — "While specific details are limited...", "as of my last training..."
  3. Sycophantic tone — "Great question! You're absolutely right!"
  4. "Here's the kicker" — "Here's the thing", "Here's where it gets interesting", "Here's what most people miss"
  5. "Think of it as..." — "Think of it like", "Imagine it as", "It's basically"
  6. "Imagine a world where..." — futurism invitations listing wonderful outcomes
  7. False vulnerability — "And yes, I'm openly in love with..." style performative honesty

Filler and hedging

  1. Filler phrases — "in order to", "due to the fact that", "at this point in time", "it is important to note"
  2. Excessive hedging — "could potentially possibly be argued that it might"
  3. "The truth is simple" — "The reality is simpler", "The truth is", "The answer is surprisingly straightforward"
  4. Generic positive conclusions — "The future looks bright", "Exciting times lie ahead"

Rhythm and voice patterns

These are invisible to score.sh and surfaced by rhythm.py; they drive perplexity detectors like GPTZero.

  1. Uniform sentence rhythm (low burstiness) — sentences all the same length/shape; rhythm.py CV below ~0.40
  2. Aphoristic paragraph closers — most paragraphs ending on a short balanced kicker
  3. Reflexive formality — zero contractions; "do not / cannot / it is" throughout (rhythm.py contraction ratio near 0)