zero-slop 2.5.8 → 2.6.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 +103 -121
- package/SKILL.md +160 -53
- package/data/corpus/performed-register/README.md +14 -4
- package/data/corpus/performed-register/judgment/bare-subject-swap.txt +1 -0
- package/data/corpus/performed-register/mechanical/candor-detail.txt +1 -0
- package/data/corpus/performed-register/mechanical/isocolon-adapt.txt +1 -0
- package/data/corpus/performed-register/mechanical/no-x-had-to.txt +1 -0
- package/data/corpus/performed-register/mechanical/this-is-what-looks-like.txt +1 -0
- package/data/learned-log.md +53 -0
- package/data/learned.json +70 -0
- package/data/patterns.json +29 -2
- package/package.json +1 -1
- package/references/copy-desk.md +6 -4
- package/references/evidence.md +22 -0
- package/references/fresh-eyes.md +62 -0
- package/references/overcorrection.md +5 -0
- package/references/readalong.md +22 -3
- package/references/tells.md +32 -7
- package/scripts/slopscore.py +313 -19
- /package/data/corpus/performed-register/{judgment → mechanical}/verdict-arithmetic.txt +0 -0
package/README.md
CHANGED
|
@@ -5,29 +5,24 @@
|
|
|
5
5
|
<img alt="tests" src="https://img.shields.io/badge/tests-passing-227B5B">
|
|
6
6
|
<img alt="dependencies" src="https://img.shields.io/badge/runtime%20dependencies-0-227B5B">
|
|
7
7
|
<img alt="privacy" src="https://img.shields.io/badge/learning-private-227B5B">
|
|
8
|
-
<img alt="version" src="https://img.shields.io/badge/version-2.
|
|
9
|
-
</p>
|
|
10
|
-
|
|
11
|
-
<p align="center">
|
|
12
|
-
<strong><a href="https://zero-slop.ai">zero-slop.ai</a></strong> · examples, benchmarks, and blog
|
|
8
|
+
<img alt="version" src="https://img.shields.io/badge/version-2.6.1-72528F">
|
|
13
9
|
</p>
|
|
14
10
|
|
|
15
11
|
**Less slop, more pop.**
|
|
16
12
|
|
|
17
|
-
Zero Slop is an Agent Skill, not an AI model. Claude, GPT, or another compatible
|
|
18
|
-
edits
|
|
19
|
-
voice, and format.
|
|
13
|
+
Zero Slop is an Agent Skill, not an AI model. Claude, GPT, or another compatible
|
|
14
|
+
model edits the draft; Zero Slop supplies the workflow and local source checks.
|
|
20
15
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
scored 9 to 21; unedited AI drafts averaged 77. These are
|
|
16
|
+
Its 0-to-100 writing score points to flagged phrases, flat rhythm, dense passages,
|
|
17
|
+
and distracting formatting, not authorship. In the references,
|
|
18
|
+
human writing scored from 9 to 21; unedited AI drafts averaged 77. These are not
|
|
24
19
|
universal cutoffs.
|
|
25
20
|
|
|
26
21
|

