STE Benefit Copy
Two disciplines applied together:
- ASD-STE100 Simplified Technical English — a controlled language spec (53 writing rules + an approved dictionary) built so that a reader with weak English still gets exactly one meaning from a sentence. It kills ambiguity.
- Benefit-first framing — the reader does not want the capability. They want what the capability gives them back: freedom, peace of mind, time, power. Technical capability is evidence, never the headline.
STE alone produces copy that is correct and dead. Benefit framing alone produces copy that is warm and vague. Do both.
Step 1: Classify the copy
The rules tighten or loosen depending on what the text is. Pick one:
| Mode | What it covers | Sentence cap | Voice |
|---|---|---|---|
| Procedural | Steps, instructions, setup guides, error recovery, safety notes | 20 words | Imperative, active only. No "you". |
| Descriptive | Docs, explainers, tooltips, release notes, changelogs | 25 words | Active. Third person or "you". |
| Marketing | Headlines, hero, feature blurbs, emails, landing pages | 25 words (headlines: 12) | Active, second person ("you") |
Procedural and descriptive copy gets strict STE. Marketing copy gets STE-informed — every mechanical rule still applies, but a short approved list of benefit nouns (see references/benefit-ladder.md) is allowed even though they are not in the STE dictionary. This is a deliberate, bounded deviation. Do not widen it.
Step 2: Run the checker
python scripts/check_copy.py <file> --mode marketing
Modes: procedural, descriptive, marketing. Add --json for machine output.
It flags sentence length, paragraph length, passive voice, -ing forms, noun clusters, unapproved words with substitutions, and marketing filler. It is a fast mechanical pass, not a judge — it catches maybe 70% of violations. Read the copy yourself for the rest.
If no file exists yet, write the draft first, then check it. Never ship copy that has not been through the checker.
Step 3: Fix mechanically
Work through the checker output. The rules that matter most, in order of how often they are broken:
One word, one meaning. Each word carries a single approved sense across the whole document. If "monitor" is a noun somewhere, it is never a verb elsewhere. Pick one term per concept and never vary it for style — "sync", "synchronize", and "update" are three words, so they must be three different things.
One idea per sentence. Split on every "and" that joins two thoughts. Split on every semicolon.
Active voice, verb early. "The report is generated by the system" → "The system makes the report."
Simple tenses only. Present, simple past, simple future. No perfect, no continuous. "We have been building" → "We build."
No -ing forms unless part of a fixed technical name. "Booking engine" is a name and stays. "By connecting your calendar, you get..." → "Connect your calendar. You get..."
Max 3 nouns in a row. "Property management channel sync failure" → "The channel sync failed for a property."
Keep articles and "that". Do not compress by deleting function words. "Ensure setting enabled" → "Make sure that the setting is on."
Approved words only. See references/word-swaps.md for the substitution table and the banned marketing vocabulary. When a word is contested, the official ASD-STE100 Dictionary is the authority.
Numbers, not adjectives. "Fast sync" is unverifiable. "Sync in 30 seconds" is a claim. STE hates vague quantifiers, and so does a skeptical reader.
Step 4: Benefit pass
Now the part the checker cannot do. For every headline, section lead, and feature bullet, run the "so what" chain:
Feature → what it does → what that removes or gives → which primitive
Stop when you hit one of the four primitives: Freedom, Peace of mind, Time back, Power. Three hops maximum. If you cannot reach a primitive in three hops, the feature does not belong in the copy — it belongs in the docs.
Example 1
- Before: "Automated two-way ARI sync across 40+ channel partners with sub-minute propagation."
- Chain: two-way sync → rates and availability match everywhere → no double bookings → peace of mind
- After: "You never take two bookings for the same night. Rates and availability match on all 40 channels, in less than a minute."
Example 2
- Before: "Our AI-powered dispute engine leverages machine learning to optimize letter generation."
- Chain: writes the letters → you do not research bureau rules → you do it yourself without paying anyone → freedom and time back
- After: "You do not need to pay a repair company. Write your dispute letters in ten minutes. We know the rules; you keep the money."
The lead sentence lands on the primitive. The technical detail comes second, as proof. Never the reverse.
Do not bolt a benefit onto the end of a feature sentence ("...so you can relax!"). That is a tell. The benefit must be specific, true, and checkable. Read references/benefit-ladder.md for the full method and the primitive definitions.
Step 5: Output
Deliver in this exact order:
## Audit
[table: line/snippet | rule broken | fix]
## Rewritten copy
[the complete text, top to bottom, ready to paste — never a diff, never a fragment,
never "...rest unchanged". If it is a file, output the whole file.]
## Notes
[claims that need verification, terms that need a glossary entry, anything
where STE and clarity actually conflicted and why you chose what you chose]
Complete output is not optional. Partial snippets and diffs get mis-assembled and cause real damage.
Reference files
references/word-swaps.md— substitution table, banned marketing vocabulary, hedge wordsreferences/ste-rules.md— the nine rule sections condensed and applied to product copyreferences/benefit-ladder.md— the four primitives, the "so what" chain, worked examples, anti-patterns
When STE fights the brand
It will. STE was built for aircraft maintenance manuals, where a misread sentence kills someone. Marketing copy has a different job. When a rule strips something the copy genuinely needs — rhythm in a headline, one evocative verb that carries the whole page — keep the rule for the body and break it deliberately in that one place. Then say so in the Notes section. Silent deviations turn into drift, and drift is how a codebase of copy ends up with four words for the same thing.