SkillAgentSearch skills...

sloptotal

Open-source AI text detector and ChatGPT detector: 23 engines, one calibrated score, every number measured. CLI, MCP server and GitHub Action. Self-hosted, runs on CPU.

Install / Use

claude mcp add pablocaeg -- npx -y github:pablocaeg/sloptotal

If the server publishes to npm under a different name, use that package instead — check the repo README.

About this skill
🔌

MCP Server

Model Context Protocol server

Quality Score

87/100

Supported Platforms

Claude Code
Claude Desktop

Our assessment of sloptotal

sloptotal scores 87/100 on our quality scale, 404th of 932 AI & Machine Learning skills we index (top 44%).

Its MCP Server is 20 KB long, well organised into 22 sections with 8 code examples: a thorough specification that gives an agent plenty to work with.

It has 43 GitHub stars, so there is little community track record yet; judge it on its content.

Substance
30/30
Structure
20/20
Description
15/15
Adoption
7/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated today, so sloptotal is actively maintained.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 97/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

sloptotal compared with similar skills

All 4 of these similar skills score higher than sloptotal; compare them before choosing.

SkillScoreStarsUpdatedFormat
sloptotal (this skill)by pablocaeg8743todayMCP Server
claude-memby thedotmack10095.1ktodayCLAUDE.md
Agent-Reachby Panniantong10087.5k16d agoCLAUDE.md
Understand-Anythingby Egonex-AI10084.9k3d agoCLAUDE.md
headroomby headroomlabs-ai10074.2ktodayCLAUDE.md

Frequently asked questions

How do I install sloptotal?
Run claude mcp add pablocaeg -- npx -y github:pablocaeg/sloptotal. The install tabs above show the steps for each supported agent.
Which AI agents does sloptotal work with?
It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
Is sloptotal safe to use?
It is MIT-licensed and scores 97/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is sloptotal still maintained?
The repository was last updated today, so sloptotal is actively maintained.
<p align="center"> <a href="https://sloptotal.com"><img src="docs/assets/banner.jpg" alt="SlopTotal: open-source AI text detector that runs 23 detection engines on your own hardware" width="100%"></a> </p> <p align="center"> <a href="https://github.com/pablocaeg/sloptotal/actions/workflows/ci.yml?query=branch%3Amaster"><img src="https://img.shields.io/github/actions/workflow/status/pablocaeg/sloptotal/ci.yml?branch=master&event=push&label=CI" alt="CI status"></a> <a href="https://github.com/pablocaeg/sloptotal/releases"><img src="https://img.shields.io/github/v/release/pablocaeg/sloptotal?color=b5282e" alt="Latest release"></a> <a href="https://github.com/pablocaeg/sloptotal/pkgs/container/sloptotal"><img src="https://img.shields.io/badge/docker-ghcr.io-1a1a18?logo=docker&logoColor=white" alt="Docker image"></a> <img src="https://img.shields.io/badge/python-3.10%2B-3d3b37" alt="Python 3.10+"> <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-2d8a4e" alt="MIT license"></a> <a href="https://sloptotal.com"><img src="https://img.shields.io/badge/live%20demo-sloptotal.com-b5282e" alt="Live demo"></a> </p>

SlopTotal

VirusTotal for AI-generated text. Paste text, drop in a PDF or Word file, or give it a URL. Twenty-three independent AI detectors (neural classifiers, statistical tests and linguistic heuristics) score it in parallel, and a calibrated ensemble turns their votes into one verdict you can inspect engine by engine. It runs on your own CPU, so nothing you scan leaves your machine.

It is a free, self-hosted, open-source alternative to hosted AI content detectors such as GPTZero, Originality.ai, Copyleaks, ZeroGPT and Humalingo. Instead of one number from one model, it shows you every model's opinion, and it publishes how accurate that is, failures included.

<p align="center"> <img src="docs/assets/demo.gif" alt="Pasting AI-written text into SlopTotal and watching 23 detection engines report in real time" width="820"> </p>

Try it: sloptotal.com · Run it: docker run -p 8000:8000 ghcr.io/pablocaeg/sloptotal

