Skip to content

Commit a6013e2

Browse files
Paulina JanowskaGniewislawa AI / Hermes
andcommitted
ai-slop-detect 0.1.0 initial release
Free CLI to find LLM-generated text patterns. Pattern catalog: 43 English phrases, 29 Polish phrases, 7 character tells (em-dash, curly quotes, etc), 13 decorative emoji, 7 weak openers. Deterministic, zero dependencies, MIT. Built from real production use editing AI-drafted Polish FB posts and English README files. Score bands: STRONG_AI (70+), LIKELY_AI (40-69), TRACES (15-39), HUMAN_LIKE (<15). CI gate via --fail-on N. Tests 5/5 pass. Co-authored-by: Gniewislawa AI / Hermes <gniewka@antydizajn.pl>
0 parents  commit a6013e2

7 files changed

Lines changed: 565 additions & 0 deletions

File tree

.gitignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
__pycache__/
2+
*.py[cod]
3+
*.egg-info/
4+
*.egg
5+
build/
6+
dist/
7+
.venv/
8+
.pytest_cache/
9+
.coverage
10+
.DS_Store

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 Paulina Janowska / Gniewislawa AI
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
# ai-slop-detect
2+
3+
Find LLM-generated text patterns in markdown, prose, blog posts, README files, and code comments. Free CLI, zero dependencies, deterministic. No API key required.
4+
5+
Built from real production use editing AI-drafted Polish FB posts and English README files. Detects 70+ patterns across EN and PL, character-level typographic tells (em-dash, curly quotes, decorative emoji), and weak openers ChatGPT and Claude overuse.
6+
7+
## install
8+
9+
```bash
10+
pip install ai-slop-detect
11+
```
12+
13+
Or run from source:
14+
15+
```bash
16+
git clone https://github.com/antydizajn/ai-slop-detect
17+
cd ai-slop-detect
18+
python -m ai_slop_detect README.md
19+
```
20+
21+
## use
22+
23+
Scan a single file:
24+
25+
```bash
26+
ai-slop README.md
27+
```
28+
29+
Scan a directory (defaults to md/markdown/mdx/txt/html/rst):
30+
31+
```bash
32+
ai-slop docs/
33+
```
34+
35+
Pipe text from stdin:
36+
37+
```bash
38+
cat draft.md | ai-slop -
39+
```
40+
41+
JSON output for tooling:
42+
43+
```bash
44+
ai-slop docs/ --json > slop_report.json
45+
```
46+
47+
CI gate — exit 2 if any file scores 50 or higher:
48+
49+
```bash
50+
ai-slop docs/ --fail-on 50 --quiet
51+
```
52+
53+
## output
54+
55+
```
56+
== README.md ==
57+
verdict: LIKELY_AI (ai_score=47/100)
58+
stats: 12 hits across 320 words (3.75 per 100w)
59+
by_kind: char:em_dash=4, opener=2, phrase=6
60+
61+
hits:
62+
3:18 [phrase] 'in conclusion' | In conclusion, this is a great project.
63+
5:42 [char:em_dash] '\u2014' | This tool — built from scratch — finds AI tells.
64+
12:1 [opener] 'Certainly,' | Certainly, here is the implementation:
65+
```
66+
67+
Score bands:
68+
69+
- `STRONG_AI` (70+): unmistakably AI, rewrite from scratch
70+
- `LIKELY_AI` (40-69): heavy editing needed
71+
- `TRACES` (15-39): polish remaining tells
72+
- `HUMAN_LIKE` (<15): ship it
73+
74+
## what it catches
75+
76+
**English phrases** (43 patterns): "let me know if", "as an AI", "in the realm of", "delve into", "harness the power", "cutting-edge", "transform your workflow", "in today's digital landscape", and more.
77+
78+
**Polish phrases** (29 patterns): "ponadto", "warto zauważyć", "rewolucyjny", "kluczowym aspektem", "mam nadzieję, że ten post", and more.
79+
80+
**Character tells**: em-dash (—), en-dash (–), curly quotes (" " '), horizontal ellipsis (…), non-breaking spaces.
81+
82+
**Decorative emoji**: 🚀 ✨ 💡 💪 🎉 🔥 🌟 🎊 🌈 💫 ⭐ 🎯 💯 (the marketing-AI set).
83+
84+
**Weak openers**: "Certainly,", "Of course,", "Absolutely,", "Great question,", "I'd be happy to", "That's a fantastic".
85+
86+
## why
87+
88+
LLM text has a fingerprint. Em-dash density, "delve" frequency, opener cadence, decorative emoji clusters. If you publish text that scores LIKELY_AI on this tool, readers (and other tools) can tell. This linter gives you a fast pre-publish gate.
89+
90+
Built because Paulina, the author, needed it for her own Polish FB posts (Gniewislawa AI / Hermes). The PL pattern catalog is tested against real production drafts.
91+
92+
## pricing
93+
94+
The CLI is free and MIT-licensed. If you want **AI-powered rewrite suggestions** (BYO Claude/OpenAI key) or **bulk repo scan with HTML report**, those land as a paid premium tier later. Free tier covers 100% of detection.
95+
96+
If this tool saves you 30 minutes of editing, consider tipping:
97+
98+
- BLIK / Polish bank: `793 093 721`
99+
- Revolut: `@paulinajeoo` (or `revolut.me/paulinajeoo`)
100+
- PayPal: coming soon
101+
102+
## roadmap
103+
104+
- HTML report with line highlighting
105+
- Per-language profile flags (`--lang en`, `--lang pl`, `--lang both`)
106+
- Pre-commit hook template
107+
- GitHub Action wrapper
108+
- Configurable custom patterns via `.aisloprc.toml`
109+
110+
## contributing
111+
112+
Pattern PRs welcome. New phrase? Open an issue with three real examples and the source LLM. We add patterns that catch real AI text without flagging human writing.
113+
114+
## license
115+
116+
MIT

0 commit comments

Comments
 (0)