|
|
27
22
|
|
|
28
23
|
## Install Zero Slop
|
|
29
24
|
|
|
30
|
-
Paste this into Claude Code, Codex, Cursor, OpenCode, Warp, Zed, or another
|
|
25
|
+
Paste this prompt into Claude Code, Codex, Cursor, OpenCode, Warp, Zed, or another
|
|
31
26
|
Agent Skills-compatible assistant:
|
|
32
27
|
|
|
33
28
|
```text
|
|
@@ -36,13 +31,13 @@ this agent.
|
|
|
36
31
|
|
|
37
32
|
1. Find active installations. Report each path, version, and method. Do not duplicate
|
|
38
33
|
or remove one without asking.
|
|
39
|
-
2.
|
|
34
|
+
2. Keep the current install method when updating. In Codex, use $skill-installer for
|
|
40
35
|
`skills/zero-slop`; in Claude Code or Cowork, use the plugin marketplace. Otherwise
|
|
41
|
-
use `npx skills add manavmishra/ZeroSlop --global`
|
|
42
|
-
`npx skills update zero-slop --global`
|
|
36
|
+
use `npx skills add manavmishra/ZeroSlop --global` for a first install or
|
|
37
|
+
`npx skills update zero-slop --global` for an existing CLI install.
|
|
43
38
|
3. Preserve ZERO_SLOP_HOME (default: ~/.zero-slop) and its private data.
|
|
44
|
-
4. Verify the version. When Python is available, run
|
|
45
|
-
`python3 scripts/calibrate.py --selftest
|
|
39
|
+
4. Verify the installed version. When Python is available, run
|
|
40
|
+
`python3 scripts/calibrate.py --selftest` from the installed skill directory.
|
|
46
41
|
5. Report the path, method, version, validation result, and restart requirement.
|
|
47
42
|
|
|
48
43
|
Do not modify the current project or unrelated configuration. Ask before falling
|
|
@@ -55,139 +50,126 @@ Direct terminal install:
|
|
|
55
50
|
npx skills add manavmishra/ZeroSlop --global
|
|
56
51
|
```
|
|
57
52
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
users can download the release ZIP.
|
|
53
|
+
ChatGPT users can download [`dist/zero-slop-single-file.md`](dist/zero-slop-single-file.md);
|
|
54
|
+
Claude.ai users can use the ZIP.
|
|
61
55
|
|
|
62
|
-
## How
|
|
56
|
+
## How it works
|
|
63
57
|
|
|
64
|
-

|
|
65
59
|
|
|
66
|
-
|
|
67
|
-
|
|
60
|
+
Eight roles form one workflow. They are jobs, not separate models. Your AI assistant
|
|
61
|
+
handles editorial judgment; local Python tools run repeatable checks.
|
|
68
62
|
|
|
69
|
-
| Role | Who does it | What
|
|
63
|
+
| Role | Who does it | What happens |
|
|
70
64
|
|---|---|---|
|
|
71
|
-
| 1. Scorer | Local tools | Finds exact
|
|
72
|
-
| 2. Interpreter | Your AI assistant | Reads claims,
|
|
73
|
-
| 3. Rewriter | Your AI assistant | Removes stock
|
|
74
|
-
| 4. Fact gate | Local tools | Rejects
|
|
75
|
-
| 5. Copy desk | Fresh AI pass | Corrects grammar, spelling, usage, and consistency. |
|
|
65
|
+
| 1. Scorer | Local tools | Finds the exact wording, rhythm, readability, and formatting problems that raised the writing score. |
|
|
66
|
+
| 2. Interpreter | Your AI assistant | Reads the claims, purpose, audience, structure, and voice before changing anything. |
|
|
67
|
+
| 3. Rewriter | Your AI assistant | Removes stock language and rebuilds order, rhythm, and tone without inventing detail. |
|
|
68
|
+
| 4. Fact gate | Local tools | Rejects a version that changes names, numbers, quotations, links, code, tables, paths, or document structure. |
|
|
69
|
+
| 5. Copy desk | Fresh AI pass | Corrects grammar, spelling, usage, and consistency in the actual deliverable. |
|
|
76
70
|
| 6. Read-aloud editor | Fresh AI pass | Fixes stumbles, repetition, weak transitions, and awkward flow. |
|
|
77
|
-
| 7. Verifier | Local tools and your AI assistant | Compares the
|
|
78
|
-
|
|
79
|
-
### Why separate the work?
|
|
71
|
+
| 7. Verifier | Local tools and your AI assistant | Compares the text with the source for facts, meaning, qualifiers, voice, format, and structure. |
|
|
72
|
+
| 8. Fresh-eyes finalizer | New AI pass | Reads the verified text as a first-time reader and applies only safe last-mile polish. Any final polish restarts the final checks; the same text must return unchanged before release. |
|
|
80
73
|
|
|
81
|
-
Research supports the checks, not the number
|
|
74
|
+
Research supports the checks, not the number eight. Studies find
|
|
82
75
|
[predictable wording](https://arxiv.org/abs/2301.11305) and
|
|
83
|
-
[
|
|
84
|
-
can [misclassify non-native English](https://arxiv.org/abs/2304.02819).
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
[research notes](references/evidence.md) cover the rationale and limits.
|
|
89
|
-
|
|
90
|
-
## Private learning from writer edits
|
|
91
|
-
|
|
92
|
-
Learning requires the assistant's version and the writer's final version.
|
|
93
|
-
Zero Slop never monitors files, browsers, or publishing systems.
|
|
94
|
-
|
|
95
|
-
A named profile can exempt existing watchlist words in your sample. It applies only
|
|
96
|
-
when selected by name and does not learn cadence, tone, or a complete writing style.
|
|
76
|
+
[overused vocabulary](https://arxiv.org/abs/2406.07016) in machine text, while
|
|
77
|
+
authorship detectors can [misclassify non-native English](https://arxiv.org/abs/2304.02819).
|
|
78
|
+
Zero Slop combines language checks with contextual editing. Any finalizer change
|
|
79
|
+
repeats the copy desk, read-aloud pass, verification, and fresh-eyes review. Local
|
|
80
|
+
tools use only Python's standard library.
|
|
97
81
|
|
|
98
|
-
|
|
99
|
-
single word needs five. New rules must keep known-human samples clean. Repeated fixes
|
|
100
|
-
guide later edits; kept phrases can quiet a rule, and old rules fade. Private state
|
|
101
|
-
under `$ZERO_SLOP_HOME` never retrains the AI model.
|
|
82
|
+
## Private learning from your edits
|
|
102
83
|
|
|
103
|
-
|
|
84
|
+
Learning starts only when you provide both the assistant's version and the version
|
|
85
|
+
you kept. Zero Slop never watches files, browsers, or publishing systems.
|
|
104
86
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
87
|
+
A phrase needs removal from three unrelated pieces before it becomes a private rule;
|
|
88
|
+
a single word needs five. Each must be new and safe on known-human text. Repeated
|
|
89
|
+
fixes guide later edits; kept phrases can quiet a rule. Private data lives under
|
|
90
|
+
`$ZERO_SLOP_HOME`. This is human-in-the-loop online learning, not neural training or
|
|
91
|
+
RLHF, and it never retrains Claude, GPT, or another model.
|
|
110
92
|
|
|
111
|
-
|
|
93
|
+
A profile can exempt existing watchlist words when selected by name. It does not
|
|
94
|
+
learn cadence, tone, or a complete writing style.
|
|
112
95
|
|
|
113
|
-
|
|
114
|
-
MIT-licensed RAID benchmark. We scored 8,000 pinned rows; 7,627 abstracts
|
|
115
|
-
remained after excluding failed or empty generations.
|
|
116
|
-
|
|
117
|
-
| Model | Texts scored | Mean writing score ↓ | At or above 25 |
|
|
118
|
-
|---|---:|---:|---:|
|
|
119
|
-
| DeepSeek V3 | 1,995 | 14.5 | 10.1% |
|
|
120
|
-
| Gemini 3.1 Pro | 1,998 | 17.0 | 18.2% |
|
|
121
|
-
| Gemma 3 27B | 1,634 | 21.6 | 30.4% |
|
|
122
|
-
| Llama 3.3 70B | 2,000 | 25.5 | 41.7% |
|
|
123
|
-
| **Overall** | **7,627** | **19.6** | **24.8%** |
|
|
96
|
+
## What v2.6.1 changes
|
|
124
97
|
|
|
125
|
-
|
|
98
|
+
Four narrow checks now catch reasoning artifacts, unsupported novelty, emotional
|
|
99
|
+
flatness, and repetitive acknowledgments that scored clear in v2.5.10. All 114 frozen
|
|
100
|
+
document scores stayed unchanged, all 18 human controls stayed clear, and the four
|
|
101
|
+
new cases moved from 9.5 to 30.7–65.1. Median throughput was 0.03% lower in the
|
|
102
|
+
12-run comparison, a small local timing difference rather than a speed claim.
|
|
126
103
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
lowered the score in 52.2% of pairs; Beemo lacks quality labels.
|
|
104
|
+
The fresh-eyes role changes editing, not the local meter. It reads the verified copy
|
|
105
|
+
as a first-time reader; any correction restarts every final check. v2.6.1 also
|
|
106
|
+
matched the prior 84.2% result on the 38-item editorial panel.
|
|
131
107
|
|
|
132
|
-
###
|
|
108
|
+
### Fresh same-model editing replay
|
|
133
109
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
110
|
+
We reran Zero Slop, [avoid-ai-writing](https://github.com/conorbronsdon/avoid-ai-writing),
|
|
111
|
+
[no-ai-slop](https://github.com/petergyang/no-ai-slop), and
|
|
112
|
+
[humanizer](https://github.com/blader/humanizer) from scratch on the same 18 obvious
|
|
113
|
+
drafts. Every workflow used GPT-5.4, high reasoning, batches of three, and its pinned
|
|
114
|
+
instruction file.
|
|
137
115
|
|
|
138
|
-
| Method | Mean writing score ↓ | Passed all checks | Important details kept | Average length change |
|
|
116
|
+
| Method | Mean writing score ↓ | Passed all Zero Slop checks | Important details kept | Average length change |
|
|
139
117
|
|---|---:|---:|---:|---:|
|
|
140
118
|
| Original drafts | 76.3 | 0/18 | — | — |
|
|
141
|
-
| Zero Slop |
|
|
142
|
-
|
|
|
143
|
-
|
|
|
144
|
-
|
|
|
145
|
-
| de-slop | 52.3 | 6/18 | 18/18 | -18.5% |
|
|
119
|
+
| Zero Slop | 12.8 | 18/18 | 18/18 | -8.9% |
|
|
120
|
+
| avoid-ai-writing | 23.3 | 15/18 | 18/18 | -14.6% |
|
|
121
|
+
| no-ai-slop | 28.4 | 12/18 | 17/18 | -13.7% |
|
|
122
|
+
| humanizer | 35.4 | 9/18 | 17/18 | -7.2% |
|
|
146
123
|
|
|
147
|
-

|
|
148
125
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
126
|
+
Those are Zero Slop's checks, so we also ran a two-pass, method-hidden comparison
|
|
127
|
+
against the pinned incumbent. The GPT-5.4 reviewer favored Zero Slop on 13 drafts
|
|
128
|
+
and avoid-ai-writing on 3; 2 were unresolved. The passes agreed on 16 of 18 winners.
|
|
129
|
+
Zero Slop's source check passed 18/18 of its rewrites and 16/18 incumbent rewrites.
|
|
130
|
+
Its mean writing score was 17.8 versus 17.0, so it did not win every measure.
|
|
153
131
|
|
|
154
|
-
|
|
132
|
+

|
|
155
133
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
throughput than v2.5.7. The optimization produced the same complete result as v2.5.7
|
|
160
|
-
on all 280 tracked documents. An 8,000-word learning pass took 0.1589 seconds. Time
|
|
161
|
-
spent by the AI assistant is excluded.
|
|
134
|
+
This is a small LLM-reviewed regression study, not independent human field accuracy
|
|
135
|
+
or a universal ranking. The packets, mappings, judgments, hashes, and limits are in
|
|
136
|
+
[`bench/incumbent-blind-replay/`](bench/incumbent-blind-replay/).
|
|
162
137
|
|
|
163
|
-
|
|
138
|
+
### Current-model and speed checks
|
|
164
139
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
[de-slop](https://github.com/isatimur/de-slop), and
|
|
168
|
-
[stop-slop](https://github.com/hardikpandya/stop-slop), and draws on
|
|
169
|
-
[unslop-text](https://github.com/JCarterJohnson/vibecoded-design-tells/tree/main/unslop-ai-text)
|
|
170
|
-
research. It adds a local writing score,
|
|
171
|
-
fact protection, separate editorial passes, private learning, and release tests.
|
|
140
|
+
The pinned [RAID+](https://huggingface.co/datasets/markstanl/RAID-Plus) sample yielded
|
|
141
|
+
7,627 usable generations:
|
|
172
142
|
|
|
173
|
-
|
|
174
|
-
|
|
143
|
+
| Model | Texts scored | Mean writing score ↓ | At or above 25 |
|
|
144
|
+
|---|---:|---:|---:|
|
|
145
|
+
| DeepSeek V3 | 1,995 | 14.5 | 10.1% |
|
|
146
|
+
| Gemini 3.1 Pro | 1,998 | 17.0 | 18.2% |
|
|
147
|
+
| Gemma 3 27B | 1,634 | 21.6 | 30.4% |
|
|
148
|
+
| Llama 3.3 70B | 2,000 | 25.5 | 41.7% |
|
|
175
149
|
|
|
176
|
-
|
|
150
|
+
RAID+ records model origin, not editorial quality. In Beemo, raw model responses
|
|
151
|
+
averaged 30.2, expert edits 25.3, and human answers 20.0; neither dataset has quality
|
|
152
|
+
labels.
|
|
177
153
|
|
|
178
|
-
|
|
154
|
+
On one Apple silicon Mac, the local checker processed 1,000 documents in 1.9958
|
|
155
|
+
seconds, or 501.1 per second. A 15,201-word document took 0.3223 seconds; the slowest
|
|
156
|
+
stress case took 2.4438 seconds. An 8,000-word learning pass took 0.1627 seconds.
|
|
157
|
+
These measurements exclude the AI assistant's editing time and are not service-level
|
|
158
|
+
guarantees.
|
|
179
159
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
```
|
|
160
|
+
## What Zero Slop adds
|
|
161
|
+
|
|
162
|
+
Zero Slop builds on no-ai-slop, humanizer, de-slop, stop-slop, unslop-text, and
|
|
163
|
+
avoid-ai-writing. It adds a writing score, source protection, separate editorial
|
|
164
|
+
passes, private learning, portfolio analysis, and release tests. The chart records
|
|
165
|
+
documented features, not which tool writes better.
|
|
166
|
+
|
|
167
|
+

|
|
189
168
|
|
|
190
|
-
|
|
191
|
-
|
|
169
|
+
Reproduce the shipped checks with `python3 tests/test_all.py`,
|
|
170
|
+
`python3 scripts/calibrate.py --selftest`, and `python3 bench/make_charts.py --check`.
|
|
171
|
+
The benchmark registry, source pins, scripts, hashes, and limitations are documented
|
|
172
|
+
in [`bench/README.md`](bench/README.md).
|
|
192
173
|
|
|
193
|
-
Released under the [MIT License](LICENSE)
|
|
174
|
+
Released under the [MIT License](LICENSE), which permits commercial and private use,
|
|
175
|
+
modification, and redistribution under its terms.
|