This skill should be used when the user asks to "write in Simplified Technical English", "rewrite this in STE", "check STE compliance", "apply ASD-STE100", "simplify this technical documentation", "ma
Write, rewrite, and verify technical text against ASD-STE100 Issue 9 (January 2025). STE is a controlled natural language owned by ASD (Aerospace, Security and Defence Industries Association of Europe). It makes technical text unambiguous, easy to understand, and easy to translate. The standard has two parts: 53 writing rules in 9 sections (Part 1) and a controlled dictionary of about 900 approved words (Part 2).
This large 2,949-word instruction set is purpose-built for testing & qa work in AI coding agents. Paste directly into your CLAUDE.md or AI agent settings.
Write, rewrite, and verify technical text against ASD-STE100 Issue 9 (January 2025). STE is a controlled natural language owned by ASD (Aerospace, Security and Defence Industries Association of Europe). It makes technical text unambiguous, easy to understand, and easy to translate. The standard has two parts: 53 writing rules in 9 sections (Part 1) and a controlled dictionary of about 900 approved words (Part 2).
STE is not simplified English for learners. It is a precise standard that requires strong English proficiency to apply. It adds to, but does not replace, a style guide.
Before any other step: never change a technical fact, drop a qualifier, delete an object, or invent an agent in order to satisfy the dictionary. STE removes ambiguity; it does not remove content. A sentence built entirely from approved words that states something false or empty is a worse failure than a sentence that keeps one flagged word.
This is the failure mode that makes an STE rewrite look compliant and read plausibly while being wrong. Three signatures to watch for in your own output:
decrease was approved, so it was taken; the definition is now false. Restructure instead: "the quantity of data that the system can lose".can is approved — see the verb rules below.)get access to, make sure that, find the cause of); declare a technical noun or verb from the project glossary; or keep the accurate word and flag it in the deliverable with the reason. Never invent a dictionary ruling to justify a substitution.Full procedure, trap tables, and the five fidelity passes: references/meaning-fidelity.md. Load it for every rewrite.
Each rule depends on whether the text is procedural or descriptive. Classify before you write.
| | Procedures (instructions) | Descriptions (explanations) |
|---|---|---|
| Purpose | Tell the user what to do | Explain how things work, or what happened |
| Voice | Active only, imperative form ("Install the pump") | Active as much as possible; passive is allowed when the agent is unknown or unimportant |
| Sentence limit | Maximum 20 words | Maximum 25 words |
| Structure | One instruction per sentence | One topic per paragraph |
Do not mix procedural and descriptive writing in the same passage.
Never invent an agent to escape the passive. Rule 3.5 asks for active voice in descriptive writing as much as possible, not at any cost. If the source says "backups should be taken frequently", do not write "the teams must make backups frequently" -- the source never named a team or assigned that obligation. Either keep the descriptive passive (agent unknown) or, more often, recognize that the passage is procedural in disguise and use the imperative: "Make backups frequently." Reclassifying removes the passive and the fabricated agent at once.
One word, one meaning, one part of speech. Each approved word has one approved meaning and one part of speech. A word is approved for a specific part of speech. A word can be in the dictionary and still be a violation in your sentence. Examples:
start (v) is approved; begin, commence, initiate are notfall (v) means "move down by gravity" only, never "decrease"check is approved as a noun only -- write "do a check of the valve", never "check the valve"about means "concerned with" only, never "approximately"Past participles follow their base verb's ruling. A participle used as an adjective is valid only if its base verb is approved, or is a declared technical verb. install (v) is approved, so "the installed component" is correct. require is not approved, so "the required parts" is not correct -- even though it looks like an ordinary adjective. Reduce the participle to its infinitive and rule on that first. The same rule applies to nominalizations: install (v) being approved does not mean installation (n) is approved.
Modal and auxiliary verbs -- can and must are approved; the rest are not.
| Allowed | Use for | Not allowed | Replace with |
|---|---|---|---|
| can (v) | ability or possibility: "you can get access to the jacks" | may, might, could | can, or state the condition: "If X, then Y" |
| must (v) | obligation: "you must have the necessary parts" | should, shall, ought to | must, or the imperative |
| will | simple future | would | rewrite in simple present or can |
Deleting can or must from a source sentence changes what it claims. Do not drop them to look more "simplified" -- that is a Rule 0 violation, not a simplification.
Do not use:
of-chain makes the text heavier than the sourcea/an ("high CPU use", not "a high CPU use"), and a generic class takes no theTechnical nouns and verbs: Company- or domain-specific terms (for example, "hydraulic pump assembly", "to ream") are allowed even if not in the dictionary, when they come from official documentation or glossaries. Keep non-approved words inside them to a minimum.
Vocabulary control is where STE reviews most often fail. Short, active sentences are not enough. Every content word must be an approved word (with its one approved meaning and part of speech) or a declared technical noun or verb. Do not rely on memory alone for word rulings.
Rule on words as they are used, never as text strings. A word passes only if the form is listed, the part of speech as used matches the dictionary entry, and the meaning matches the single approved meaning. Checking a word against a list without tagging its part of speech is the most common way non-compliant text passes review. For example, "Check all required dependencies" is short, active, and imperative, but it still breaks two dictionary rulings. See references/pos-analysis.md for the tagging procedure, the derived-form rules, and that sentence worked through in full. Verify against the real dictionary using the first available source, in this order:
references/dictionary-access.md for the full lookup procedure.references/dictionary.md (known rulings and high-risk word tables) and state clearly in the deliverable: "Vocabulary was checked against known rulings and high-risk patterns only, not against the official ASD-STE100 Part 2 dictionary. Full compliance requires verification against the official standard."check (n), install (v)): is it listed? Does the POS match? Does the single meaning match? Record the ruling as word + POS -- writing "check: approved" is not a valid finding.references/dictionary.md -- vague quantifiers, subjective adjectives, abstract nominalizations, judgment-based instructions. These fail reviews even when sentences are short and active.Workflow for converting text to STE:
references/meaning-fidelity.md, Pass 1)can and mustdecrease is not "lose", stop is not "fail", find is not "monitor"references/dictionary.md). Where the count is variable by design, use "more than one" rather than reaching for another unverified synonyma/an on uncountable nouns, no the on a generic classof-chains rebuilt from legal 2- and 3-word noun clusters, and paragraphs of uniform length (Pass 4)references/checklist.md, then report remaining violations and every word you flagged as unresolved| Non-STE | STE |
|---|---|
| "Before acceptance of unit..." | "Before you accept the unit, do the specified test procedure." |
| "Rotate the cover until the jacks are accessible." | "Turn the cover until you can get access to the jacks." |
| "The unit must be installed carefully." | "Install the unit carefully." |
| "Check all required dependencies before you start the installation." | "Before you install the software, make sure that you have all the necessary dependencies." |
The last row shows the POS problem: the draft is short, active, and imperative, but still fails twice -- check is approved as a noun only, and required is a participle of require, which is not approved. Neither error is visible without POS tagging.
Rewrites that pass the word check and still fail:
| Draft that looks compliant | Why it fails | Correct |
|---|---|---|
| "the maximum quantity of data that can decrease after a failure" | decrease was substituted for "lost". Data does not decrease in a failure -- the definition is now false (Rule 0) | "the maximum quantity of data that the system can lose after a failure" |
| "This architecture helps the platform to increase." | The object of the transitive verb was deleted with the non-approved word. Increase what? | "With this architecture, you can add more application instances when the load increases." |
| "A fast increase of the response latency is more important than a high CPU use." | can be deleted (a hedge, and can is approved); a on the uncountable "CPU use" | "A quick increase in the response latency can be more important than high CPU use." |
| "The teams must do tests of the recovery procedures." | Agent invented to avoid the passive; the passage is procedural | "Test the recovery procedures." |
| "the times of the database queries" | A legal 3-word cluster was broken into an of-chain | "the database query times" |
When you check (not rewrite) text, report each violation with: the rule broken, the offending text, the part of speech that made it a violation, and a compliant rewrite.
Load these as needed. Do not load all of them by default:
references/meaning-fidelity.md -- Rule 0 in full: the five fidelity passes (proposition inventory, substitution safety, invented agents, prose quality, information loss), the antonym and near-miss trap tables, article and countability rules, noun-cluster over-correction, and a worked example. Load for every rewrite.references/writing-rules.md -- The 9 rule sections in detail: verb forms, sentence structure, multi-word nouns, safety instructions, -ing form rules, procedures vs descriptionsreferences/pos-analysis.md -- Part-of-speech tagging procedure, derived-form rules (past participles, -ing forms, nominalizations, noun-to-verb conversion), confirmed POS rulings, POS trap table, worked examplereferences/dictionary.md -- The 4-column dictionary format, lookup technique, known approved and non-approved rulings, high-risk word pattern tables, technical nouns and verbsreferences/dictionary-access.md -- How to verify words against the official Part 2 dictionary: obtaining the free official PDF, tiered access (local PDF, web fetch, fallback), per-word and bulk lookup proceduresreferences/checklist.md -- Full compliance checklist (fidelity pass first), prose-quality items, the most common writing errors, and the writer and organization best-practice listsreferences/background.md -- History, governance (STEMG), Issue 9 changes, industry adoption, training and certification, tools landscape, misconceptions, comparison with other controlled languagesmeaning-fidelity.md, writing-rules.md, dictionary.md, pos-analysis.md, and dictionary-access.md. Load checklist.md for compliance reviews. Load background.md only for questions about the standard itself. Load pos-analysis.md for any word-level ruling, whether rewrite or review. Never run a rewrite on dictionary.md and pos-analysis.md alone -- those two files push toward substitution, and meaning-fidelity.md is what stops a substitution from damaging the content.Asd Ste100 is a free testing & qa skill for AI coding agents. This skill should be used when the user asks to "write in Simplified Technical English", "rewrite this in STE", "check STE compliance", "apply ASD-STE100", "simplify this technical documentation", "ma. It provides a specialized system prompt that configures your agent with testing & qa expertise.
Copy the system prompt below and paste it into your CLAUDE.md file or Claude Code's custom instructions to activate Asd Ste100.
Asd Ste100 is compatible with Claude Code, Cursor, GitHub Copilot, Windsurf, OpenClaw, Cline, and any AI agent that supports custom system prompts or .cursorrules files.
Yes, Asd Ste100 is completely free and open source. The full source is available on GitHub at https://github.com/nuelcyoung/asd-ste100/blob/main/SKILL.md. You only need a subscription to the AI agent you use it with.
Weekly roundup of top Claude Code skills, MCP servers, and AI coding tips.