zero-slop 2.10.1 → 2.11.1

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
@@ -7,7 +7,7 @@
7
7
  </a>
8
8
  </p>
9
9
 
10
- Zero Slop crossed 100 GitHub stars and 2,000 npm downloads in its first 12 days.
10
+ Zero Slop is installed about 1,600 times a week on npm.
11
11
 
12
12
  <p align="center"><strong>Find AI-sounding tells and slop in your writing.</strong></p>
13
13
 
@@ -30,7 +30,7 @@
30
30
 
31
31
  <p align="center">
32
32
  <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>
33
- <img alt="Version 2.10.1" src="https://img.shields.io/badge/version-2.10.1-72528F?color=C15732">
33
+ <img alt="Version 2.11.1" src="https://img.shields.io/badge/version-2.11.1-72528F?color=C15732">
34
34
  <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>
35
35
  <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>
36
36
  <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>
@@ -136,7 +136,7 @@ https://mcp.zero-slop.ai/mcp
136
136
  Edit a file through MCP:
137
137
 
138
138
  ```sh
139
- npx --yes zero-slop@2.10.1 deslop draft.md --genre professional
139
+ npx --yes zero-slop@2.11.1 deslop draft.md --genre professional
140
140
  ```
141
141
 
142
142
  Use `-` for stdin and `--json` for structured output. `--require-approved` exits nonzero
@@ -254,7 +254,7 @@ stress case took 2.2932 seconds, and learning from an 8,000-word edit took
254
254
  0.1592 seconds. The measurements and machine details are in
255
255
  [`bench/performance-results.json`](bench/performance-results.json).
256
256
 
257
- Across 12 interleaved runs against 2.7.7, we measured 0.71% lower median throughput,
257
+ Across 12 interleaved runs against 2.7.7, we measured 0.08% lower median throughput,
258
258
  within the 5% regression limit. The separate two-way replay used
259
259
  Zero Slop v2.6.0.
260
260
 
package/SKILL.md CHANGED
@@ -2,7 +2,7 @@
2
2
  name: zero-slop
3
3
  license: MIT
4
4
  metadata:
5
- version: "2.10.1"
5
+ version: "2.11.1"
6
6
  author: manavmishra
7
7
  description: Turn drafts into sharp, natural prose or inspect them without rewriting. Zero Slop runs inside the user's existing AI assistant; Claude, GPT, or another compatible model reads and edits in context while local tools point to exact phrases and protect the source. Use when the user asks to humanize or de-slop writing, inspect AI-sounding patterns, fix text that reads like ChatGPT, polish outward-facing prose, draft social or LinkedIn content, or apply a final quality check to prose the agent generated. The workflow preserves facts, voice, and format and learns privately from repeated, reason-labelled human edits.
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.10.1
6
+ npm install --global zero-slop@2.11.1
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,11 +1,13 @@
1
1
  {
2
2
  "name": "zero-slop",
3
- "version": "2.10.1",
3
+ "version": "2.11.1",
4
4
  "description": "Find and fix canned AI writing while preserving the facts, voice, and format.",
5
5
  "mcpServers": {
6
6
  "zero-slop": {
7
7
  "httpUrl": "https://mcp.zero-slop.ai/mcp",
8
- "includeTools": ["deslop"],
8
+ "includeTools": [
9
+ "deslop"
10
+ ],
9
11
  "timeout": 45000
10
12
  }
11
13
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zero-slop",
3
- "version": "2.10.1",
3
+ "version": "2.11.1",
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.10.1",
4
+ "version": "2.11.1",
5
5
  "description": "Find and fix canned AI writing while preserving the facts, voice, and format.",
6
6
  "author": {
7
7
  "name": "Manav Mishra",
@@ -10,5 +10,11 @@
10
10
  "homepage": "https://zero-slop.ai/",
11
11
  "repository": "https://github.com/manavmishra/ZeroSlop",
12
12
  "license": "MIT",
13
- "keywords": ["writing", "editing", "ai-slop", "agent-skill", "mcp"]
13
+ "keywords": [
14
+ "writing",
15
+ "editing",
16
+ "ai-slop",
17
+ "agent-skill",
18
+ "mcp"
19
+ ]
14
20
  }
package/scripts/rescue.py CHANGED
@@ -44,6 +44,13 @@ def rescue_text(text: str) -> str:
44
44
 
45
45
  masked = PROTECTED.sub(mask, original)
46
46
  out = re.sub(r"[\u00a0\u202f]", " ", masked)
47
+ # Drop only a complete introductory clause; "Today" would add event timing.
48
+ # A single unpunctuated line break may only wrap the current sentence.
49
+ out = re.sub(
50
+ r"(^|[.!?][ \t\r\n]+|\r?\n[ \t]*\r?\n[ \t]*)in today['’]s rapidly evolving "
51
+ r"(?:landscape|world),[ \t]+([A-Za-z][A-Za-z0-9_-]*)",
52
+ _without_wrapper, out, flags=re.IGNORECASE,
53
+ )
47
54
  out = re.sub(
48
55
  r"(^|[.!?][ \t]+|\n[ \t]*)(?:it is important to note that|it is worth noting that)"
49
56
  r"[ \t]+([A-Za-z][A-Za-z0-9_-]*)",
@@ -74,7 +81,6 @@ def rescue_text(text: str) -> str:
74
81
  (r"\bi(?:['’]m| am) incredibly excited to (?:share|announce)\b", "I'm sharing"),
75
82
  (r"\bour journey\b", "our work"),
76
83
  (r"\bour transformative journey\b", "our work"),
77
- (r"\bin today'?s rapidly evolving (?:landscape|world)\b", "Today"),
78
84
  (r"\bit is important to note that\b[ \t]*", ""),
79
85
  (r"\bit is worth noting that\b[ \t]*", ""),
80
86
  (r"\bwhat we did not realize was just how deeply it impacted everything downstream\.",