Your code gets reviewed. The words get waved through.
Most code is written by an assistant now, and so is the prose around it:
comments that restate the signature, descriptions that praise their own
diff, a "simplified for brevity" that ships. Words for Humans reads the
words in a pull request and blocks the ones that waste a reviewer's
attention.
Free on public and private repositories. No account, no config to start.
Prefer the terminal? uvx words-for-humans
// This function is responsible for calculating the total price of// all the items that are present in the cart. It's worth noting that// we will iterate over each item to accumulate the sum.export function calculateCartTotal(items: CartItem[]): number {
return items.reduce((sum, item) => sum + item.price, 0);
}
V-1 says-nothing Three lines that say nothing the signature does not.
The check fails. The comment never reaches your reviewer.
The cost lands on the reader
Generated prose is free to write and expensive to read. Past a certain
density, reviewers stop reading comments at all — and that is when the
comments carrying real information die too. Asking the assistant to be
terse works for a few files, then the habit comes back, because the habit
comes from training, not from your prompt.
A person gets tired of flagging it. A check does not.
Four questions, asked of every sentence
104 rules, drawn from a published controlled-English specification and
from the failure shapes models actually produce. Every finding names its
rule and offers a replacement.
V-
Does it say anything?
A comment that restates the code costs attention and pays nothing back.
S-
Does it stand alone?
"As discussed in review" means nothing to the reader who arrives next year with only the file.
A-
Does it sound human?
"It's worth noting that" is a shape a model produces. Your prompt cannot fix it. A check can catch it.
C-
Does it read easily?
Sentence length, voice, and structure, measured against a standard written for people who read under pressure.
Built for the team that already has a backlog
→Reports only on lines your diff adds. Your repository's existing debt stays out of your pull request.
→One command records a baseline, so an old codebase adopts it without a cleanup week.
→Every rule can be disabled, per repository or per line. A rule you disagree with is one line of config, not an uninstall.
→Mark it as a required check and the filler stops at the merge button. Or run it report-only and just watch.
→Text like "in a real implementation you would validate this" fails the build. That sentence is unfinished work wearing a comment's clothes.
Help us learn what makes a useful review
During the pilot, we cover the model costs for approved repositories.
You do not need to provide an API key. We are testing whether the findings
help people review code and give agents enough context to fix comments.
Hosted pilot
Free during the pilot, within review limits
Changed comments reviewed alongside nearby code
Inline findings explain the problem and how to fix it