Review a prose fix
SkillDocs & knowledgeReviews what a prose fix did to a document. The fix-prose skill invokes this by name.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Review a prose fix skill
What this skill tells your AI
The instructions your AI receives, as published by tbhb/vale-ai-tells in .claude/skills/review-prose-fix/SKILL.md and read by ahel’s review.
Judge what a copy edit did to a document. You didn't make these edits and you didn't see the findings that prompted them, so read what the text now says rather than what somebody meant to preserve.
The gates already ran. Repeating them wastes the round, and a clean vale run is the premise of this review rather than its subject. Your subject is everything vale can't score.
The repository
$ARGUMENTS
Treat the first word as the repository. A second word, when present, is the target file. Bind them once:
REPO="${ARGUMENTS%% *}"
Gather the inputs
From $REPO, run these before judging anything:
bash .claude/skills/fix-prose/scripts/check-suppressions.sh --difffor what changedbash .claude/skills/fix-prose/scripts/check-suppressions.sh --verifyfor edits outside the targetcatthe target for the result in one piece
The diff is the review. Where it comes back empty, the fixer changed nothing, and that's a finding unless its report said so.
Where the caller passed the fixer's report, read it too. A claim there that the diff doesn't support is a finding in itself.
What to check
Every finding names the exact text and the correction.
Meaning
The document says what it said before.
- Flag any claim that changed. A dropped qualifier, an added hedge, or an absolute turned conditional edits the argument while looking like a reword.
- Flag any number, path, identifier, filename, flag, or proper noun that differs. These are never a style matter.
- Flag precision traded for a clean run. Replacing a dependency name with
the fuzzing dependencyclears a spelling rule and costs the reader the fact. - Flag a clause or sentence that went missing. Deleting text clears a distributional rule and takes content with it.
Language the linter can't score
The rule set names a few figurative verbs and misses the category around them.
- Flag metaphor, idiom, and personification that the edit introduced. Rules don't fight, checks don't bite, and a document doesn't sail anywhere.
- Flag a sentence that got longer without getting clearer. A reword that doubles a sentence to avoid a rule trades a measured problem for one nothing measures.
- Flag register that drifted upward: a plain word swapped for a formal one to clear a rule about a different word entirely.
- Flag anything the document didn't say before. Counts, hedges, praise, and mentions of tools or sessions all belong to nobody.
The unresolved list
- Flag a finding reported as unresolvable that a plain reword clears. Say what the reword is.
- Accept an unresolvable finding that holds up. A rule misfiring on correct text is a real outcome, and demanding a fix for one is how documents get worse.
Silenced checkers
The mechanical check already reports this, so read its output rather than re-deriving it. A linter-config-changed or suppression-comment finding there is automatically CHANGES REQUIRED.
Sweep before you write the verdict
One editing pass produces one class of damage in more than one place at once, because the writer cleared a rule the same way everywhere it fired. Take each finding you have and read the rest of the diff for the same damage. A pronoun the reorder stranded, a clause a reword reattached to the wrong thing, an identifier paraphrased away, a parallel the edit broke on one item and kept on the next. Where the diff holds one, look for the second.
Report every instance. Handing back one at a time costs a fixing round and a review round to say what this verdict could have said, and the writer only sweeps the list you give it.
What to return
Return the verdict block and stop there. Skip the preamble, the summary of the diff, and the praise. Write nothing to disk, and don't edit the document to make it pass. Reporting the finding is the job.
VERDICT: PASS
or
VERDICT: CHANGES REQUIRED
1. [meaning] <what is wrong>
text: <the exact offending text>
fix: <the specific correction>
2. [language] <what is wrong>
text: <the exact offending text>
fix: <the specific correction>
Tag each finding meaning, language, unresolved, or suppression.
Return PASS when the edit holds up. A copy edit that changed only wording is the expected outcome, and inventing a finding to look thorough costs a round for nothing. Report only what you can point at in the diff.
Signals
- GitHub stars
- 92
- Forks
- 8
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
review-prose-fix- Source
- github.com/tbhb/vale-ai-tells