The 73% Fix for AI Slop
A new open-source agent skill, AminBlg/SimpleEnglish, applies ASD-STE100 Simplified Technical English to LLM output. It's a controlled language aerospace has used since 1983. The result: a 72.9% average reduction in STE violations per 100 words across six Claude models, measured over 96 runs. Output tokens also dropped on every model.
This isn't a prompt tweak. It's a structured skill that installs into any harness supporting the Agent Skills standard: Claude Code, Cursor, VS Code Copilot, OpenAI Codex, Gemini CLI, Goose, OpenCode, and ~25 more. One folder, no dependencies, MIT licensed.
What STE Actually Does
ASD-STE100 is a 53-rule, 9-section standard. It was written in 1983 by people whose readers die when a sentence is ambiguous. The skill enforces the heavy-hitting rules:
- Max 20 words per instruction, 25 per description
- One word = one meaning (kills check/verify/confirm/validate roulette)
- Simple tenses only ("has been updated" → "we updated")
- No "-ing" verb forms (kills ", making it easy to...")
- Active voice (kills "it should be noted that")
- No should/would/may/might (hedging; can/will/must survive)
- Condition before command
- One instruction per sentence
- Keep articles and "that" (STE is short, not terse)
The full paraphrased set with software examples lives in SKILL.md. The README explicitly admits it breaks half of those rules—marketing is out of STE scope.
Before/After: Real Output
Here's a direct comparison from the repo (left is unedited Claude, right is with the skill):
Without 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.
With skill: > 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.
Another pair:
Without: > Oops! Something went wrong while attempting to establish a connection. Please ensure your credentials have been properly configured and try again, or reach out to your administrator if the issue persists.
With: > Connection to the database failed: the password for user app was not correct. > Set DB_PASSWORD to the correct value, then connect again.
Incident report example:
Without: > We have identified an issue that may have impacted some users' ability to access the service. We sincerely apologize for any inconvenience this may have caused.
With: > Between 14:02 and 14:31 UTC, 12% of requests failed. A deploy at 14:00 removed the cache warmup step. We reverted it at 14:27.
Benchmark Results
The repo includes a deterministic regex linter and a full benchmark methodology. Across 6 models × 8 tasks × 2 conditions (96 runs), here's the reduction in STE violations per 100 words:
| Model | Baseline | Skill | Reduction |
|---|---|---|---|
| claude-opus-4-8 | 1.05 | 0.62 | 41% |
| claude-opus-4-7 | 2.28 | 0.42 | 82% |
| claude-opus-4-6 | 2.24 | 0.40 | 82% |
| claude-opus-4-5 | 2.55 | 0.57 | 78% |
| claude-sonnet-5 | 2.67 | 0.53 | 80% |
| claude-sonnet-4-6 | 2.06 | 0.52 | 75% |
Output tokens went down on all six models. Mean sentence length dropped from 11.2 to 9.7 words. The word "seamlessly" survived zero times.
The eval is reproducible: python3 evals/run_bench.py needs only a logged-in Claude Code CLI. Full method and honest caveats are in evals/results/RESULTS.md.
Install and Use
Install with one command:
npx skills add AminBlg/SimpleEnglish
The CLI detects your agents (Claude Code, Cursor, Codex, Copilot, Gemini CLI, etc.) and installs for the ones you pick. Try before installing:
npx skills use AminBlg/SimpleEnglish@simple-english
No SKILL.md support? Paste prompts/system-prompt.md into your system prompt, AGENTS.md, or .cursorrules. There's even a ~60-token version for tight budgets.
For web UIs: Claude.ai (paid) supports skills natively. Download SKILL.md, go to Settings → Capabilities → enable code execution, then Settings → Customize → Skills → Upload. For ChatGPT, copy the prompt block into Custom Instructions or a Project. For Gemini, create a Gem with the same block.
Not Just Documentation
The skill ships adaptations (use-cases.md) for:
- Error messages: what happened → why → what to do
- Runbooks: STE's home turf—a runbook IS a maintenance manual
- Incident reports: simple past kills "we have identified an issue"
- Release notes: breaking changes as warnings, command first
- Your AGENTS.md/prompts: a system prompt is a procedure for a reader that cannot ask questions. Models read "should" as optional. STE bans "should".
- Translation prep: STE's original job—readable for non-natives, cheap to localize
It refuses marketing copy, blog voice, and brand writing. Flat on purpose.
Built Against the Spec, Not Blog Summaries
The repo says it was built TDD-style against the primary Issue 9 text (January 2025), not blog summaries. Baseline agents without the skill wrote 40-word sentences and invented rule numbers. One confidently cited "Rule 3.1: short sentences"—real Rule 3.1 is verb forms. Secondary sources online are wrong about the modals: can and will ARE approved. They checked the PDF.
Why This Matters
AI-generated technical writing is full of hedge words, passive voice, and run-on sentences. STE is a numbered, testable standard. "No sentence over 20 words" is a spec, not an opinion. Agents follow specs.
The skill doesn't claim STE certification—ASD certifies no tool. Default mode is pragmatic: structural rules plus your domain vocabulary. Strict mode gets close; word-level rulings live in the official standard, a free download.
Should You Use It?
If you write error messages, runbooks, or incident reports with AI, this is worth trying. It's MIT licensed, dependency-free, and works across major agent harnesses. Install it, run the benchmark yourself, and see if your AI stops sounding like a LinkedIn post.
Next Steps
- Run
npx skills use AminBlg/SimpleEnglish@simple-englishin a test project. - Compare output on your own docs before/after.
- If you write system prompts, paste the ~60-token version into your AGENTS.md.
- Check the repo's
examples/before-after.mdfor more rewrites.
Then decide if "seamlessly" deserves to die in your codebase too.
