zero-slop 2.12.8 → 2.12.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -11,7 +11,7 @@ Zero Slop is a free, open-source agent skill that finds and removes AI slop whil
11
11
 
12
12
  <p align="center">
13
13
  <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>
14
- <img alt="Version 2.12.8" src="https://img.shields.io/badge/version-2.12.8-72528F?color=C15732">
14
+ <img alt="Version 2.12.10" src="https://img.shields.io/badge/version-2.12.10-72528F?color=C15732">
15
15
  <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>
16
16
  <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>
17
17
  <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>
@@ -22,7 +22,7 @@ Zero Slop is a free, open-source agent skill that finds and removes AI slop whil
22
22
 
23
23
  ## Why it exists
24
24
 
25
- An AI draft can be grammatically sound and still read like workslop. In a compatible AI assistant, Zero Slop flags stock phrasing and stiff patterns, then guides the edit. The writing score finds patterns worth reviewing; it cannot tell who wrote the text.
25
+ An AI draft can be grammatically sound and still read like workslop. In a compatible AI assistant, Zero Slop flags slop patterns, then guides the edit. The writing score finds patterns worth reviewing; it cannot tell who wrote the text.
26
26
 
27
27
  <a href="assets/zero-slop-demo.mp4?v=dark-shell-restored-20260906">
28
28
  <picture>
@@ -34,14 +34,13 @@ An AI draft can be grammatically sound and still read like workslop. In a compat
34
34
 
35
35
  ## See an edit
36
36
 
37
- Let's see Zero Slop at work. Imagine using AI to write a launch announcement and getting this:
37
+ Let's see Zero Slop at work. Imagine using AI to write a linkedin launch announcement and getting this:
38
38
 
39
39
  > 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%.
40
40
 
41
- The local Python scorer in Zero Slop scores it 99.3/100. A high Slop score means the draft is more likely to contain sloppy patterns. It flags “We're thrilled
42
- to,” “leveraged,” “cutting-edge,” and “seamless” as patterns worth reviewing.
41
+ The local Python scorer in Zero Slop scores the input Slop score 99.3/100. A high Slop score means the draft is more likely to contain sloppy patterns.
43
42
 
44
- An edit that keeps the stated result:
43
+ Zero Slop then strips the patterns and guides the AI agent to produce the deslopped output below:
45
44
 
46
45
  > We used machine learning to reduce onboarding setup time by 40%.
47
46
 
@@ -172,7 +171,7 @@ python3 scripts/slopscore.py --batch drafts/ --gate 25
172
171
  The CLI sends a file to the hosted editor without changing the file on disk:
173
172
 
174
173
  ```sh
175
- npx --yes zero-slop@2.12.8 deslop draft.md --genre professional
174
+ npx --yes zero-slop@2.12.10 deslop draft.md --genre professional
176
175
  ```
177
176
 
178
177
  Use `-` for stdin and `--json` for structured output. `--require-approved` prints the result but exits nonzero when review is needed. Requires Node.js 22+; offline `score` also needs Python 3. [CLI options and privacy](docs/cli.md).
package/SKILL.md CHANGED
@@ -2,7 +2,7 @@
2
2
  name: zero-slop
3
3
  license: MIT
4
4
  metadata:
5
- version: "2.12.8"
5
+ version: "2.12.10"
6
6
  author: manavmishra
7
7
  description: Edit drafts into natural prose, inspect AI-sounding patterns, or review how a specified audience might respond passage by passage. Zero Slop runs inside the user's existing AI assistant with local tools that protect source details. Use for humanizing or de-slopping writing, polishing outward-facing prose, social drafts, final editorial checks, or an explicit simulated reader review. Preserve facts, voice and format; reader simulations are hypotheses, not human feedback.
8
8
  ---
package/docs/cli.md CHANGED
@@ -3,7 +3,7 @@
3
3
  Use `deslop` for hosted editing with MCP parity. Use `score` for offline checks.
4
4
 
