agentsclimarketplace

Anti ai slop

Skill Vitrehac/anti-ai-slop

Detects and removes AI writing tells in prose, docs, emails, READMEs, Czech outreach, LinkedIn posts, and UX copy. Use for de-slop, humanize, gate, linktwerk pipeline, sounds like AI, or anti-ai-slop. Routes visual UI slop to impeccable.From its SKILL.md

Install
npx -y skills add Vitrehac/anti-ai-slop

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

7.6 KB, ~2.0k tokens by cl100k_base, as published. Nobody here has run it

Detects and removes AI-generated writing tells in plain text. Real specificity, preserved voice, no corporate sanitization.

Absolute bans (never ship)

These are non-negotiable in de-slop, humanize, and gate output unless the user explicitly overrides:

  • No em dashes () or -- as dashes. Replace with commas, parentheses, periods, or colons. The #1 recognized AI tell.
  • No meta-AI voice — "I hope this helps", "Certainly!", "Great question!", "I'd be happy to"
  • No filler openers — "It's worth noting", "In today's fast-paced world", "Let's dive in"
  • No formal transitions — Furthermore, Moreover, Additionally (use "And", "So", or nothing)
  • No colon runways — "The result:", "Here's the key insight:" (state the fact directly)
  • No Delvish clusters — delve + tapestry + nuanced + robust + landscape in the same piece
  • No crucial-role formula — "X plays a crucial role in shaping Y"
  • No isn't-it's pivots — "The hard part isn't X. It's Y." / "It's not X. It's Y."
  • No lesson lists — "Two things that helped:" + takeaway bullets
  • No kept/lost aphorisms — "Kept the badge, lost the pep talk"
  • No fake-casual wit — "felt on brand", "No big scene, just…"

Full lists: registry/phrases.md, registry/structural.md.

Philosophy

  1. The slop test: if a reader could say "AI wrote this" without hesitation, it failed.
  2. Specificity beats polish — concrete nouns, verbs, numbers, constraints.
  3. Preserve voice — remove tells; keep the author's register unless asked to change it.
  4. Structural tells matter — uniform triplets, mirrored pairs, faux-profound closers, signposting scaffolds.
  5. False-positive discipline — lists and frameworks are fine in moderation; Delvish words need clusters; em dashes have zero tolerance in output.

Setup

Skill root = directory containing this SKILL.md. Run all scripts from there:

node scripts/scan.mjs --json <target>
node scripts/gate.mjs --strict <target>
node scripts/check-fixtures.mjs

Before any command:

  1. If the user invoked a sub-command, read reference/<command>.md. Non-optional.
  2. Pipeline: linktwerk then de-slopreference/pipeline-linktwerk.md.
  3. Voice: default preserve → reference/voice-dial.md.
  4. Pick a register (first match wins):
  5. When a file path exists, run scan before audit, de-slop, or humanize:
    node scripts/scan.mjs --json <target>
    
  6. Scan score is a floor, not a pass. Score 4 with LinkedIn/job-hunt/Czech email shape still requires LLM shape audit. See reference/audit.md.

Commands

CommandPurposeReference
scan [target]Fast deterministic lintreference/scan.md
audit [target]Scan + rhetorical review, slop score 0–4reference/audit.md
de-slop [target]Aggressive rewrite; remove tells, keep meaningreference/de-slop.md
humanize [target]Light rewrite; max ~15% word changereference/humanize.md
gate [target]Pre-ship check; exit code pass/failreference/gate.md
loop [target]De-slop + re-gate until clean (≤3×)reference/loop.md
pipeline linktwerkCringe → human in one flowreference/pipeline-linktwerk.md
ui-copy [file]Scan extracted JSX/HTML textreference/ui-copy.md

Scripts

ScriptPurpose
scripts/scan.mjsLint + score
scripts/gate.mjsPass/fail gate (--strict = score ≥ 3, zero blockers)
scripts/check-fixtures.mjsRegression test suite
scripts/extract-ui-copy.mjsPull copy from .tsx/.html

Slop score (0–4)

  • 0 — obvious AI (5+ tells or dominant structural pattern)
  • 1 — heavy (3–4 tells)
  • 2 — noticeable (1–2 tells)
  • 3 — mostly clean
  • 4 — no tells; specific and human

Routing rules

  1. First word matches a command → load its reference and proceed. Everything after the command name is the target.
  2. No command, intent clear ("this README sounds robotic") → default to audit.
  3. Target is UI (.tsx, .jsx, .html, .vue, .svelte) → extract copy via ui-copy; visual layout → impeccable.
  4. User wants cringe LinkedIn onlylinktwerk alone.
  5. linktwerk then de-slop / linktwerk pipelinepipeline-linktwerk.md (uses both skills in sequence).
  6. Input is linktwerk outputde-slop + social register + loop.md.
  7. Pasted text with no file → pipe to scan.mjs --stdin or gate.mjs --stdin --strict.

Post-output verification (de-slop / humanize / gate)

Before sending rewritten text to the user:

  1. Re-read the draft aloud (mentally): does any sentence sound like a template?
  2. Re-run scan on the draft (stdin or temp file).
  3. Confirm zero em dashes, isn't-it's pivots, lesson-list headers, fake stat citations, punch-pause lines, hashtag walls.
  4. If target was social/email: one concrete detail survives; no invented org names or survey percentages unless user provided them.
  5. If scan score ≥ 3 but shape still feels AI → loop.md (max 3 iterations):
    node scripts/gate.mjs --json --strict draft.txt
    

Sibling skills

  • impeccable — visual UI slop (gradients, card grids, layout).
  • linktwerk — cringe generator; pair with pipeline linktwerk for human output.
  • frontend-design — prevention at creation; this skill is review/fix at edit time.

Registry

CI / regression tests

node scripts/check-fixtures.mjs
node scripts/scan.mjs --json --strict path/to/file.md

GitHub Actions runs check-fixtures.mjs on every push. Golden outputs live in tests/fixtures/golden/ and must pass strict gate.

Fixtures manifest: tests/fixtures.json.

What ships with it: 38 files

90.0 KB alongside SKILL.md, 6 of them executable

reference/

scripts/

Keep looking

Skills are one crate of 326,286. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.