Slop Mop is an agent skill that reviews written content for patterns associated with AI-generated writing. Its review process combines deterministic checks with contextual review for broad coverage and efficient token use.
It surfaces confirmed issues and proposes specific fixes.
| Tool | Flags |
|---|---|
| Vale | AI tells detectable through static analysis: contrastive formulas, overused vocabulary, hedging, signposting, and more |
| Lychee | Unreachable links |
| Rhythm checker | Repetitive, staccato sentence patterns |
Slop Mop gives your agent instructions for installing and configuring these optional tools.
Note: These tools are optional. If a tool is unavailable, the review continues with the remaining checks and reports which were skipped.
Install with the Skills CLI:
npx skills add https://github.com/TRocket-Labs/slop-mopThe CLI detects supported agents and installs the skill in the appropriate location.
Install with SkillKit:
npx skillkit install TRocket-Labs/slop-mopOr clone the repository and add it using your agent's skill-directory convention:
git clone https://github.com/TRocket-Labs/slop-mop.gitCLI installation is recommended because skill-directory conventions vary between agents.
Point your agent to a file and ask for a Slop Mop review:
Run Slop Mop on drafts/article.md.
You can also describe the review in natural language:
Find the AI patterns in this draft.
Clean the slop from this article.
Review this post for AI tells and leave the source unchanged.
Slop Mop returns the review and saves a copy to:
.slop-mop/<timestamp>/review.md
The source remains unchanged.
Deterministic checks detect patterns that can be found cheaply and consistently using scripts or static analysis. Each pattern is assigned to exactly one detection method to prevent duplicate findings.
These checks produce candidate findings. The agent then applies rule-specific false-positive guidance and surfaces only the confirmed issues.
Some patterns associated with AI-generated writing cannot be detected reliably through string matching, syntax rules, or sentence statistics.
For these patterns, the agent reviews the draft in context using Slop Mop's contextual review rules. These rules produce findings independently of the deterministic checks.
The results from both review methods are deduplicated and combined into a single report.
Vale is a syntax-aware prose linter. Slop Mop ships with a custom Vale rule pack and runs in its own environment so its rules never conflict with existing Vale configurations.
The managed environment lives in one of two locations:
- Project:
<workspace>/.slop-mop/vale/.vale.ini- scoped to one repository - Global:
~/.slop-mop/vale/.vale.ini- applies anywhere no project config exists
Project configuration takes precedence over global.
The first time you run Slop Mop, you'll be prompted to set up Vale and Lychee. Skip either one and the review still runs.
Initialization asks every preference question registered by the bundled rules and configures Vale from your answers.
Ask the agent to reinitialize Slop Mop when you want to change the installation scope, update your preferences, or configure prompts added by new rules.
Every finding appears in a single table, sorted by source line:
line | issue | fix | rule
─────┼──────────────────────────┼───────────────────────┼────────────
24 | <what is wrong here> | <smallest exact fix> | <rule name>
61 | <what is wrong here> | See full fix #1 below | <rule name>
Slopometer: 7.8/10 - Okay, cyborg
The fix column contains the smallest exact change that resolves the issue. When a replacement is too large for the table, the review links to a numbered replacement section below the table.
The Slopometer is a 0-10 score based on the density of confirmed, deduplicated findings. It accounts for content length, so the same number of findings has a larger effect on a short draft than on a long one. Dismissed candidates do not affect the score.
round(clamp(10 - 400 × confirmed findings / max(1, words), 0, 10), 1)
The score is for reference and includes a short verdict.
An interactive HTML review portal lets you accept or reject findings and export the results.
After the review, you'll be asked whether you want an interactive HTML version. It's only generated when you approve or request it directly.
- It reviews prose patterns commonly associated with AI-generated writing. It does not assess overall writing quality, argument quality, or subject-matter accuracy.
- It favors thoroughness over silence. Surfacing a borderline case is better than missing a potential issue.
- Every pattern has exactly one detection owner (either a deterministic tool or the contextual review), so no issue gets flagged twice.
- It leaves the source unchanged during review and applies fixes only when you explicitly request edits.
- It produces a detailed review report as Markdown and HTML only after approval or an explicit request.
Re-run the installer to fetch the current version:
npx skills add https://github.com/TRocket-Labs/slop-mopIf you installed it manually, update the cloned repository using your normal Git workflow.
Slop Mop's Vale rule pack incorporates rules from vale-ai-tells by Tony Burns
Slop Mop grew out of building content systems at TinyRockets and work on VectorLint.
Issues and pull requests are welcome. Slop Mop's rule set is designed to grow over time.
Keep these requirements intact when proposing a new rule:
- Give the pattern exactly one search owner: a deterministic check or contextual review.
- Add guidance for filtering false positives from vale alerts.
- Surface confirmed findings through the shared
line | issue | fix | ruleformat. - Leave source content unchanged unless the user explicitly requests edits.
Preference-based Vale rules must also add a prompt to references/vale-setup.md explaining how each answer maps to the managed Vale configuration.