anti-slop-text

anti-slop-text is a skill for Claude Code from patrickdappollonio/claude-plugins. It costs 222 tokens per session (4,077 once invoked), scanned A, original, MIT.

A set of rules for writing and reviewing prose, including documentation, README files, commit messages, pull requests, reports, emails, and interface text. It favors specific facts and plain wording over inflated or formulaic language.

In plain words
What is it for?
Use it when creating, editing, or reviewing text that people will read, especially when asked to make the writing polished or professional.
Why use it?
It helps remove invented details, promotional claims, vague attributions, repeated conclusions, and other patterns that can make generated writing less trustworthy. It requires claims to come from the supplied material or something checked.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the anti-slop plugin — 2 skills shipped together

Good fit Use it when creating, editing, or reviewing text that people will read, especially when asked to make the writing polished or professional.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/patrickdappollonio/claude-plugins/anti-slop-text
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add patrickdappollonio/claude-plugins --skill anti-slop-text
Clone the repo
git clone --depth 1 https://github.com/patrickdappollonio/claude-plugins

Made for: Claude Code.

Or install anti-slop, the plugin that ships this one along with the rest of its 2 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for anti-slop-text

README.md
[![agentmods](https://agentmods.dev/badge/skills/patrickdappollonio/claude-plugins/anti-slop-text/github.svg)](https://agentmods.dev/skills/patrickdappollonio/claude-plugins/anti-slop-text)
Your own site
<a href="https://agentmods.dev/skills/patrickdappollonio/claude-plugins/anti-slop-text"><img src="https://agentmods.dev/badge/skills/patrickdappollonio/claude-plugins/anti-slop-text/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for anti-slop-text

Your own site · 80×15
<a href="https://agentmods.dev/skills/patrickdappollonio/claude-plugins/anti-slop-text"><img src="https://agentmods.dev/badge/skills/patrickdappollonio/claude-plugins/anti-slop-text.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 222 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,077 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00222 $0.04077
Opus 5.5 $0.00089 $0.01631
Sonnet 5.5 $0.00044 $0.00815
Haiku 4.5 $0.00022 $0.00408

Measured 6d ago against content hash ecf6361c622d, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

anti-slop-text scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/anti-slop/skills/anti-slop-text/SKILL.md · 112 lines

How it starts

The opening of the file, as written. The whole thing — 112 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Anti-Slop Text

The rule

Every sentence gives the reader a fact they need, in the plainest words that carry it, and every fact comes from the material you were given or something you checked.

Slop is text shaped like writing with nothing specific in it: significance claimed instead of shown, reasons made up to sound concrete, rhythm doing the work that content should. A reader who spots the patterns tends to distrust the rest of the text, including the parts that were true.

Read the companion files first

This skill ships two companion files beside it. On first use in a session, before any other step:

  1. Read tells-catalog.md in full. It holds the full list behind the review table below: every pattern, the words and shapes to search for, and what to write instead. The table here is a reminder of text you have already read, never a substitute. Re-read it before any review pass over text longer than a few paragraphs.
  2. Load the communication rules, one of two ways:
    • The effective-communicator skill is installed (it appears in your list of available skills, on its own or under a plugin prefix): invoke it and follow it. Do not read communication.md; the installed skill is the fuller version of the same rules.
    • It is not installed: read communication.md in full. It is the distilled version of that skill.

Writing from memory of what "plain" or "clear" means, without one of those loaded, is a red flag below. Never tell the reader to install the other skill; use it when it is there and the file when it is not.

Write it in this order

  1. List the facts first. Before writing, list what you know from the brief, the code, the diff, the data, or a source you opened. The text says those things and nothing else. When a fact is missing (why a decision was made, what a number was, what happened next), ask for it or leave it out. Never supply a plausible reason, anecdote, number, quote, or outcome to make the text feel complete; a made-up detail is worse than a missing one because the reader cannot tell which details are real. If the requested length needs more facts than you have, write the shorter text, say how long it came out and why, and ask for the material that would fill it.
  2. Say it plainly. Subject, plain verb, fact. Use is, has, uses, wrote, tried, moved over serves as, boasts, utilizes, authored, attempted, relocated. A number beats an adjective: "builds in 9 minutes" over "blazing fast".
  3. Let facts carry their own weight. Do not tell the reader something is significant, pivotal, a testament, a turning point, or part of a broader trend. If it matters, the fact shows why; if the reason is not obvious, state the reason as another fact.
  4. Name who said it. A claim about what people think names its source, or is stated as your own claim, or is cut. No experts argue, many believe, studies show without the study.
  5. Say Y. When a sentence, or a pair of sentences, brings up X only to set it aside and then says Y, write Y. The structure is the tell, whatever the words: "it's not X, it's Y", "it could be X, but it's Y", "X isn't the problem, Y is", "sure, X, but Y", "less X, more Y", "the real X is Y", "Y rather than X", "no X, no Y, just Z", and every other variant in tells-catalog.md. Ask whether the reader would have believed X if you had not raised it; if not, X is a foil, so delete it. Keep X only when the reader actually holds it or it was an option someone weighed, and then state it as a fact ("we first suspected the cache; the logs showed …"), not as a reveal. When editing, rebuild the sentence: Y in its own sentence; X only if it is a fact the reader needs on its own (a measurement, a named option), in its own sentence, never as the setup for Y. An evaluative X such as easy or obvious is framing, not a fact, so "keep every fact" does not protect it.
  6. Let the content set the count and the rhythm. List the real items, whether that is one or five. No drumroll openers (here's the thing, turns out, the punchline), no stacked rhetorical questions, no three sentences in a row starting the same way, no fragment pairs built for punch ("It broke. We fixed it.").
  7. Fit the structure to the content. Headings in sentence case unless the house style says otherwise, used only when the text is long enough to need them, in order, each with text before any subheading. Bold at most the one thing a skimmer must not miss. Bullets for list-shaped content; paragraphs for reasoning. A table for three or more rows compared across two or more columns. No emoji as bullets or heading markers, no rule between every section, no closing "Conclusion", "Summary", or "Key takeaways" that restates the text. End on the last new fact.
  8. Use the destination's format. Markdown where it renders, plain text in a commit body, email, or form field, the house markup in a wiki. Follow the house style for dashes, quotes, and heading case; with none, prefer commas, colons, and parentheses to repeated em dashes.
  9. Leave the conversation out of the artifact. A document, commit message, or PR description has no Certainly!, Here is …, I hope this helps, Let me know if …, or model disclaimers. It starts with its first real sentence. Fill every placeholder with a real value or ask for it.
  10. In reports, commits, and PRs, say what changed. What changed, why, and how it was checked. Mention an untouched part only when the reader would otherwise assume it changed. No assurances (following best practices, ensuring consistency, preserved existing behavior) without the evidence that makes them true, and no narration of your process.

Read the full file on GitHub · 112 lines

Files

What ships with it

2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 6d ago Changed · +6 lines · +8 tokens per session ecf6361c622d
  2. 1mo ago First seen · 106 lines · 214 tokens per session scan A 5ebd5c8422d1

Subscribe to this mod's changes

anti-slop-text is a skill published in the GitHub repository patrickdappollonio/claude-plugins (9 stars, last pushed yesterday), licensed MIT. It adds 222 tokens to every session and 4,077 once invoked, about $0.0009 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-01.

Related

anti-slop-text compared with skills from other repositories

anti-slop-text next to 6 skills from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
anti-slop-textpatrickdappollonio/claude-pluginsSkill9yesterdayMITA222Claude Code
imagegenopenai/codexSkill133kyesterdayApache-2.0A113Codex
playwright-climicrosoft/playwrightSkill99kyesterdayApache-2.0A19Claude Code
local-ai-agentsmicrosoft/ai-agents-for-beginnersSkill79k4d agoMITA200Claude Code, Codex
systematic-debuggingobra/superpowersSkill313k3d agoMITA21Claude Code
next-cache-components-adoptionvercel/next.jsSkill143kyesterdayMITA95Claude Code
next-partial-prefetching-adoptionvercel/next.jsSkill143kyesterdayMITA103Claude Code