Linter de texto · limpeza com modelo rival

Texto de IA que uma pessoa publicaria

Dá nota de 0 a 5 ao seu texto, aponta cada marca de máquina e pode derrubar o build. Depois um modelo de outra família limpa o rascunho.

Ilustração do SlopMonster, monstro que caça texto de IA
O que é

Um pontuador honesto e um limpador que não corrige a própria prova

Texto de IA tem cheiro: delve, seamless, unlock, "it's not just a tool, it's a journey". O leitor percebe e para de confiar. O SlopMonster acrescenta duas coisas que as outras ferramentas pulam.

📏 Nota de 0 a 5, sem opinião

Cinco grupos de padrões, um ponto cada. Abaixo de 5/5 o comando sai com erro, então funciona como portão de CI. Desenvolvedor chama isso de linter.

🔁 Modelo rival faz a limpeza

Se o Claude escreveu, o GPT limpa. Se o GPT escreveu, o Claude limpa. Um modelo não escuta o próprio sotaque. O script se recusa a mandar o rascunho de volta pra mesma família.

🧾 Nunca inventa prova

Nada de "10.000 clientes felizes" que o negócio não tem. Qualquer número ao lado de substantivo de gente é marcado. Se o número é real, --allow-proof vira aviso.

Como funciona

O ciclo de quatro passos

O pontuador tem a primeira e a última palavra, porque o pontuador é honesto e o modelo é persuasivo. "Quase limpo" é como uma página acaba soando igual a todas as outras páginas de IA da internet.

1 · Pontuar (deslop.py) 2 · Reescrever em 3 passadas 3 · Limpar com modelo rival (cleanse.sh) 4 · Repontuar, só publica em 5/5

Passada 1 · vocabulário

Mata delve, seamless, robust, unlock, elevate, leverage. Troca por uma palavra mais simples, não por sinônimo chique.

Passada 2 · formas

Mata not just X, but Y, a lista de três por reflexo, pilha de travessões, ressalvas empilhadas e o resumo de fechamento que ninguém pediu.

Passada 3 · uma pessoa de volta

Um número específico por afirmação. Frases de tamanhos bem diferentes. Uma aresta: uma contração, um fragmento, uma frase começando com "E".

As 5 regras

O que o pontuador caça

Cai em um grupo e perde um ponto. Quatro grupos tiram o sotaque de IA. O quinto pergunta se a linha vende alguma coisa.

1

Vocabulário de IA

Duas listas. A primeira casa pela raiz: elevate pega elevates e elevating. A segunda casa palavra por palavra, pra não marcar "we craft furniture by hand".

2

Construções de IA

17 formas de frase, não palavras. not just X, but Y, say goodbye to, that's where X comes in, e perguntas que o autor responde sozinho.

3

Cadência de pontuação

Dois travessões dentro de uma janela de 220 caracteres. Ponto e vírgula só acima de um piso proporcional ao tamanho da página.

4

Ritmo de três

faster, smarter, and better. Estreito de propósito: só dispara em três palavras soltas com vírgula de Oxford, ou numa frase curta fechando a oração.

5

Vendas e prova inventada

Número ao lado de substantivo de gente, tipo 10,000+ happy users. Dispara fácil de propósito: um alarme falso custa dez segundos, um erro deixa uma mentira no seu site.

!

Só em inglês

O catálogo é só em inglês. Texto em português recebe 5/5 porque o pontuador não lê a língua, não porque está limpo. A limpeza com modelo rival funciona em qualquer língua.

Pré-requisitos

Python e, se quiser a limpeza, uma CLI de IA

O pontuador é Python puro, biblioteca padrão, sem dependência nenhuma. A limpeza usa a CLI codex ou claude. Sem nenhuma das duas, o script imprime o prompt pra você colar num chat.

Python 3

Qualquer versão 3 recente. O CI do projeto roda em 3.11.

# confere a versão
python3 --version

