Claude Code skill · Research notes
A Claude Code skill that holds generated documentation to ASD-STE100 Simplified Technical English, the aerospace controlled language. This page has the skill, the install command, and the research notes behind it.
A @geogristle post (July 18, 2026, 2.2M views): “You can get LLMs to write good non-AI-slop-sounding technical documentation by requiring them to adhere to ADS-STE100 Simplified Technical English.” The author corrected the typo in a reply (“ASD whoops”). The standard is ASD-STE100, from ASD (AeroSpace and Defence Industries Association of Europe, the trade body that maintains the spec).
STE (Simplified Technical English) is a controlled language: a deliberately restricted subset of English in which each construction has one reading. European airlines asked for it in the late 1970s because their mechanics, mostly non-native English speakers, had to work from manuals written in loose idiomatic English. AECMA (the European Association of Aerospace Industries, ASD’s predecessor) published the first guide in 1986. STEMG (the Simplified Technical English Maintenance Group) has maintained it since. The current edition is Issue 9, published January 2025, and the spec is free on request from asd-ste100.org.
The standard has two parts:
Two examples of how strict the dictionary is. close is a verb only,
with two approved meanings: move things together, or operate a circuit breaker. You
can close a door but not a meeting. oil is a noun only: “the oil is
dirty” passes, “oil the valve” fails.
| Rule | Limit |
|---|---|
| Procedural sentence length | 20 words, one instruction per sentence |
| Descriptive sentence length | 25 words |
| Paragraph | One topic, 6 sentences max, topic sentence first |
| Verb forms | Imperative, simple present/past/future, infinitive, past participle as adjective. No present perfect, no -ing verb forms, no auxiliary pileups. |
| Voice | Active. Passive only in description when the agent is unknown. |
| Noun clusters | 3 words max |
| Vocabulary | One word, one meaning, one part of speech. No synonym rotation. |
| Warnings | Before the step, phrased as a command, no hedging |
Technical names are exempt. Commands, API (Application Programming Interface, the callable surface of a program) names, error strings, and domain terms stay verbatim. STE controls the connecting language, not the terminology.
The tells of AI-generated prose are, almost line for line, STE rule violations. Hedging stacks (“could potentially lead to”) break the warning rules. Synonym rotation breaks one-word-one-meaning. “Furthermore” and “it is worth noting that” are unapproved words. Present-perfect padding (“has been designed to provide”) breaks the tense rules. Forty-word sentences break the length caps. You do not have to tell the model “don’t sound like AI,” which it cannot act on. You give it 53 checkable rules, which it can.
The skill has two modes. Write: produce or rewrite documentation in STE. Audit: check an existing document and return a violations table with suggested rewrites. It bundles a replacement table for the unapproved words that show up most in software docs (utilize→use, ensure→make sure that, prior to→before, leverage→use).
Two additions from field reports:
mkdir -p ~/.claude/skills/ste/references
curl -fsSL https://ste-skill.matthias-4ff.workers.dev/skill/SKILL.md -o ~/.claude/skills/ste/SKILL.md
curl -fsSL https://ste-skill.matthias-4ff.workers.dev/skill/references/word-choices.md -o ~/.claude/skills/ste/references/word-choices.md
Then say /ste, or ask for docs “in simplified technical english,”
or “audit this README against STE.”
Optional companion, the full i-have-adhd output style (shapes chat
responses, not documents; it stays a separate skill because it is a session mode
with its own on/off switch):
mkdir -p ~/.claude/skills/i-have-adhd
curl -fsSL https://ste-skill.matthias-4ff.workers.dev/i-have-adhd/SKILL.md -o ~/.claude/skills/i-have-adhd/SKILL.md
Built with Claude Code · Nashville Automation · Matthias Debernardini