Voice and words skill

Deepens SKILL.md §2 (Voice: You, Active, Present, Timeless) and §3 (Sentences and Words).

by wondelai·MIT license·★ 2,235 Stars on the repo·GitHub ↗

Use now

Files of Voice and words

wondelai/main1 file
voice-and-words.md
Show the full text297 lines

Voice and Words

Deepens SKILL.md §2 (Voice: You, Active, Present, Timeless) and §3 (Sentences and Words). Owns rule IDs V1-V10 and W1-W8 — cite these IDs in audit findings; S9 ("click here") and P8 (placeholders) are cited here but explained in their owner files.

Contents

Second person (V1)

Address the reader as "you." Never "we" (hides who has to act) or "the user" (turns the reader into a third party watching someone else's instructions). Default to the imperative for steps — the subject "you" is implied, not written.

Avoid Use instead Why
"We recommend restarting the Nimbus CLI daemon after a config change." "Restart the Nimbus CLI daemon after you change the config." "We" hides who has to act
"The user must set an API key before calling the endpoint." "Set an API key before you call the endpoint." "The user" makes the reader a bystander in their own instructions
"You should click Deploy to start the build." "Click Deploy to start the build." Imperative drops the throat-clearing subject

The one allowed "we": Google, or the team that owns the product, speaking as the actual actor — stating a design decision, not giving an instruction. Rare, and confined to prose about the product's history or rationale.

  • Allowed: "We built the Vantage API to replace polling with webhooks."
  • Not allowed: "We suggest you enable webhooks." → "Enable webhooks."

Source: person

Active voice (V2)

Spot it: a form of "be" (is, was, are, were, been, being) followed by a past participle, with the actor missing or trailing in a "by" phrase.

Passive Active Note
"The manifest is validated by the Kiln build server." "The Kiln build server validates the manifest." Actor is named — no reason for passive
"Deployments are triggered when a tag is pushed." "Pushing a tag triggers a deployment." Actor recoverable — rewrite active

Three allowed passive cases:

  1. Actor unknown: "The request was rejected by an upstream proxy." → allowed as "The request was rejected" when the Wayfinder SDK genuinely can't identify which proxy.
  2. Actor irrelevant to the reader's task: "Sessions are rotated every 15 minutes." — the reader needs the interval, not the internal job that does the rotating.
  3. To emphasize the object over the actor: "Expired records are purged nightly." — the record is the point; naming the cron job would bury it.

Source: voice

Present tense (V3)

Default to present tense for behavior. Reserve "will" for effects genuinely later than the action described, not for the next line of the same sequence.

Rewrite to present Legitimate "will"
"The server will send an ack." → "The server sends an ack." "If you delete a project, Fleetlog will permanently remove its logs after a 90-day grace period." — the effect is deferred by a stated delay, not immediate
"The Fleetlog service will purge logs older than 30 days nightly." → "The Fleetlog service purges logs older than 30 days nightly." "After three consecutive failed health checks, the load balancer will mark the instance unhealthy." — a threshold-triggered future event

Rule of thumb: if the result follows directly from the action in the same step, use present tense. If it arrives after a stated delay or a later condition, "will" is accurate.

Source: tense

Please, simply, and excessive claims (V4, V5)

"Please": omit from instructions. Reserve it for asking the reader's permission or forgiveness, not for softening a command.

  • "Please click Save to persist your changes." → "Click Save to persist your changes."
  • Allowed: "Please allow up to 24 hours for DNS changes to propagate." — asking for patience, not issuing a step.

"Simply / easily / just / quickly": omit. They grade the reader's experience for them; if a step really is easy, the reader notices without being told.

  • "Just add the --watch flag to simply enable live reload." → "Add the --watch flag to enable live reload."

Superlatives, absolutes, and competitor comparisons: cut, or replace with a verifiable, specific claim.

Avoid Use instead
"The fastest way to deploy" "One way to deploy" — or a stated number: "deploys in under 10 seconds on the free tier"
"Never loses a message" "Retries delivery up to five times before moving the message to a dead-letter queue"
"Faster than Relay's queue" Cut the comparison, or link to a published benchmark

Source: tone, excessive-claims

Anthropomorphism (V6)

Software doesn't want, see, think, know, tell, or complain. Name what actually happens.

Avoid Use instead Example
wants requires, needs "The build script wants a NODE_ENV value." → "The build script requires a NODE_ENV value."
sees detects "The linter sees an unused import." → "The linter detects an unused import."
thinks determines, evaluates "The scheduler thinks the job is stuck." → "The scheduler determines the job is stuck after a 10-minute timeout."
knows stores, has "The cache knows the last ETag." → "The cache stores the last ETag."
tells notifies, reports "The webhook tells the queue the job failed." → "The webhook reports the failure to the queue."
complains returns an error, logs "The parser complains about invalid syntax." → "The parser returns a syntax error."

Source: anthropomorphism

Timeless documentation (V7)

Cut "currently," "now," "new," "soon," and "at the time of writing." A doc that never refers to today stays correct for as long as the behavior holds; one anchored to today starts rotting the day it ships.

Avoid Use instead
"Currently, the Cortex API rate-limits requests to 100/min." "The Cortex API rate-limits requests to 100/min."
"This new dashboard shows deploy history." "The dashboard shows deploy history."
"Soon you'll be able to export CSV." Cut it — document only what's shipped

Never pre-announce. A feature that isn't released yet doesn't belong in the docs, even hedged as "coming soon."

Version differences aren't a timeless-docs violation — they name a fact tied to a version number, not to the calendar:

  • "In Nimbus CLI 2.x and later, --dry-run prints a diff before applying changes." — fine, because the boundary is the version, not "now."

Source: future, timeless-documentation

Contractions [EN] (V8)

Contractions read as conversational, not sloppy, and Google's guide allows them. For negations, prefer the contraction over the two-word form.

Prefer Over
isn't is not
don't do not
won't will not
  • "The API key is not valid for staging." → "The API key isn't valid for staging."
  • "Do not delete the retention record." → "Don't delete the retention record."

Source: contractions

Inclusive language (V9)

Avoid Use instead
master / slave primary / replica, controller / worker
blacklist / whitelist denylist / allowlist (or blocklist / safelist)
sanity check final check
dummy (variable, value) placeholder
crazy unexpected, erratic
cripple disable, degrade
guys everyone, team, folks
he / she (generic) they

Fix pairs together. Replacing only "blacklist" with "denylist" while leaving "whitelist" untouched keeps the asymmetry the swap was meant to remove — change both halves of a pair in the same edit, even when only one half appears on the page in front of you.

Gender-neutral "they": use it for a person of unspecified gender, singular or plural, instead of switching to "he or she" or alternating pronouns.

  • "A developer must configure his API key before deploying." → "A developer must configure their API key before deploying."

Source: inclusive-documentation

Global audience (V10)

Avoid Use instead Why
"Once you deploy the service, health checks start." "After you deploy the service, health checks start." "Once" reads as a time word in some dialects and a conditional in others
"This endpoint hits the ground running with zero config." "This endpoint works with no configuration." Idioms don't translate
"Configure it like setting up a Thanksgiving dinner — plan ahead." Cut the analogy; describe the steps directly Culture-bound reference
"the customer order fulfillment status notification service" "the service that notifies customers about fulfillment status" Long noun stacks don't parse for non-native readers
"The team, the config file having been updated, redeployed." "The team updated the config file, then redeployed." Keep subject-verb-object order

Date, time, currency, and number formatting for a global audience are S11 (structure-and-formatting.md) — this section covers sentence-level and word-choice habits only.

Source: translation, global-audience

Condition before instruction (W1)

State the condition or goal first, so the reader can tell whether the step applies to them before they act on it.

  1. "Click Delete if you want to remove the workspace." → "To remove the workspace, click Delete."
  2. "Restart the Anchor auth service after you edit config.yaml." → "After you edit config.yaml, restart the Anchor auth service."
  3. Multi-condition: "Retry the request if the response is a 503 and a Retry-After header is present, and otherwise fail immediately." → "If the response is a 503 and includes a Retry-After header, retry the request. Otherwise, fail immediately."

Source: sentence-structure

Short sentences, one idea (W2)

One clause, one idea. When a sentence accumulates a "which" clause, a comma-and, and a second instruction, split it into separate sentences.

Before: "The Vantage API returns a 429 status code when you exceed the rate limit, which is 100 requests per minute for free-tier accounts, and you should back off using the Retry-After header."

After: "The Vantage API returns a 429 status code when you exceed the rate limit. Free-tier accounts are limited to 100 requests per minute. Back off using the value in the Retry-After header."

Convert a "which" clause into a list when it enumerates items:

Before: "The deploy command validates the manifest, which checks the schema, the image tag, and the resource limits."

After: "The deploy command validates the manifest. It checks:

  • The schema
  • The image tag
  • The resource limits"

Source: tech-writing/one "Short sentences"

Abbreviations (W3) and Latin abbreviations [EN] (W4)

First use: spell out the term with the abbreviation in parentheses, then use the abbreviation for the rest of the page.

  • "Configure the command-line interface (CLI) before running the first build. The CLI reads ~/.nimbusrc on startup."

Universally known exceptions: skip the spell-out for terms every reader already knows — URL and HTML, and similarly ubiquitous ones (inferred: API, CPU).

Latin abbreviations don't translate and scan poorly in the middle of a sentence — spell out the meaning instead.

Avoid Use instead
e.g. for example
i.e. that is
etc. omit, or finish the list
vs. versus, or "compared with"
cf. (inferred) see, or compare

Source: abbreviations, word-list

can/may/might [EN] (W5)

Modal Meaning Example
can ability "Free-tier accounts can make up to 100 requests per minute."
may permission "You may cache a response for up to 60 seconds."
might possibility "The migration might take several minutes for databases over 10 GB."

Don't use "may" for possibility — "The build may fail" reads as the build having permission to fail. Use "might."

Source: word-list

Jargon (W6)

Jargon is a defect only for the reader who doesn't have it. Define, link, or replace it based on the reader named at intake.

For this reader Do this
Experienced backend engineers Use the term as-is: "The write is idempotent."
Mixed technical audience Define inline on first use: "The write is idempotent — repeating it produces the same result."
Non-technical or new readers Link to a concept page, or replace with plain language: "Repeating the request is safe; it won't create duplicates."

Source: jargon

Word list [EN] (W7)

"Click here" is not a word-list row — it's rule S9 (structure-and-formatting.md), a link-text defect, not a word choice.

Entries owned by their own rule aren't repeated here — please (V4), just/simply (V5), e.g./i.e./etc. (W4), the inclusive-language pairs (V9), and once→after (V10) live in their sections; "click here" is rule S9 in structure-and-formatting.md.

Avoid Use instead Why
above / below preceding / following Breaks on reflow, print, and translation
abort / kill stop, cancel, end Violent connotation
log in sign in (unless the product itself says "log in") Google's preferred term
setup (as a verb) set up "Setup" is the noun; "set up" is the verb
check box checkbox One word
and/or pick one Ambiguous
in order to to Wordy
desire want Plainer
leverage use Jargon
utilize use (inferred) Plainer
pop-up / dialog box dialog Google's preferred term
e-mail email (don't use it as a verb) Modern spelling; not a verb
Internet internet Common noun now
back-end / front-end backend / frontend One word, no hyphen
file name filename One word
Id / id ID Always capitalized
admin administrator (except literal UI labels) Plainer, except where the UI itself reads "Admin"
application app (for end-user programs) Google's preferred term in consumer contexts
click and drag drag Simpler
via through, by using Latin-derived; doesn't localize
allows you to lets you / you can Wordy
wish want Plainer
terminate end, stop Plainer
enable (a person) let, lets "Enable" a feature, not a person
display (intransitive) appears "Display" needs an object
execute run Plainer
illegal invalid, not allowed "Illegal" implies law-breaking
foo / bar meaningful names in samples Realistic names read better and copy-paste safely
Note that omit Filler opener
going forward omit Filler; also a timeless-docs violation
it's / its "it's" only for "it is"; "its" is possessive Commonly confused
toggle (as a verb) turn on, turn off Plainer
uncheck clear Google's UI term
unselect deselect Google's UI term

Source: word-list

American spelling and serial comma [EN] (W8)

UK US (use this)
colour color
behaviour behavior
licence (noun) license
centre center
optimise optimize

Serial comma: place a comma before the final "and" or "or" in a list of three or more.

  • "Install the CLI, configure the API key and run the migration." → "Install the CLI, configure the API key, and run the migration."

Source: highlights, commas

Non-English documents

The authoritative split lives in audit-checklist.md, "Non-English documents": the [EN] rules — contractions (V8), Latin abbreviations (W4), can/may/might (W5), the word list (W7), spelling and the serial comma (W8) — are skipped, and every other rule in this file, spelling out abbreviations (W3) included, applies in any language.

Never translate a document unless asked (skill rule) — edit or write in the language the source already uses, and flag translation as a separate task if one looks needed.

1# Voice and Words
2 
3Deepens SKILL.md §2 (Voice: You, Active, Present, Timeless) and §3 (Sentences and Words). Owns rule IDs V1-V10 and W1-W8 — cite these IDs in audit findings; S9 ("click here") and P8 (placeholders) are cited here but explained in their owner files.
4 
5## Contents
6- [Second person](#second-person-v1) · [Active voice](#active-voice-v2) · [Present tense](#present-tense-v3)
7- [Please, simply, and excessive claims](#please-simply-and-excessive-claims-v4-v5) · [Anthropomorphism](#anthropomorphism-v6)
8- [Timeless documentation](#timeless-documentation-v7) · [Contractions \[EN\]](#contractions-en-v8)
9- [Inclusive language](#inclusive-language-v9) · [Global audience](#global-audience-v10)
10- [Condition before instruction](#condition-before-instruction-w1) · [Short sentences, one idea](#short-sentences-one-idea-w2)
11- [Abbreviations](#abbreviations-w3-and-latin-abbreviations-en-w4) · [can/may/might \[EN\]](#canmaymight-en-w5)
12- [Jargon](#jargon-w6) · [Word list \[EN\]](#word-list-en-w7)
13- [American spelling and serial comma \[EN\]](#american-spelling-and-serial-comma-en-w8) · [Non-English documents](#non-english-documents)
14 
15## Second person (V1)
16 
17Address the reader as "you." Never "we" (hides who has to act) or "the user" (turns the reader into a third party watching someone else's instructions). Default to the imperative for steps — the subject "you" is implied, not written.
18 
19| Avoid | Use instead | Why |
20|---|---|---|
21| "We recommend restarting the Nimbus CLI daemon after a config change." | "Restart the Nimbus CLI daemon after you change the config." | "We" hides who has to act |
22| "The user must set an API key before calling the endpoint." | "Set an API key before you call the endpoint." | "The user" makes the reader a bystander in their own instructions |
23| "You should click Deploy to start the build." | "Click **Deploy** to start the build." | Imperative drops the throat-clearing subject |
24 
25**The one allowed "we":** Google, or the team that owns the product, speaking as the actual actor — stating a design decision, not giving an instruction. Rare, and confined to prose about the product's history or rationale.
26- Allowed: "We built the Vantage API to replace polling with webhooks."
27- Not allowed: "We suggest you enable webhooks." → "Enable webhooks."
28 
29Source: person
30 
31## Active voice (V2)
32 
33**Spot it:** a form of "be" (is, was, are, were, been, being) followed by a past participle, with the actor missing or trailing in a "by" phrase.
34 
35| Passive | Active | Note |
36|---|---|---|
37| "The manifest is validated by the Kiln build server." | "The Kiln build server validates the manifest." | Actor is named — no reason for passive |
38| "Deployments are triggered when a tag is pushed." | "Pushing a tag triggers a deployment." | Actor recoverable — rewrite active |
39 
40**Three allowed passive cases:**
411. Actor unknown: "The request was rejected by an upstream proxy." → allowed as "The request was rejected" when the Wayfinder SDK genuinely can't identify which proxy.
422. Actor irrelevant to the reader's task: "Sessions are rotated every 15 minutes." — the reader needs the interval, not the internal job that does the rotating.
433. To emphasize the object over the actor: "Expired records are purged nightly." — the record is the point; naming the cron job would bury it.
44 
45Source: voice
46 
47## Present tense (V3)
48 
49Default to present tense for behavior. Reserve "will" for effects genuinely later than the action described, not for the next line of the same sequence.
50 
51| Rewrite to present | Legitimate "will" |
52|---|---|
53| "The server will send an ack." → "The server sends an ack." | "If you delete a project, Fleetlog will permanently remove its logs after a 90-day grace period." — the effect is deferred by a stated delay, not immediate |
54| "The Fleetlog service will purge logs older than 30 days nightly." → "The Fleetlog service purges logs older than 30 days nightly." | "After three consecutive failed health checks, the load balancer will mark the instance unhealthy." — a threshold-triggered future event |
55 
56Rule of thumb: if the result follows directly from the action in the same step, use present tense. If it arrives after a stated delay or a later condition, "will" is accurate.
57 
58Source: tense
59 
60## Please, simply, and excessive claims (V4, V5)
61 
62**"Please":** omit from instructions. Reserve it for asking the reader's permission or forgiveness, not for softening a command.
63- "Please click Save to persist your changes." → "Click **Save** to persist your changes."
64- Allowed: "Please allow up to 24 hours for DNS changes to propagate." — asking for patience, not issuing a step.
65 
66**"Simply / easily / just / quickly":** omit. They grade the reader's experience for them; if a step really is easy, the reader notices without being told.
67- "Just add the `--watch` flag to simply enable live reload." → "Add the `--watch` flag to enable live reload."
68 
69**Superlatives, absolutes, and competitor comparisons:** cut, or replace with a verifiable, specific claim.
70 
71| Avoid | Use instead |
72|---|---|
73| "The fastest way to deploy" | "One way to deploy" — or a stated number: "deploys in under 10 seconds on the free tier" |
74| "Never loses a message" | "Retries delivery up to five times before moving the message to a dead-letter queue" |
75| "Faster than Relay's queue" | Cut the comparison, or link to a published benchmark |
76 
77Source: tone, excessive-claims
78 
79## Anthropomorphism (V6)
80 
81Software doesn't want, see, think, know, tell, or complain. Name what actually happens.
82 
83| Avoid | Use instead | Example |
84|---|---|---|
85| wants | requires, needs | "The build script wants a `NODE_ENV` value." → "The build script requires a `NODE_ENV` value." |
86| sees | detects | "The linter sees an unused import." → "The linter detects an unused import." |
87| thinks | determines, evaluates | "The scheduler thinks the job is stuck." → "The scheduler determines the job is stuck after a 10-minute timeout." |
88| knows | stores, has | "The cache knows the last ETag." → "The cache stores the last ETag." |
89| tells | notifies, reports | "The webhook tells the queue the job failed." → "The webhook reports the failure to the queue." |
90| complains | returns an error, logs | "The parser complains about invalid syntax." → "The parser returns a syntax error." |
91 
92Source: anthropomorphism
93 
94## Timeless documentation (V7)
95 
96Cut "currently," "now," "new," "soon," and "at the time of writing." A doc that never refers to today stays correct for as long as the behavior holds; one anchored to today starts rotting the day it ships.
97 
98| Avoid | Use instead |
99|---|---|
100| "Currently, the Cortex API rate-limits requests to 100/min." | "The Cortex API rate-limits requests to 100/min." |
101| "This new dashboard shows deploy history." | "The dashboard shows deploy history." |
102| "Soon you'll be able to export CSV." | Cut it — document only what's shipped |
103 
104**Never pre-announce.** A feature that isn't released yet doesn't belong in the docs, even hedged as "coming soon."
105 
106**Version differences aren't a timeless-docs violation** — they name a fact tied to a version number, not to the calendar:
107- "In Nimbus CLI 2.x and later, `--dry-run` prints a diff before applying changes." — fine, because the boundary is the version, not "now."
108 
109Source: future, timeless-documentation
110 
111## Contractions [EN] (V8)
112 
113Contractions read as conversational, not sloppy, and Google's guide allows them. For negations, prefer the contraction over the two-word form.
114 
115| Prefer | Over |
116|---|---|
117| isn't | is not |
118| don't | do not |
119| won't | will not |
120 
121- "The API key is not valid for staging." → "The API key isn't valid for staging."
122- "Do not delete the retention record." → "Don't delete the retention record."
123 
124Source: contractions
125 
126## Inclusive language (V9)
127 
128| Avoid | Use instead |
129|---|---|
130| master / slave | primary / replica, controller / worker |
131| blacklist / whitelist | denylist / allowlist (or blocklist / safelist) |
132| sanity check | final check |
133| dummy (variable, value) | placeholder |
134| crazy | unexpected, erratic |
135| cripple | disable, degrade |
136| guys | everyone, team, folks |
137| he / she (generic) | they |
138 
139**Fix pairs together.** Replacing only "blacklist" with "denylist" while leaving "whitelist" untouched keeps the asymmetry the swap was meant to remove — change both halves of a pair in the same edit, even when only one half appears on the page in front of you.
140 
141**Gender-neutral "they":** use it for a person of unspecified gender, singular or plural, instead of switching to "he or she" or alternating pronouns.
142- "A developer must configure his API key before deploying." → "A developer must configure their API key before deploying."
143 
144Source: inclusive-documentation
145 
146## Global audience (V10)
147 
148| Avoid | Use instead | Why |
149|---|---|---|
150| "Once you deploy the service, health checks start." | "After you deploy the service, health checks start." | "Once" reads as a time word in some dialects and a conditional in others |
151| "This endpoint hits the ground running with zero config." | "This endpoint works with no configuration." | Idioms don't translate |
152| "Configure it like setting up a Thanksgiving dinner — plan ahead." | Cut the analogy; describe the steps directly | Culture-bound reference |
153| "the customer order fulfillment status notification service" | "the service that notifies customers about fulfillment status" | Long noun stacks don't parse for non-native readers |
154| "The team, the config file having been updated, redeployed." | "The team updated the config file, then redeployed." | Keep subject-verb-object order |
155 
156Date, time, currency, and number formatting for a global audience are S11 (structure-and-formatting.md) — this section covers sentence-level and word-choice habits only.
157 
158Source: translation, global-audience
159 
160## Condition before instruction (W1)
161 
162State the condition or goal first, so the reader can tell whether the step applies to them before they act on it.
163 
1641. "Click **Delete** if you want to remove the workspace." → "To remove the workspace, click **Delete**."
1652. "Restart the Anchor auth service after you edit `config.yaml`." → "After you edit `config.yaml`, restart the Anchor auth service."
1663. Multi-condition: "Retry the request if the response is a 503 and a `Retry-After` header is present, and otherwise fail immediately." → "If the response is a 503 and includes a `Retry-After` header, retry the request. Otherwise, fail immediately."
167 
168Source: sentence-structure
169 
170## Short sentences, one idea (W2)
171 
172One clause, one idea. When a sentence accumulates a "which" clause, a comma-and, and a second instruction, split it into separate sentences.
173 
174Before: "The Vantage API returns a 429 status code when you exceed the rate limit, which is 100 requests per minute for free-tier accounts, and you should back off using the Retry-After header."
175 
176After: "The Vantage API returns a 429 status code when you exceed the rate limit. Free-tier accounts are limited to 100 requests per minute. Back off using the value in the `Retry-After` header."
177 
178**Convert a "which" clause into a list when it enumerates items:**
179 
180Before: "The deploy command validates the manifest, which checks the schema, the image tag, and the resource limits."
181 
182After: "The deploy command validates the manifest. It checks:
183- The schema
184- The image tag
185- The resource limits"
186 
187Source: tech-writing/one "Short sentences"
188 
189## Abbreviations (W3) and Latin abbreviations [EN] (W4)
190 
191**First use:** spell out the term with the abbreviation in parentheses, then use the abbreviation for the rest of the page.
192- "Configure the command-line interface (CLI) before running the first build. The CLI reads `~/.nimbusrc` on startup."
193 
194**Universally known exceptions:** skip the spell-out for terms every reader already knows — URL and HTML, and similarly ubiquitous ones (inferred: API, CPU).
195 
196**Latin abbreviations** don't translate and scan poorly in the middle of a sentence — spell out the meaning instead.
197 
198| Avoid | Use instead |
199|---|---|
200| e.g. | for example |
201| i.e. | that is |
202| etc. | omit, or finish the list |
203| vs. | versus, or "compared with" |
204| cf. (inferred) | see, or compare |
205 
206Source: abbreviations, word-list
207 
208## can/may/might [EN] (W5)
209 
210| Modal | Meaning | Example |
211|---|---|---|
212| can | ability | "Free-tier accounts can make up to 100 requests per minute." |
213| may | permission | "You may cache a response for up to 60 seconds." |
214| might | possibility | "The migration might take several minutes for databases over 10 GB." |
215 
216Don't use "may" for possibility — "The build may fail" reads as the build having permission to fail. Use "might."
217 
218Source: word-list
219 
220## Jargon (W6)
221 
222Jargon is a defect only for the reader who doesn't have it. Define, link, or replace it based on the reader named at intake.
223 
224| For this reader | Do this |
225|---|---|
226| Experienced backend engineers | Use the term as-is: "The write is idempotent." |
227| Mixed technical audience | Define inline on first use: "The write is idempotent — repeating it produces the same result." |
228| Non-technical or new readers | Link to a concept page, or replace with plain language: "Repeating the request is safe; it won't create duplicates." |
229 
230Source: jargon
231 
232## Word list [EN] (W7)
233 
234"Click here" is not a word-list row — it's rule S9 (structure-and-formatting.md), a link-text defect, not a word choice.
235 
236Entries owned by their own rule aren't repeated here — please (V4), just/simply (V5), e.g./i.e./etc. (W4), the inclusive-language pairs (V9), and once→after (V10) live in their sections; "click here" is rule S9 in structure-and-formatting.md.
237 
238| Avoid | Use instead | Why |
239|---|---|---|
240| above / below | preceding / following | Breaks on reflow, print, and translation |
241| abort / kill | stop, cancel, end | Violent connotation |
242| log in | sign in (unless the product itself says "log in") | Google's preferred term |
243| setup (as a verb) | set up | "Setup" is the noun; "set up" is the verb |
244| check box | checkbox | One word |
245| and/or | pick one | Ambiguous |
246| in order to | to | Wordy |
247| desire | want | Plainer |
248| leverage | use | Jargon |
249| utilize | use (inferred) | Plainer |
250| pop-up / dialog box | dialog | Google's preferred term |
251| e-mail | email (don't use it as a verb) | Modern spelling; not a verb |
252| Internet | internet | Common noun now |
253| back-end / front-end | backend / frontend | One word, no hyphen |
254| file name | filename | One word |
255| Id / id | ID | Always capitalized |
256| admin | administrator (except literal UI labels) | Plainer, except where the UI itself reads "Admin" |
257| application | app (for end-user programs) | Google's preferred term in consumer contexts |
258| click and drag | drag | Simpler |
259| via | through, by using | Latin-derived; doesn't localize |
260| allows you to | lets you / you can | Wordy |
261| wish | want | Plainer |
262| terminate | end, stop | Plainer |
263| enable (a person) | let, lets | "Enable" a feature, not a person |
264| display (intransitive) | appears | "Display" needs an object |
265| execute | run | Plainer |
266| illegal | invalid, not allowed | "Illegal" implies law-breaking |
267| foo / bar | meaningful names in samples | Realistic names read better and copy-paste safely |
268| Note that | omit | Filler opener |
269| going forward | omit | Filler; also a timeless-docs violation |
270| it's / its | "it's" only for "it is"; "its" is possessive | Commonly confused |
271| toggle (as a verb) | turn on, turn off | Plainer |
272| uncheck | clear | Google's UI term |
273| unselect | deselect | Google's UI term |
274 
275Source: word-list
276 
277## American spelling and serial comma [EN] (W8)
278 
279| UK | US (use this) |
280|---|---|
281| colour | color |
282| behaviour | behavior |
283| licence (noun) | license |
284| centre | center |
285| optimise | optimize |
286 
287**Serial comma:** place a comma before the final "and" or "or" in a list of three or more.
288- "Install the CLI, configure the API key and run the migration." → "Install the CLI, configure the API key, and run the migration."
289 
290Source: highlights, commas
291 
292## Non-English documents
293 
294The authoritative split lives in [audit-checklist.md](audit-checklist.md), "Non-English documents": the `[EN]` rules — contractions (V8), Latin abbreviations (W4), can/may/might (W5), the word list (W7), spelling and the serial comma (W8) — are skipped, and every other rule in this file, spelling out abbreviations (W3) included, applies in any language.
295 
296Never translate a document unless asked (skill rule) — edit or write in the language the source already uses, and flag translation as a separate task if one looks needed.
297 

Discussion