{
  "markdown": "<p align=\"center\">\n  <a href=\"https://zero-slop.ai\">\n    <picture>\n      <source media=\"(prefers-color-scheme: dark)\" srcset=\"assets/logo/zero-slop-logo-reversed.svg\">\n      <img src=\"assets/logo/zero-slop-logo-primary.svg\" width=\"360\" alt=\"Zero Slop\">\n    </picture>\n  </a>\n</p>\n\n      Zero Slop is installed about 1,600 times a week on npm.\n\n<p align=\"center\"><strong>Find AI-sounding tells and slop in your writing.</strong></p>\n\n<p align=\"center\">\n  Zero Slop finds slop- stock phrasing, mechanical rhythm, vague claims, and canned formatting in writing.<br>\n  Your existing AI assistant edits the draft; local checks guard its names, numbers, links, quotations, code, tables, and paths.\n</p>\n\n<p align=\"center\">\n  <a href=\"https://zero-slop.ai/try/\"><strong>Try it in your browser</strong></a>\n  ·\n  <a href=\"#install\">Install the skill</a>\n  ·\n  <a href=\"#evidence-and-limits\">See the evidence</a>\n  ·\n  <a href=\"https://github.com/manavmishra/ZeroSlop/releases/latest\">Latest release</a>\n  ·\n  <a href=\"https://zero-slop.ai/brand/\">Brand assets</a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/manavmishra/ZeroSlop/actions/workflows/validate.yml\"><img alt=\"Validate\" src=\"https://github.com/manavmishra/ZeroSlop/actions/workflows/validate.yml/badge.svg\"></a>\n  <img alt=\"Version 2.12.1\" src=\"https://img.shields.io/badge/version-2.12.1-72528F?color=C15732\">\n  <a href=\"https://www.npmjs.com/package/zero-slop\"><img alt=\"npm version\" src=\"https://img.shields.io/npm/v/zero-slop?color=C15732\"></a>\n  <a href=\"https://www.npmjs.com/package/zero-slop\"><img alt=\"npm downloads\" src=\"https://img.shields.io/npm/dm/zero-slop?color=17634F\"></a>\n  <a href=\"https://github.com/manavmishra/ZeroSlop/stargazers\"><img alt=\"GitHub stars\" src=\"https://img.shields.io/github/stars/manavmishra/ZeroSlop?style=flat&color=C15732\"></a>\n  <a href=\"LICENSE\"><img alt=\"MIT license\" src=\"https://img.shields.io/badge/license-MIT-141412\"></a>\n  <a href=\"https://hol.org/registry/plugins/manav-mishra%2Fzero-slop\"><img alt=\"Listed in the HOL plugin registry\" src=\"https://img.shields.io/badge/HOL%20registry-listed-2C6E8F\"></a>\n</p>\n\n```sh\nnpx skills add manavmishra/ZeroSlop --global\n```\n\n<a href=\"assets/zero-slop-demo.mp4?v=dark-shell-restored-20260906\">\n  <picture>\n    <source media=\"(prefers-reduced-motion: reduce)\" srcset=\"assets/zero-slop-demo-poster.png?v=dark-shell-restored-20260906\">\n    <source type=\"image/webp\" srcset=\"assets/zero-slop-demo.webp?v=dark-shell-restored-20260906\">\n    <img src=\"assets/zero-slop-demo.gif?v=dark-shell-restored-20260906\" width=\"900\" alt=\"Dark-shell demo: install Zero Slop, edit with your assistant, and check scores while preserving 40%.\">\n  </picture>\n</a>\n\n\n\n## Before and after\n\nA launch post, as AI wrote it:\n\n> We're thrilled to announce that our team has leveraged cutting-edge machine learning to deliver a seamless onboarding experience, reducing setup time by 40%.\n\nThe scorer rates that draft 99.3/100 and flags four phrases: “We're thrilled\nto,” “leveraged,” “cutting-edge,” and “seamless.”\n\nThe rewrite, limited to the draft's stated claims:\n\n> We used machine learning to reduce onboarding setup time by 40%.\n\n```text\nWriting score: 9.5/100  [clear]\n  Flagged phrases : 0 across 10 words\n```\n\nThe rewrite retains the draft's stated result. See four complete, reproducible pairs in [`examples/`](examples/).\n\nUse it for launch posts, changelogs, emails, research summaries, or batch checks.\nScores describe writing patterns, not authorship.\n\n## Install\n\n[Try the free browser editor](https://zero-slop.ai/try/), or install:\n\n| Environment | Fastest route |\n|---|---|\n| Claude Code, Codex, Cursor, OpenCode, Warp, Zed | `npx skills add manavmishra/ZeroSlop --global` |\n| Gemini CLI | `gemini extensions install https://github.com/manavmishra/ZeroSlop --auto-update` |\n| Claude Code plugin | `/plugin marketplace add manavmishra/ZeroSlop`, then `/plugin install zero-slop@zero-slop` |\n| Any assistant with file uploads | Download the [single-file bundle](https://github.com/manavmishra/ZeroSlop/releases/latest/download/zero-slop-single-file.md) |\n| Claude.ai | Upload the [latest skill ZIP](https://github.com/manavmishra/ZeroSlop/releases/latest/download/zero-slop.zip) |\n| ChatGPT, Claude, Grok, Gemini, Cursor, or another MCP client | Connect the optional [hosted MCP server](mcp/README.md) |\n\nAsk your assistant to edit:\n\n```text\n/zero-slop (your writing)\n```\n\nInspect without editing:\n\n```text\n/zero-slop inspect (your writing)\n```\n\nScore locally:\n\n```sh\nnpx zero-slop score draft.md\n```\n\nFrom a cloned checkout, gate a folder:\n\n```sh\npython3 scripts/slopscore.py --batch drafts/ --gate 25\n```\n\nInstalled checks run locally. Skill editing follows your assistant's privacy settings; [MCP editing is remote](mcp/README.md).\n\n### Hosted MCP\n\n```text\nhttps://mcp.zero-slop.ai/mcp\n```\n\n[Connection options and listing status](DISTRIBUTION.md).\n\n## CLI\n\nEdit a file through MCP:\n\n```sh\nnpx --yes zero-slop@2.12.1 deslop draft.md --genre professional\n```\n\nUse `-` for stdin and `--json` for structured output. `--require-approved` exits nonzero\nwhen review is needed; the result is still printed. Files stay unchanged. Node.js 22+;\noffline `score` also needs Python 3. [CLI reference and privacy](docs/cli.md).\n\n## REST API\n\n```sh\ncurl --fail-with-body --max-time 75 https://mcp.zero-slop.ai/v1/deslop \\\n  -H 'Content-Type: application/json' \\\n  --data '{\"text\":\"Maya owns the pricing review.\",\"genre\":\"professional\"}'\n```\n\nSame pipeline and result as MCP. Check `status` before using the edit. Free, shared\ncapacity; up to 20,000 Unicode code points per draft after trimming. Hosted CLI\nediting and REST process drafts remotely without storing them.\n\n[API reference](docs/rest-api.md) · [OpenAPI contract](https://mcp.zero-slop.ai/openapi.json)\n\n## What the workflow adds\n\n| A prompt alone | Zero Slop |\n|---|---|\n| “Make this sound human” leaves the target vague. | A 0–100 meter points to exact phrases and structural problems. |\n| One rewrite can quietly alter source details. | A local fact gate checks protected strings before the edit is returned. |\n| The model tends to overcorrect into fragments or forced casualness. | An overcorrection pass checks readability, rhythm, grammar, and voice. |\n| Each session starts from scratch. | Optional, reason-labelled preferences can be learned privately. |\n\nZero Slop ships no model. Your AI assistant reads and edits the draft in context,\nusing Claude, GPT, or another compatible model. The repository supplies the\nworkflow and local tools for scoring and source checks.\n\n## What it catches\n\nThe scorer combines 294 weighted patterns with a 96-term lexicon. Examples include:\n\n- binary contrast formulas: “It's not X. It's Y.”\n- canned openers: “We're thrilled to…” and “Here's the thing…”\n- vague attribution: “experts agree” and “studies show”\n- significance inflation: “marks a pivotal moment” and “a testament to”\n- promotional riders: “robust,” “seamless,” and “leverage” when used as hype\n- repeated sentence shapes, crowded statistics, and overworked formatting\n\nMarketing terms are scored in context, so an ordinary technical use of a word need not trigger the same penalty. [`references/eval.md`](references/eval.md) documents all 80 checks.\n\nUnedited AI drafts averaged 77 in [`bench/examples.json`](bench/examples.json).\nHuman writing scored 9 to 21 in\n[`data/corpus/must-not-flag/`](data/corpus/must-not-flag/). These are reference\npoints for the scorer, not authorship boundaries.\n\n## How it works\n\n![Zero Slop's eight editorial responsibilities, private learning loop, and separate release review](assets/engine.svg)\n\nEight responsibilities form one workflow. They are jobs, not separate models.\nResearch supports the checks, not the number eight, which is an engineering\nchoice.\n\n| Stage | Job |\n|---|---|\n| 1. Scorer | Find exact phrases, pacing problems, readability issues, and overworked formatting. |\n| 2. Interpreter | Read the claims, audience, structure, and voice before editing. |\n| 3. Rewriter | Remove stock language without inventing detail. |\n| 4. Fact gate | Check names, numbers, quotations, links, code, tables, paths, and structure locally. |\n| 5. Copy desk | Fix grammar, usage, spelling, and consistency. |\n| 6. Read-aloud editor | Catch stumbles, repetition, and awkward transitions. |\n| 7. Verifier | Compare the edit with the source for meaning, qualifiers, voice, and format. |\n| 8. Fresh-eyes finalizer | Apply only safe final polish, then run one last local check. |\n\nThe free web editor combines the five AI responsibilities into one response and\nmakes at most one live model call. A single response does not provide independent review.\nAny final change receives one final local recheck.\n\nIf repair fails, return the safest edit with a warning. No open-ended rewrite loop.\n\n### Review the reader's side\n\nAsk: **“Review this for backend engineers. Where would they stop reading?\nDon't rewrite it.”** Optional skim, passage reactions, and notes-only recall\nproduce comments and revision strips. Simulations cannot establish human behavior;\nsequential review requires isolated contexts. The [workflow](references/reader-review.md)\nexplains privacy, limits, and reporting. Hosted calls are unchanged.\n\nInspired by [First Reader](bench/first-reader/), a review-only skill. Zero Slop\nalso rewrites and checks source details. Neither has established human-reader\naccuracy; First Reader gets no invented rewrite score.\n\n## Evidence and limits\n\n### Same model, same 18 drafts\n\nA saved replay ran Zero Slop and three comparable open-source instruction sets over the same drafts with GPT-5.4, high reasoning, and pinned instructions. The outputs are frozen and reproducible.\n\n| Method | Mean writing score ↓ | Passed local gates | Source check passed | Mean length change |\n|---|---:|---:|---:|---:|\n| Original drafts | 76.3 | 0/18 | — | — |\n| **Zero Slop** | **12.8** | **18/18** | **18/18** | -8.9% |\n| avoid-ai-writing | 23.3 | 15/18 | 18/18 | -14.6% |\n| no-ai-slop | 28.4 | 12/18 | 17/18 | -13.7% |\n| humanizer | 35.4 | 9/18 | 17/18 | -7.2% |\n\n![Fresh same-model editing replay on 18 drafts, with lower scores better](assets/bench-search-rewrites.png)\n\nThis small LLM-reviewed regression study measures repeatable behavior; it does not establish universal writing quality. The drafts, hashes, method versions, prompts, and limitations are in [`bench/README.md`](bench/README.md).\n\nZero Slop's frozen outputs came from v2.5.9; newer versions only rescore those\nsaved outputs. The current scorer matched the prior 84.2% result on the fixed\n38-item editorial panel. These fixed-sample checks are not field accuracy.\n\n<details>\n<summary>More validation</summary>\n\n- A method-hidden editorial preference replay: [`bench/incumbent-blind-replay/`](bench/incumbent-blind-replay/)\n- External-checker clean rates: [`assets/bench-external-checker.png`](assets/bench-external-checker.png)\n- Method-hidden quality ranking: [`assets/bench-blind-quality.png`](assets/bench-blind-quality.png)\n- Current-model corpus measurements: [`assets/bench-raid-plus.png`](assets/bench-raid-plus.png)\n- Antithesis regression set: [`assets/bench-antithesis.png`](assets/bench-antithesis.png)\n\nOn the 75 labelled antithesis pairs, the current reading pass reached 91.2% recall across the full set, 100% recall on shapes in reach, and 100% precision. The labels are maintainer-authored and the pairs are constructed, so this is a regression floor rather than field accuracy.\n\nLocal speed measurements cover the checks, with editing time excluded. On one\nApple silicon Mac, the scorer processed 1,000 documents in a median of 1.9929\nseconds (501.8 per second); the five runs ranged from 1.9614 to 2.0945 seconds.\nIt scored a 15,201-word document in a median of 0.3223 seconds. The slowest\nstress case took 2.2932 seconds, and learning from an 8,000-word edit took\n0.1592 seconds. The measurements and machine details are in\n[`bench/performance-results.json`](bench/performance-results.json).\n\nAcross 12 interleaved runs against 2.7.7, we measured 0.26% lower median throughput,\nwithin the 5% regression limit. Local timing, not an SLA. The two-way replay used\nZero Slop v2.6.0.\n\nThe [RAID+ audit](bench/raid-plus-corpus/README.md) checks how the scorer responds\nto output from different models. Its pinned sample contains 7,627 usable\ngenerations:\n\n| Model | Texts scored | Mean writing score ↓ | At or above 25 |\n|---|---:|---:|---:|\n| DeepSeek V3 | 1,995 | 14.5 | 10.1% |\n| Gemini 3.1 Pro | 1,998 | 17.0 | 18.2% |\n| Gemma 3 27B | 1,634 | 21.6 | 30.4% |\n| Llama 3.3 70B | 2,000 | 25.5 | 41.7% |\n\nRAID+ labels record which model produced each text; they do not grade writing\nquality. The [Beemo paired-edit audit](bench/beemo-corpus/README.md) checks how\nscores change after human editing: raw responses averaged 30.2, expert edits\n25.3, and human answers 20.0. Beemo also lacks writing-quality labels.\n\n</details>\n\n### Documented capability audit\n\n![Documented capabilities at pinned repository versions](assets/competitor-capabilities.png)\n\nThis chart says nothing about writing quality or which tool writes better. It\nrecords documented features at pinned commits; the data and reproduction notes\nare in [`bench/README.md`](bench/README.md).\n\nThe design follows research on [predictable wording in machine text](https://arxiv.org/abs/2301.11305) and [overused vocabulary](https://arxiv.org/abs/2406.07016). It deliberately avoids authorship claims because detectors can [misclassify non-native English](https://arxiv.org/abs/2304.02819).\n\n## Private learning\n\nLearning begins only when you provide an original output and your reason-labelled edit. Zero Slop does not monitor files, browsers, or publishing tools. Private data stays under `$ZERO_SLOP_HOME`; it is not committed to this repository and does not retrain the model.\n\nA profile selected by name can exempt existing watchlist words. It does not\nlearn cadence, tone, or a complete writing style.\n\n## Repository map\n\n| Path | Purpose |\n|---|---|\n| [`SKILL.md`](SKILL.md) | The complete detect, rewrite, verify, and learn workflow |\n| [`scripts/slopscore.py`](scripts/slopscore.py) | Offline meter and source-detail gate |\n| [`scripts/register.py`](scripts/register.py) | Performed-register and reading pass |\n| [`references/`](references/) | Genre guidance, tells, safeguards, and evaluation rules |\n| [`examples/`](examples/) | Reproducible before-and-after edits |\n| [`bench/`](bench/) | Frozen benchmarks, provenance, and limitations |\n| [`mcp/`](mcp/) | Optional hosted MCP server documentation |\n| [`DISTRIBUTION.md`](DISTRIBUTION.md) | Direct installs, marketplace submissions, and release synchronization |\n\n## Contributing and support\n\nBug reports, false positives, examples, and carefully tested pattern improvements are welcome. Read [`CONTRIBUTING.md`](CONTRIBUTING.md) before opening a pull request, use the structured [issue forms](https://github.com/manavmishra/ZeroSlop/issues/new/choose), or start a [Discussion](https://github.com/manavmishra/ZeroSlop/discussions).\n\nFor setup help and responsible disclosure, see [`SUPPORT.md`](SUPPORT.md) and [`SECURITY.md`](SECURITY.md).\n\n## Credits\n\nIdeas from [First Reader](https://github.com/Shubhamsaboo/awesome-llm-apps/tree/f56f4febaac4eb869c2e98859e78612889913d3e/agent_skills/first-reader), [no-ai-slop](https://github.com/petergyang/no-ai-slop), [humanizer](https://github.com/blader/humanizer), [de-slop](https://github.com/isatimur/de-slop), [stop-slop](https://github.com/hardikpandya/stop-slop), [unslop-text](https://github.com/JCarterJohnson/vibecoded-design-tells/tree/main/unslop-ai-text), and [avoid-ai-writing](https://github.com/conorbronsdon/avoid-ai-writing).\n\n## License\n\n[MIT](LICENSE)\n",
  "bytes": 15726,
  "sha": "e055574562fd0e5e74b2fe6d8541d6a900272af4e269703173f092fd628617df",
  "repo_slug": "manavmishra/zeroslop",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_manavmishra_zero_slop_304995fb/readme"
}