Features

  • 23 detection engines, one calibrated score. DeBERTa and RoBERTa classifiers, Binoculars, Fast-DetectGPT, GLTR, perplexity and burstiness tests, and stock-phrase heuristics. Results stream in as each engine finishes.
  • Text, URLs and documents. Paste text, scan a web page (main content is extracted automatically), or upload .pdf, .docx, .txt or .md.
  • Site check: was this website vibe-coded? Finds the fingerprints that Lovable, v0, Bolt, Base44, Replit and Same leave in the sites they deploy, and shows the evidence for each one. How it works
  • Per-paragraph heat map through the API, to see which parts read as AI.
  • Measured, not claimed. Every accuracy number below comes with the corpus, the harness and the raw per-sample scores.
  • Private by default. Self-hosted, no third-party AI APIs, no tracking, reports deleted after 30 days.
  • CPU-only is fine. Auto-detects your hardware; 4 GB RAM is enough for the lite profile, a GPU is optional.
  • JSON API and a Chrome extension that marks AI-looking results in Google Search and LinkedIn.

Measured accuracy

Most detectors publish an accuracy figure without saying what it was measured on. These numbers, the harness that produced them and the raw per-sample results are all in tests/eval/.

Two corpora, deliberately:

| Corpus | What | Size | |---|---|---| | Multi-domain | RAID: news, book prose, poetry, academic abstracts. AI from GPT-4, ChatGPT, Llama, Mistral, Cohere, GPT-3 | 110 (40 human, 70 AI) | | Literary control | Project Gutenberg prose published 1532-1915 -- Machiavelli, Austen, Melville, Kafka | 26 (all human) |

The second exists because a high score there cannot be anything but an error: the writing predates language models by a century or more. Optimising on the first corpus alone produces a threshold that mislabels literature.

| | Result | |---|---| | Overall AUC | 0.974 | | AI reaching "Suspicious" or above | 90% | | Human text wrongly called "Likely AI" | 1 of 66 | | Literary passages flagged | 0 of 26 |

Re-measured in September 2026 on a fresh RAID sample (180 texts) with upgraded dependencies: AUC 0.979, 1 of 40 human texts called "Likely AI", 0 of 26 literary passages flagged.

What does not work. Short text is unreliable below roughly 80 words and settles from about 200. Hand-edited AI loses fingerprints with every rewriting pass. Source code is outside what these engines do: in testing they never falsely accused human code, and never caught machine-written code either -- so we do not claim they can.

The failures are published too, including three engines found scoring backwards and two loading a randomly initialised network while carrying real ensemble weight. Read them at sloptotal.com/detect/ai-detector-benchmark/ and sloptotal.com/detect/ai-detector-false-positives/.

Quick start

Docker (fastest)

docker run -p 8000:8000 -v sloptotal-models:/app/models ghcr.io/pablocaeg/sloptotal

Open http://localhost:8000. The first scan downloads about 2 GB of models into the sloptotal-models volume, so later starts are quick. To build from source instead, run docker compose -f docker/docker-compose.yml up.

From source

Requires Python 3.10+ (macOS ships 3.9, which is too old).

git clone https://github.com/pablocaeg/sloptotal.git
cd sloptotal
python3.11 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
./scripts/start.sh    # or: uvicorn app.main:app --port 8000

Check that every engine loads and scores, end to end:

python scripts/smoke_test.py          # against http://localhost:8000

Site check: detect sites built with AI app builders

<p align="center"> <img src="docs/assets/site-check.jpg" alt="SlopTotal Site check identifying a website built with Lovable from its asset paths and scripts" width="760"> </p>

"Is this website vibe-coded?" checkers mostly score style (Tailwind class counts, missing security headers, buzzwords) and turn it into a percentage. Hand-written sites share all of those traits. SlopTotal looks only for markers the builders themselves leave in what they deploy, each one confirmed on live sites or in the builders' own templates:

| Builder | Fingerprints | |---|---| | Lovable | gptengineer.js runtime, /lovable-uploads/ assets, the Lovable badge, /~flock.js, *.lovable.app | | v0 (Vercel) | <meta name="generator" content="v0.app"> from v0's layout template, *.vusercontent.net | | Bolt | X-Powered-By: Bolt.new header, bolt.new/badge.js, *.bolt.host | | Base44 | app.base44.com platform calls, base44_access_token, *.base44.app | | Replit | Replit Agent dev banner, Replit badge, *.replit.app | | Same | assets served from same-assets.com |

