SimpleEnglish skill
A skill that makes an agent write docs and replies in plain English on ASD-STE100 rules: short sentences, one term per meaning, condition before command
- 4,013 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The plugin installs hooks: a Node.js script at session start and a Python linter after Markdown writes
- The hook reads the agent's last reply and adds a system message if the reply breaks the register
- The skill alone, without the plugin, is text rules and runs nothing
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/simpleenglishDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The plugin installs hooks: a Node.js script at session start and a Python linter after Markdown writes
- The hook reads the agent's last reply and adds a system message if the reply breaks the register
- The skill alone, without the plugin, is text rules and runs nothing
This is third-party code. Review the repository files before installing.
What it does
SimpleEnglish replaces the bloated AI style of English text with the discipline of the controlled language ASD-STE100, in which aviation writes maintenance instructions. The skill separates two registers. For documents (READMEs, runbooks, error messages, release notes, incident reports) it caps an instruction at 20 words and a description at 25, puts the condition before the command, forbids "should", "may" and "might", keeps one term per meaning and asks you to define a concept at first use. For ordinary chat replies the rules are simpler: prose only, the first sentence answers the question, no em-dashes, openers or closers. Plain mode is on by default, and Strict mode adds the STE dictionary when you name STE or ASD-STE100.
Who it is for. For authors of English technical documentation and developers who ask an agent for READMEs, runbooks and error messages that readers whose first language is not English can follow.
Good fit when
- An agent writes a README or guide and the text comes out with "robust", "seamlessly" and long dash inserts that need cleaning up
- You need to rewrite an emergency runbook so the condition comes before the command and every instruction stays within 20 words
- You are preparing error messages or release notes that will go through machine translation: one term per meaning helps the translation
- You want to check an existing document against the rules: the skill has a check mode with a catalog of 53 rules
- You want the agent to reply in chat with short prose and no headers, lists or greetings: Claude Code has a separate output style for this
Not a fit when
- The text is in Russian or another language: the STE rules describe English
- You want a personal author voice, for a blog for example: the document will come out flat and dry, like an aircraft technician's manual
- You need a certificate of compliance: ASD certifies no tools, and Strict mode brings text closer to the standard without guaranteeing it
- You need a free narrative or marketing copy: the rules are built for instructions and descriptions
Example request
Rewrite this README section in plain English with the simple-english rules, Plain modeLimitations
The skill works with English text only. It holds rules and links to references and does not issue ASD-STE100 certification: the author stresses that no tool can receive it. The README metrics were measured on Claude models and judges from the same family, so the author allows for bias in the scores. The skill installs without hooks and the output style: those need the plugin for Claude Code or Codex, and the hooks require Node.js.
How to disable. Delete the simple-english folder from the skills directory. The Claude Code plugin is removed with `claude plugin uninstall simple-english@simple-english`. You can turn off the Markdown file check by setting the `SIMPLE_ENGLISH_LINT_EXCLUDE` variable to `*`.
FAQ
How do I install SimpleEnglish in Claude Code?
For the skill, run `npx skills add AminBlg/SimpleEnglish`. For the session hook and output style, install the plugin: `claude plugin marketplace add AminBlg/SimpleEnglish`, then `claude plugin install simple-english@simple-english`. The style is named `simple-english:simple-english`; the short name does not resolve.
What is ASD-STE100 and what does it have to do with AI?
ASD-STE100 is a controlled variant of English for technical documentation that aviation has used since 1983 so that a tired mechanic cannot misread an instruction. The skill's author argues that the standard's rules turned out to be a near-perfect negative of the tells of AI text: filler openers, extra adjectives and dash inserts.
What sentence length limits does the skill set?
In Plain mode an instruction runs to at most 20 words and a description to at most 25. A paragraph holds up to six sentences. The condition comes before the command, and "must", "can" and "will" replace "should".
Does the skill work in Cursor and Codex?
Yes. The skill follows the open Agent Skills standard, and the README lists Claude Code, Cursor, VS Code Copilot, Codex, Gemini CLI, Goose and OpenCode. Codex has a plugin with a session hook: `codex plugin marketplace add AminBlg/SimpleEnglish`, then `codex plugin add simple-english@simple-english`.
What if my agent does not support skills?
Paste the rule block from prompts/system-prompt.md into the system prompt, AGENTS.md or .cursorrules. The file ends with a 60-token version for tight budgets.
Discussion
No questions or reviews yet.
Related
SkillsA skill that rewrites dense, ambiguous English into ASD-STE100 Simplified Technical English so another agent cannot misread it
Simplified Technical English Skill
simplified-technical-english
A skill that makes a model write in Simplified Technical English (ASD-STE100), a controlled English for technical documentation. Unofficial
A skill for Chinese technical writing: rewrites docs, interface strings and API descriptions, keeps the facts intact and checks output with a linter
Simplified Technical Russian
Упрощенный технический русский (УТР)
A skill that makes the agent write code comments, docs and error messages by the Simplified Technical Russian rules of GOST R 58049-2017, with a linter
A skill that strips defensive caveats, apologies and excess hedging from text and makes claims direct while keeping needed limits
Learn from materials
learn-from-materials
A skill that turns books, PDFs, slides and documents into a traceable knowledge base and an interactive learning page with sources, maps and self-check
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Repository stars | Main difference |
|---|---|---|---|
| SimpleEnglish (this entry) | no | 4,013 | |
| ASD-STE100 Skill | no | 5,351 | rewrites dense English on ASD-STE100 rules, while SimpleEnglish adds a separate register for chat replies, a Strict mode with the dictionary and a linter |
| Simplified Technical English Skill | no | 1,009 | an unofficial Simplified Technical English skill, while SimpleEnglish adds plugins with hooks and an output style |
README in short
The README opens with a slogan: the AI writes like a LinkedIn post and should write like a Boeing manual. It then gives three ways to install: the skill via `npx skills`, a Claude Code plugin with a hook and output style, and a Codex plugin with a hook. For agents without skill support it offers pasting the rules into a system prompt and a 60-token version. The "See it" section shows a before and after on a description of syncing Postgres to S3. After it come measurements on nine Claude models with a script that reproduces the numbers, two tables of rules for replies and documents, a description of Plain and Strict modes and a short FAQ.
README badge
Original SKILL.md
---
name: simple-english
description: |
Write or rewrite text in plain, layman-readable English in the spirit of
ASD-STE100 Simplified Technical English: short sentences, active voice,
simple tenses, one word one meaning, condition before command, every
technical term defined at first use, no AI slop. Default mode is Plain.
Strict mode applies full STE vocabulary compliance when the user names
STE, ASD-STE100, or compliance. Use for documentation, READMEs, runbooks,
procedures, error messages, release notes, incident reports, API guides,
and explanations for readers outside the field. Also use when the user
says "STE", "Simplified Technical English", "ASD-STE100", "plain English",
"layman's terms", "explain it simply", "no jargon", "de-slop", "make this
readable", "write for non-native readers", or asks for docs that translate
well. The same rules govern the reply: answer first, prose only.
license: MIT
compatibility: claude-code cursor codex gemini-cli opencode
metadata:
version: "2.1.1"
standard: ASD-STE100 Issue 9 (2025-01-15)
---
# Simple English
Write plain English that a smart reader outside your field understands on one read. The rules come from ASD-STE100, the controlled language that aerospace uses for maintenance manuals. Two registers exist: the document you write or rewrite, and the reply you type in chat. Each has its own short rule set below.
## The Document
When asked to write or rewrite documentation, apply these rules to the prose:
1. Classify each passage. Procedural text tells the reader what to do: imperative mood, 20 words per sentence, one instruction per sentence. Descriptive text explains: simple tenses, 25 words per sentence, one topic per paragraph, six sentences per paragraph at most.
2. Never touch code, identifiers, commands, flags, file paths, quoted errors, product names, or facts. When the source gives no number or cause, keep the general statement.
3. Condition before command, with a comma: "If the build fails, read the log."
4. Use simple tenses and active voice. No present perfect ("has completed" → "completed"). No "-ing" verb after a comma (", making it easy" → new sentence). Name the actor: "You run the migration."
5. Modals: can, will, must. Never should, would, may, might, could. A required "should" becomes "must". An optional one is deleted.
6. Use complete grammar. No contractions, keep articles, keep "that". Write short sentences, not telegraph style.
7. No semicolons and no em-dashes. Write two sentences, or name the relation.
8. One word, one meaning, for the whole document. Use `make sure that` for check, verify, confirm, validate, ensure. Use `configuration` for config, settings, options. Break noun chains over three words with a preposition ("the timeout value for the connection pool").
9. Give the reader each term and each fact before the step that needs it. Define a concept term at its first use, under ten words, one per sentence. Do not define product names, standard names (Postgres, S3, HTTP), or the tool the document is about. Also name the host, the flag, or the prior step that a command depends on. "Restart the service" becomes "Restart the `sync` service on the host that runs the job."
10. State the fact, not its importance. Delete words that carry no fact: simply, seamlessly, robust, powerful, comprehensive, leverage, crucial, "in order to", "it is worth noting". No "not just X, it is Y". No decorative triplets. No "in conclusion".
11. Use formatting only where it carries structure. No bold lead-ins, no bold as emphasis, no emoji, no heading over two sentences. A vertical list is for three or more parallel items or steps: colon on the lead-in, uppercase start, one instruction per item.
12. Warnings: command or condition first, then the risk. "Do not run this against production. The command deletes rows."
Use American spelling. `references/word-swaps.md` maps the overused words to plain ones. For an error message, a runbook, an incident report, release notes, a commit message, or UI copy, read `references/use-cases.md` first. It names the mode and the pattern for each.
Before (AI output):
> **Connection timeouts.** If sqlpipe hangs or fails with `dial tcp: i/o timeout`, check that the host running sqlpipe can reach the Postgres port (usually 5432) — this is often a security group or firewall rule blocking the connection. If you're connecting to a managed database (RDS, Cloud SQL, etc.), confirm the instance allows connections from sqlpipe's IP.
After (procedural, headed, numbered):
> ## Connection timeouts