Appendix A — The Clarity Checklist and the 20 Most Common Errors
One-stop reference. Print it, pin it, run it on your next draft before you send it.
This appendix consolidates the two most reusable tools in the book: the Clarity Checklist (Chapter 3), which removes the fog that hides your meaning, and the 20 Most Common Technical-Writing Errors (Chapter 6), which catches the breakage that makes a reader stop and re-read. They are different jobs. Clarity is about removing what doesn't carry meaning. Correctness is about fixing what carries the wrong meaning. A sentence can pass one test and fail the other. Run both.
Use this appendix during the revise and edit stages (Chapter 5) — never mid-draft, where it kills momentum. Draft badly and fast; clean up here.
Part 1 — The Clarity Checklist (seven moves, in order)
Run these on a finished draft, top to bottom. The order matters: don't polish a sentence you're about to delete.
1. The "so what?" test — does each sentence earn its place? Every sentence should deliver a fact, support a claim, or move the reader toward a decision. If you can delete it and lose nothing, delete it. Do this first.
❌ It is important to note that the results, which are discussed below, are significant. ✅ (Delete entirely. The results section already says the results matter; this sentence carries no information.)
2. Sweep the empty phrases. A small set of phrases recur in nearly every draft and carry nothing. Cut or shrink them on sight:
| Bloat | Fix |
|---|---|
| it is important to note that | (delete) |
| due to the fact that | because |
| in order to | to |
| there are X that … | make X the subject |
| has the ability to | can |
| at this point in time | now |
| in the event that | if |
❌ Due to the fact that the cache expired, there are three services that began to fail. ✅ Because the cache expired, three services began to fail. (13 words → 9, same meaning.)
3. Free the verb (kill nominalizations). A nominalization is a verb turned into a noun — decision (decide), implementation (implement), analysis (analyze) — propped up by a weak verb like make, perform, or conduct. Recover the verb and rebuild around agent–action–object: who does what to what.
❌ The team performed an analysis of the logs and made a decision to roll back. ✅ The team analyzed the logs and decided to roll back.
4. Choose the voice on purpose. Default to active — it names the actor and reads faster. Use passive deliberately only when the actor is unknown or irrelevant, in a Methods section where the procedure matters more than who ran it, or to preserve given-new flow. Flip every passive that has no reason to be passive.
❌ A 12% increase in checkout timeouts was observed by the team. ✅ The team observed a 12% increase in checkout timeouts.
5. Get concrete. Abstraction is where vagueness — and unfinished thinking — hides. Replace fuzzy nouns with specific nouns, numbers, and named things.
❌ The system experienced significant performance degradation. ✅ The page took 8 seconds to load, and 12% of checkouts timed out.
6. Audience-check the jargon. For each specialized term, ask one question: does this reader share it? If yes, keep it — it's the precise choice, and a door for that reader. If no, introduce it once or replace it. Jargon your reader shares is precision; jargon they don't is a wall. (Chapter 2, Chapter 3.)
7. Read it aloud. Where your mouth stumbles, the reader stumbles. This is the single highest-yield proofreading move, and it catches rhythm problems no silent pass will. It also surfaces the run-ons and comma splices in Part 2.
Then count the cut. A real first draft loses 20–40% of its words to passes 1–6 with no loss of meaning. If you cut almost nothing, you either edited a rare clean draft or you didn't push hard enough — run passes 1 and 6 again.
The one-line test for any word: Does it carry a fact for this reader? Keep it. Is it packaging — empty phrase, buried verb, redundancy? Cut it. Is it a load-bearing transition or an honest hedge? Keep it.
Part 2 — The 20 Most Common Technical-Writing Errors
These are correctness problems: grammatical breakage that makes the reader stop, re-read, or — worse — read the wrong meaning. Hunt them one family at a time. Trying to catch all twenty in a single pass is how they slip through. Each error has a one-line diagnostic so you can search for it on purpose.
Modifiers
-
Dangling modifier — an opening phrase whose actor is missing. - ❌ After deploying the patch, the latency dropped. → ✅ After deploying the patch, we saw the latency drop. - Diagnostic: After every opening comma, is the next word the doer of the opening phrase?
-
Misplaced modifier — a limiting word next to the wrong target. - ❌ The script only deletes old files. → ✅ The script deletes only old files. - Diagnostic: Does only / just / even / nearly sit immediately before what it limits?
-
Squinting modifier — a word that could modify either side. - ❌ Engineers who document code rarely get promoted. → ✅ Engineers who document code are rarely promoted. - Diagnostic: Can the middle adverb attach to two different verbs?
Pronoun reference
-
Orphan "this" / "that" — a demonstrative with no single noun behind it. - ❌ …This is why it fails. → ✅ …This timing mismatch is why it fails. - Diagnostic: Does every this / that have a noun right after it?
-
Ambiguous "it" / "they" — a pronoun that could point to two nouns. - ❌ The service calls the gateway, then it logs. → ✅ …then the gateway logs. - Diagnostic: For each it / they, is there exactly one possible antecedent? When in doubt, repeat the noun.
-
Vague "which" — which pointing at a whole clause, not a noun. - ❌ The job locked the table, which delayed everything. → ✅ …and the lock delayed everything. - Diagnostic: Does which point at one noun, or at a fuzzy clause?
Sentence boundaries
-
Comma splice — two complete sentences joined by only a comma. - ❌ Tests passed, we deployed. → ✅ Tests passed, so we deployed. (or period / semicolon) - Diagnostic: Could each side stand alone as a sentence? Then the comma is too weak.
-
Run-on / fused sentence — two complete sentences with nothing between them. - ❌ The disk filled the service crashed. → ✅ When the disk filled, the service crashed. - Diagnostic: Read aloud — do you hear two sentences with no stop?
-
Comma before a conjunctive adverb — the however / therefore splice. - ❌ It passed, however we rolled back. → ✅ It passed; however, we rolled back. - Diagnostic: A comma before however / therefore / thus / moreover usually needs to be a semicolon.
Agreement and consistency
-
Subject–verb disagreement across distance — the verb agrees with the nearest noun, not the subject.
- ❌ The list of vendors are posted. → ✅ The list of vendors is posted.
- Diagnostic: Strip the phrase between subject and verb; do they still agree?
-
"Each / every / none" treated as plural.
- ❌ Each of the nodes have a key. → ✅ Each of the nodes has a key.
- Diagnostic: Each, every, either, neither, none are singular.
-
"Along with / as well as" mistaken for "and."
- ❌ The server, along with its replicas, are backed up. → ✅ …is backed up.
- Diagnostic: These phrases don't add to the subject; the verb agrees with the original subject only.
-
Pronoun–antecedent number mismatch.
- ❌ Each user must reset their password (contested) → ✅ Users* must reset their* passwords.
- Diagnostic: Match pronoun to antecedent in number; pluralizing sidesteps the dispute and stays inclusive. (Singular they is increasingly accepted — Chapter 7.)
-
Inconsistent verb tense.
- ❌ The function reads the file and returned an error. → ✅ …reads the file and returns an error.
- Diagnostic: Within one description, do the verbs share a tense unless the timeline genuinely shifts?
Parallelism
-
Faulty parallelism in a series.
- ❌ …ingests logs, parsing them, and it stores results. → ✅ …ingests logs, parses them, and stores results.
- Diagnostic: Do all items in a series share one grammatical form?
-
Non-parallel bullet list.
- ❌ mixed imperatives, participles, and statements → ✅ all imperative verbs (Run, Apply, Verify).
- Diagnostic: Does every bullet start with the same part of speech?
-
Unbalanced correlative pair — not only…but also, either…or.
- ❌ not only handles X but also it manages Y → ✅ not only handles X but also manages Y.
- Diagnostic: Does the same grammatical form follow both halves of the pair?
-
Illogical comparison.
- ❌ The latency is lower than the old API. → ✅ …lower than that of the old API.
- Diagnostic: Are the two things compared actually the same kind of thing?
Mechanics-level bloat
-
Expletive padding — there is / there are / it is burying the real subject.
- ❌ There are three services that depend on auth. → ✅ Three services depend on auth.
- Diagnostic: Does the sentence open with There is/are or It is + noun + that?
-
Wordy connectors — due to the fact that, in order to, has the ability to.
- ❌ slipped due to the fact that → ✅ slipped because; in order to → to; has the ability to → can.
- Diagnostic: Any phrase containing the fact that, or a multi-word form of a one-word idea.
How to use both lists together
Make a clarity pass first (Part 1) — remove the words that don't carry meaning. Then make targeted correctness passes (Part 2) — one error family per pass, modifiers on one read, pronouns on the next. Finally, read the whole thing aloud, which catches both rhythm and the boundary errors (7, 8, 9) at once.
After a few documents, log which errors you make most. Almost everyone has a personal signature of two or three repeat offenders. Knowing yours is worth more than knowing all twenty, because you start catching them as you draft.
The governing principle (Chapter 3 and Chapter 6 in one line): Clarity is not the enemy of precision — bloat and unshared jargon are. And a fix you can name is a fix that transfers; a fix by feel does not.