Clonar o repo

Sem instalação. Os scripts rodam direto da pasta.

git clone https://github.com/inematds/SlopMonster
cd SlopMonster

CLI rival (opcional)

Pra limpeza automática: codex se você escreve com Claude, claude se escreve com GPT.

# uma das duas, conforme a família do rascunho
which codex claude
Guia de uso · passo a passo

Do rascunho ao 5/5

Todos os comandos são reais e rodam da raiz do repo. O exemplo do passo 1 dá 3/5 de propósito.

1

Pontuar um trecho

Passe o texto direto. O pontuador nomeia cada marca e sai com código 1 quando fica abaixo de 5.

python3 tools/deslop.py --text "It's not just a tool, it's a game-changing journey."
# → score 3/5, aponta as duas marcas, exit 1
2

Pontuar uma página ou um markdown

Em HTML ele lê só o que o visitante enxerga. Em markdown, pula trechos de código, blocos cercados e texto riscado, porque literal não é texto de venda.

python3 tools/deslop.py index.html
python3 tools/deslop.py index.html --view hero   # um elemento pelo id
python3 tools/deslop.py README.md
3

Limpar com um modelo rival

O texto limpo sai no stdout, as notas do que mudou saem no stderr. Leia as notas: às vezes o modelo apaga a sua linha de fechamento e só avisa ali.

tools/cleanse.sh rascunho.md > limpo.md 2> notas.txt
# escrevendo com GPT? force o Claude como limpador:
DESLOP_WRITER=gpt tools/cleanse.sh rascunho.md > limpo.md
4

Repontuar, sempre

Um modelo de ponta é ótimo em tirar marcas e bem capaz de colocar outras novas enquanto faz isso. Limpeza sem repontuar é cara ou coroa.

python3 tools/deslop.py --text "$(cat limpo.md)"
# só publica em 5/5
5

Números reais? Libere a regra de prova

Se o número é verdadeiro e você consegue provar, a regra 5 vira aviso e ainda imprime os acertos pra você conferir.

python3 tools/deslop.py index.html --allow-proof
6

Travar o build no CI

O workflow do repo roda os testes e pontua o texto publicado a cada push. Copie pro seu repo e aponte pro arquivo com o seu texto.

cp .github/workflows/slop.yml <seu-repo>/.github/workflows/
# dentro do yml, troque examples/gate-sample.txt pelo seu arquivo
python3 tools/deslop.py --text "$(cat examples/gate-sample.txt)"
7

Usar como skill no Claude Code

Copie a pasta pra skills e chame. O SKILL.md é markdown puro, então serve pro Codex e outros agentes também.

cp -r SlopMonster ~/.claude/skills/slopmonster/
# no Claude Code: /slopmonster, "tira o slop disso", "isso parece IA?"
8

Mexeu numa regex? Rode a regressão

O catálogo casa pela raiz da palavra, e um atalho de stemming errado deixa o pontuador meio cego em silêncio. A suíte é o que pega isso.

python3 tools/test_deslop.py
bash tools/test_cleanse.sh
Exemplos

Antes e depois de verdade

Linhas reais do site da Ridgeline Roofing e uma rodada sem edição na home do Jasper.ai, que foi de 3/5 pra 5/5 numa passada, com sentido intacto e nada inventado. Registros completos em examples/ no repo.

Regra 1, vocabulário de IA
We leverage industry-leading materials to deliver unparalleled protection.
We source materials from manufacturers who test for wind, hail and sun.
Regra 2, construções de IA
Not just a roof, but peace of mind.
A written scope and a fixed number before anyone climbs a ladder.
Regra 5, prova inventada
Loved by 10,000+ happy homeowners.
Roofing, and only roofing, since 2001. Uma data não tem como discutir.
Os cinco mascotes do SlopMonster, um por regra
Os cinco mascotes, um por regra. O README do repo passa no próprio pontuador com 5/5.