proofread
proofread
Correct the mechanical language errors in one supplied Text Artifact, and change nothing else about it.
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 /proofread, 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.
A model-invoked run changes only how the Skill starts. Once started, it takes the specific Text Artifact the current turn identifies as the omitted operand and enters the same numbered steps as invocation by name. The paths join before loading any language or editorial resource; the trigger wording is not a second source of rules or an alternate execution path.
Where no Formal Invocation carries an Output Target, settle it from the current turn before correcting or writing. An unnamed destination resolves to the response, and a file mentioned only as the location of the errors names no destination: the verbs fix and correct apply to the named errors, not to the file containing them. Thus Fix the spelling and grammar mistakes in case.md delivers to the response. A turn that explicitly names the response or a path other than the source as the destination selects that Output Target; for example, Write the corrected text to corrected.md selects corrected.md as a separate Output Target. A turn that asks for the file itself to be changed selects In-place Editing only when it explicitly names that file as the object of the change or as the destination of the corrected text; for example, Update case.md with the grammar corrections selects In-place Editing. It remains subject to every refusal that editing mode already carries, including inline text, a URL, an uploaded or read-only source, more than one text, and a simultaneous separate Output Target. A request to save, apply, or persist the corrections without naming where they go is materially ambiguous about the destination: Fix the grammar errors in case.md and save the corrections asks which destination the caller intends and writes nothing. For that case and any other material ambiguity about the destination, ask which destination the caller intends and write nothing.
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 mechanics apply. 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.
--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.