A site with no marker may still have been written with AI: code exported from these tools and hosted elsewhere, or written in an AI editor, carries no fingerprint. So the result is evidence, not a probability. The page's copy is scored separately by the text engines.

curl -X POST http://localhost:8000/api/scan/site \
  -H "Content-Type: application/json" -d '{"url": "example.com"}'

API

| Endpoint | Method | What it does | Typical latency (CPU) | |---|---|---|---| | /api/analyze | POST | Full 23-engine report for text or url | 2-8 s | | /api/quick-score | POST | 4 classifiers plus heuristics | 0.1-0.5 s | | /api/paragraph-score | POST | Score per paragraph (heat map) | 1-3 s | | /api/scan/site | POST | AI app builder fingerprints plus a copy score | 1-3 s | | /api/extract | POST | Text from an uploaded .pdf / .docx / .txt (multipart file) | < 1 s | | /api/scan/snippets | POST | Batch of 1-30 short snippets | ~0.5 s | | /api/scan/urls | POST | Batch of 1-10 URLs, page-type aware | 1-5 s | | /api/engines | GET | Engine metadata | instant | | /api/report/{id} | GET | A stored report | instant | | /api/report/{id}/feedback | POST | Record who actually wrote the text: {"label": "human" \| "ai" \| "mixed" \| "unsure"} | instant | | /api/queue/status | GET | Queue capacity | instant |

curl -X POST http://localhost:8000/api/analyze \
  -H "Content-Type: application/json" \
  -d '{"text": "Your text to analyze here..."}'

From Python, examples/python_client.py analyses a text, prints the five engines scoring highest and runs a site check, waiting in the queue when the server is busy:

python examples/python_client.py "Paste at least 50 characters of text here..." example.com

The response lists every engine with its score, verdict and a plain-language detail line, plus overall_score (0-100) and overall_verdict.

Detection Engines

Every engine links to its page on sloptotal.com, which carries its measured scores against both corpora. AUC below is the probability the engine ranks a random AI passage above a random human one: 1.0 is perfect, 0.5 is a coin flip.

Neural Classifiers

| Engine | Model | AUC | Notes | |---|---|---|---| | Desklib DeBERTa | DeBERTa-v3-large (435M) | 1.000 | Strongest separation in our own tests | | SuperAnnotate | RoBERTa-large (355M) | 0.989 | No measurable bias against archaic prose | | E5-Small | E5 + LoRA (33M) | 0.999 | Matches far larger models at 33M params | | TMR Detector | RoBERTa-base (125M) | 1.000 | RAID-trained, so RAID scores flatter it | | BERT-tiny RAID | BERT-tiny (4.4M) | 1.000 | Answers in milliseconds | | ReMoDetect | DeBERTa (184M) | 0.941 | Targets RLHF-aligned LLMs | | ChatGPT Detector | RoBERTa-base (125M) | 0.829 | ChatGPT-specific | | Fakespot | RoBERTa-base (125M) | 0.999 | Accurate on modern text, but +0.533 bias on pre-1920 prose | | OpenAI Detector | RoBERTa-base (125M) | 0.771 | The 2019 GPT-2 detector; weaker on modern LLMs |

Statistical Methods

| Engine | Method | AUC | |---|---|---| | Log-Rank | Average log-rank under GPT-2 | 0.909 | | GLTR | Token rank distribution | 0.904 | | Perplexity | GPT-2 perplexity scoring | 0.901 | | Cross-Perplexity | Two-model perplexity comparison | 0.891 | | Fast-DetectGPT | Conditional probability curvature | 0.890 | | Binoculars | Cross-entropy ratio between two LMs | 0.836 | | DivEye | Surprisal diversity | 0.730 |

Linguistic Heuristics

| Engine | Signal | AUC | |---|---|---| | Structural Analysis | Em-dash usage, sentence uniformity | 0.836 | | Linguistic Markers | AI-preferred phrases ("delve", "tapestry"...) | 0.713 | | Formulaic Patterns | Cliche openings and closings | 0.698 | | Vocabulary Richness | Type-token ratio, hapax legomena | 0.583 | | [Readability Uniformity](https://sloptotal.com/engines/

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars43
CategoryAI
Updated10h ago
Forks8

Languages

Python

Trust signals

97/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

1 info