5
5
  ```sh
6
- npm install --global zero-slop@2.12.8
6
+ npm install --global zero-slop@2.12.10
7
7
  zero-slop deslop draft.md --genre professional
8
8
  zero-slop deslop - --genre email < draft.txt
9
9
  zero-slop deslop draft.md --json --require-approved
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zero-slop",
3
- "version": "2.12.8",
3
+ "version": "2.12.10",
4
4
  "description": "Find and fix canned AI writing while preserving the facts, voice, and format.",
5
5
  "mcpServers": {
6
6
  "zero-slop": {
@@ -8,7 +8,7 @@
8
8
  "includeTools": [
9
9
  "deslop"
10
10
  ],
11
- "timeout": 45000
11
+ "timeout": 90000
12
12
  }
13
13
  }
14
14
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zero-slop",
3
- "version": "2.12.8",
3
+ "version": "2.12.10",
4
4
  "description": "An editing skill, offline writing checks, and a CLI for the hosted Zero Slop MCP pipeline. Find stock AI phrasing, rewrite, and check source details.",
5
5
  "bin": {
6
6
  "zero-slop": "bin/zero-slop.mjs"
package/plugin.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
3
3
  "name": "zero-slop",
4
- "version": "2.12.8",
4
+ "version": "2.12.10",
5
5
  "description": "Find and fix canned AI writing while preserving the facts, voice, and format.",
6
6
  "author": {
7
7
  "name": "Manav Mishra",
package/scripts/rescue.py CHANGED
@@ -116,6 +116,8 @@ def rescue_text(text: str) -> str:
116
116
  (r"\bgame[-\u2011]changing\b", "useful"),
117
117
  (r"\bcutting[-\u2010\u2011 ]edge\b", "current"),
118
118
  (r"\bredefines what(?:['’]s| is) possible in\b", "updates"),
119
+ (r"\bhere are (?=\d+\s+(?:tips?|ways?|reasons?|steps?|ideas?)\b)", ""),
120
+ (r"\bgenuinely\s+", ""),
119
121
  (r"\bin order to\b", "to"),
120
122
  (r"\bat the end of the day\b", "ultimately"),
121
123
  # Contractions alone are not evidence of better writing. Leave clean
@@ -1153,6 +1153,7 @@ fix sit mid ambiguity team teams user users product feature features day days we
1153
1153
  weeks month months year years time thing done anyway besides meanwhile therefore
1154
1154
  worse worst harder easier simpler faster slower bigger smaller lots plus minus
1155
1155
  are artificial bookmark despite hey modern please researchers save unpopular welcome
1156
+ stare rookie missed
1156
1157
  """.split())
1157
1158
  NOT_NAME_WORDS = {word.lower() for word in NOT_NAMES} | COMMON_WORDS
1158
1159
 
@@ -1264,8 +1265,8 @@ def facts(text, _other=""):
1264
1265
  # a feeling verb, because the goal is catching an INVENTED inner state, and the
1265
1266
  # comparison below cancels any that were already in the source.
1266
1267
  INTERIOR_STATE_RX = re.compile(
1267
- r"\b(?:I|we)\s+(?:was|were|am|felt|feel|got)\s+"
1268
- r"(?:(?:very|really|extremely|quite|so)\s+)?(?P<state>[A-Za-z]+)", re.I)
1268
+ r"\b(?:I|we)\s+(?:genuinely\s+)?(?:was|were|am|felt|feel|got)\s+"
1269
+ r"(?:(?:very|really|extremely|quite|so|genuinely)\s+)?(?P<state>[A-Za-z]+)", re.I)
1269
1270
  INTERIOR_COGNITION_RX = re.compile(
1270
1271
  r"\b(?:I|we)\s+(?P<cognition>remember(?:ed)?|recall(?:ed)?|realise(?:d)?|"
1271
1272
  r"realize(?:d)?|knew|fear(?:ed)?|hope(?:d)?|worr(?:y|ied)|panic(?:ked)?|"