4,369
stars
189
forks
10
watchers
29
prs
26
issues
6
releases
0
discussions
README
✈️ your AI writes like a LinkedIn post. make it write like a Boeing manual.
An agent skill that makes LLMs write plain English with the discipline of ASD-STE100 Simplified Technical English,
the controlled language aerospace has used since 1983 so that a tired mechanic cannot misread an instruction.
Layman-readable by default, STE-strict on request.
Works in every agent that reads the Agent Skills standard: Claude Code, Cursor, VS Code Copilot, OpenAI Codex, Gemini CLI, Goose, OpenCode, and about 25 more. One folder, no dependencies, MIT.
Install
Any agent, with the skills CLI:
bash
npx skills add AminBlg/SimpleEnglish
This installs the skill only. It does not install the session hook or the output style below, so setting outputStyle to simple-english:simple-english without the plugin does nothing. Use the Claude Code plugin for those.
Claude Code plugin, with the session hook and the output style:
bash
claude plugin marketplace add AminBlg/SimpleEnglish && claude plugin install simple-english@simple-english
The output style is named simple-english:simple-english. The short name does not resolve. Select it with /config under Output style, or put {"outputStyle": "simple-english:simple-english"} in ~/.claude/settings.json.
Codex plugin, with the session hook:
bash
codex plugin marketplace add AminBlg/SimpleEnglish
codex plugin add simple-english@simple-english
Codex asks you to trust the hook before its first run. The hooks need Node.js. Details in src/hooks/README.md.
No skill support? Paste the rule block of prompts/system-prompt.md into your system prompt, AGENTS.md, or .cursorrules. The page ends with a 60-token version for tight budgets.
Then ask for any technical writing, or say "rewrite this with simple-english".
See it
Left is real, unedited Claude output. Right is the same model with the skill loaded.
Without skill
With skill
Leveraging sqlpipe's robust architecture, users can seamlessly synchronize their Postgres tables to S3 with minimal configuration overhead. Before getting started, you should ensure that your AWS credentials have been properly configured — this is crucial for avoiding frustrating permission issues down the line.
sqlpipe copies your Postgres tables to S3. It needs one configuration file.
Before you start, make sure that your AWS credentials are correct. If they are not, S3 rejects the upload with a permission error.
More rewrites in examples/before-after.md: READMEs, runbooks, incident reports, error messages, release notes.
Benchmarks
Every number below is recomputed from the committed raw files by python3 evals/check_numbers.py, which CI runs on every push. All Claude runs: claude-sonnet-4-6, low effort, no settings loaded. Judges are Claude models on Claude text, so family bias is possible.
Replies, 8 chat questions with a jargon term each, two runs, raw files and tables. Counts are totals over the 16 replies. 95% fewer visible defects Top issues
#41The linter and the PostToolUse hook apply English rules to non-English Markdown2 comments · 2026-10-09#46Markdown preprocessing gives wrong line numbers and inconsistent lint results1 comments · 2026-10-25#29Issues updating existing docs?1 comments · 2026-09-04#55feat: omp extension0 comments · 2026-11-10#53The lint after an Edit reports the whole file, not the edited lines0 comments · 2026-11-06#51Stop hook counts false em-dashes on Windows: stdin is read as cp1252, not UTF-80 comments · 2026-11-01#50A Korean edition: SimpleKorean0 comments · 2026-10-29#47README says there is no 2.1+ reply run, but the October 5 results include 2.1.10 comments · 2026-10-25
Latest release
2.1.2: lists and tables in replies when the content has that shape v2.1.2 2026-11-10- Changed: the reply rule. A reply is prose by default. A label line, a list, or a table is legal when the content has that shape: separate blocks, three or more parallel items, steps in order, or a comparison across attributes. Bold stays banned. - Changed: the Stop hook no longer reports headers and list items. It still reports bold, em-dashes, slop words, openers, and closers. - Changed: evals/run_reply_bench.py defaults to claude-sonnet-5-5. - Tested: the same reply rule ran once through evals/run_reply_bench.py on claude-sonnet-5-5 at low effort, 2026-11-10, inside the 2.2.0 rul