unslop
unslop
Read one Text Artifact against the shared anti-slop catalogue, repair what that pass found within the budget the invocation allows, say what is left, and stop there. This is one lens applied on its own, to a text that is otherwise finished: nothing here selects a genre, a technique, or an editorial contract, and nothing here proofreads afterwards.
Run UV_NO_CACHE=1 UV_NO_PROJECT=1 uv run "$HERE/scripts/invoke.py" — $HERE is the directory that holds this SKILL.md — with everything the user typed after /unslop, verbatim and however many lines, on stdin. Exit 0: do what it prints. On any other exit, if you introduced a known construction error and can correct it while preserving the user's request and authority, account for effects already produced, submit the corrected invocation through the same shim, and continue from the failed boundary; a refusal before the operation starts consumes no operation. Otherwise show what it printed to the user verbatim and stop. Never repair input the user supplied, or automatically retry exact help, an unmet dependency, an unrelated failure, or a failure whose origin or valid correction is unknown.
Run every UV command in this Skill with a fresh private directory as TMPDIR, and remove that directory after the command, including when it fails. The private directory belongs to that one command and no other run, so cleanup removes only files this run created.
Arguments
The operand is the Text Artifact: inline text, one local path, or one URL, and exactly one of them — several paths, a glob reaching more than one file, or a directory of texts is more than one. Where the invocation carries no operand, it is the single text the current turn identifies.
--language=<language> names the language or locale whose anti-slop guidance applies. Any spelling the Collection's resolver reaches is accepted — a canonical code (sv, en_GB), a case or separator variant of one (en-GB, EN_GB), a curated alias (BrE, brittisk engelska), or an ordinary description of a language in any language.
--max=<n> is the Correction Budget: the greatest number of corrections this pass may delegate. It takes any non-negative integer and defaults to 1, so an ordinary run includes one correction and one opportunity to verify it. 0 reviews without correcting — the findings come back for the reader to act on — and a higher value bounds a longer loop explicitly. It is a ceiling and never a quota: a run with nothing left to correct stops with the rest of it unspent.
--output=response|<path> names the Output Target. response is the default and the value response states it explicitly; anything else is one filesystem path. It and In-place Editing name two destinations for one text, which is why no form carries both.
--in-place[=<value>] selects In-place Editing. It accepts yes, on, and true against no, off, and false; bare --in-place means on, --in-place=off has the same effect as omitting the option, and the default is off.