Lab
unslopf
Feed it markdown, URLs, or a sitemap. It profiles 2-to-4-word phrases, drops domain nouns and grammar glue, and returns a short list of phrases that already show up too often — a negative prompt so the next draft does not sound like the last ten.
Negative keywords
The list will show up here.
Limits: 12 URLs, 80000 characters per document, 10 / 10 min per IP. Nothing is stored. Private hosts are rejected.
The honest part
This is frequency, not taste. A phrase that belongs in the subject will still rank if you did not put it on the keep list. Ban lists also go stale: after enough new words, regenerate. Pair the list with a structural instruction so the model does not swap "delve into" for "dive into".
API
POST JSON. Pass a sitemap, a list of page URLs, inline markdown, or a mix. The response is the scored list plus an injectable prompt.
curl -sS -X POST https://ninokroesen.com/lab/unslopf \
-H 'Content-Type: application/json' \
-d '{"sitemap":"https://ninokroesen.com/sitemap.xml"}'
Pages instead of a sitemap
curl -sS -X POST https://ninokroesen.com/lab/unslopf \
-H 'Content-Type: application/json' \
-d '{"urls":["https://example.com/post-one","https://example.com/post-two"]}'