{"slug": "agent-skill-to-force-docs-in-asd-ste100-simplified-technical-english", "title": "Agent Skill to Force Docs in ASD-STE100 Simplified Technical English", "summary": "A new agent skill enforces ASD-STE100 Simplified Technical English, the controlled language used in aerospace since 1983, to force LLMs to write unambiguous technical documentation. In 96 runs across 6 Claude models and 8 tasks, the skill reduced STE violations per 100 words by 72.9% and eliminated the word \"seamlessly\" entirely. The skill works in any harness supporting the Agent Skills standard, including Claude Code, Cursor, VS Code Copilot, OpenAI Codex, Gemini CLI, Goose, and OpenCode, and is available as a single MIT-licensed folder with no dependencies.", "body_md": "An agent skill that forces LLMs to write docs in [ASD-STE100 Simplified Technical English](https://www.asd-ste100.org/):\n\nthe controlled language aerospace has used since 1983 so a tired mechanic *cannot* misread an instruction.\n\nAI slop dies as a side effect. 💀\n\n[See it](#-before--after) ·\n[Install](#-install) ·\n[The rules](#-the-rules) ·\n[Not just docs](#-not-just-docs) ·\n[Receipts](#-receipts) ·\n[FAQ](#-faq)\n\nWorks in every harness that speaks the [Agent Skills standard](https://agentskills.io): Claude Code, Cursor, VS Code Copilot, OpenAI Codex, Gemini CLI, Goose, OpenCode, and ~25 more. One folder, no dependencies, MIT.\n\nLeft column is **real unedited Claude output**. Right column is the same model with the skill loaded.\n\n| 🤖 Without skill | |\n|---|---|\n|\n|\n|\n|\n|\n|\n\n```\n┌── measured: 6 Claude models × 8 tasks × 2 conditions, 96 runs ──┐\n│  STE violations per 100 words     ▼ 72.9%  (every model won)    │\n│  output tokens                    ▼ on all 6 models             │\n│  mean sentence length             11.2 → 9.7 words              │\n│  \"seamlessly\" survived            0                             │\n└─────────────────────────────────────────────────────────────────┘\n```\n\nMore rewrites in [ examples/before-after.md](/AminBlg/SimpleEnglish/blob/main/examples/before-after.md): READMEs, error messages, incident reports, release notes.\n\n```\nnpx skills add AminBlg/SimpleEnglish\n```\n\nThat is it. The [skills CLI](https://github.com/vercel-labs/skills) detects your agents (Claude Code, Cursor, Codex, Copilot, Gemini CLI, and more) and installs for the ones you pick. Try before installing:\n\n```\nnpx skills use AminBlg/SimpleEnglish@simple-english\n```\n\nNo SKILL.md support at all? Paste [ prompts/system-prompt.md](/AminBlg/SimpleEnglish/blob/main/prompts/system-prompt.md) into your system prompt, AGENTS.md, or\n\n`.cursorrules`\n\n. There is even a ~60-token version for tight budgets.Then ask for any technical writing, or say: *\"rewrite this with simple-english\"*.\n\n**Claude.ai** (paid plans) supports skills natively:\n\n- Download the skill file: open\n[SKILL.md](https://github.com/AminBlg/SimpleEnglish/raw/main/skills/simple-english/SKILL.md)and save it (Ctrl+S / Cmd+S). - In claude.ai, go to\n**Settings → Capabilities** and turn on code execution. - Go to\n**Settings → Customize → Skills → Upload** and upload the saved`SKILL.md`\n\n. - Toggle the skill on. Done. Claude applies it when you ask for technical writing.\n\n**ChatGPT**: no skill support, so use the prompt version. Copy the block from [ prompts/system-prompt.md](/AminBlg/SimpleEnglish/blob/main/prompts/system-prompt.md) into\n\n**Settings → Personalization → Custom Instructions**, or into the instructions of a Project or Custom GPT.\n\n**Gemini**: create a Gem and paste the same block into its instructions.\n\n**Any other chatbot**: attach or paste `prompts/system-prompt.md`\n\ninto the chat and say \"apply this to everything you write for me\".\n\n53 numbered rules, 9 sections, written in 1983 by people whose readers die when a sentence is ambiguous. The ones doing the heavy lifting:\n\n| Rule | What it kills 🪦 |\n|---|---|\n| Max 20 words per instruction, 25 per description | The run-on sentence |\n| One word = one meaning, whole document | check/verify/confirm/validate roulette |\n| Simple tenses only | \"has been updated\" → \"we updated\" |\n| No \"-ing\" verb forms | \", making it easy to...\" clauses |\n| Active voice | \"it should be noted that\" |\n| No should/would/may/might | Hedging. (`can` , `will` , `must` survive) |\n| Condition BEFORE command | Trailing \"...if the flag is set\" that readers execute too late |\n| One instruction per sentence | Steps nobody can follow at 2 a.m. |\n| Keep articles, keep \"that\" | Telegraph style. STE is short, not terse |\n\nFull paraphrased set with software examples: [ SKILL.md](/AminBlg/SimpleEnglish/blob/main/skills/simple-english/SKILL.md). Yes, this README breaks half of them. Marketing is explicitly out of STE scope. The skill knows that and stays in the docs. 😌\n\nThe skill ships adaptations ([ use-cases.md](/AminBlg/SimpleEnglish/blob/main/skills/simple-english/references/use-cases.md)) for:\n\n- 🚨\n**Error messages**: what happened → why → what to do, in that order - 📟\n**Runbooks**: STE's home turf; a runbook IS a maintenance manual - 🧯\n**Incident reports**: simple past murders \"we have identified an issue that may have impacted\" - 📣\n**Release notes**: breaking changes as warnings: command first, risk second - 🤖\n**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\". Think about it. - 🌍\n**Translation prep**: STE's original job: readable for non-natives, cheap to localize\n\nWhere it refuses to go: marketing copy, blog voice, brand writing. Flat on purpose. ✋\n\n**72.9% fewer STE violations per 100 words with the skill on, averaged across 6 models × 8 writing tasks (96 generations, measured).**\n\n| Model | Baseline viol/100w | Skill viol/100w | Reduction |\n|---|---|---|---|\n| claude-opus-4-8 | 1.05 | 0.62 | 41% |\n| claude-opus-4-7 | 2.28 | 0.42 | 82% |\n| claude-opus-4-6 | 2.24 | 0.40 | 82% |\n| claude-opus-4-5 | 2.55 | 0.57 | 78% |\n| claude-sonnet-5 | 2.67 | 0.53 | 80% |\n| claude-sonnet-4-6 | 2.06 | 0.52 | 75% |\n\nOutput tokens went DOWN on all six models too (the skill writes shorter). Deterministic regex linter, same rules for both conditions, honest-caveat list and full method in [ evals/results/RESULTS.md](/AminBlg/SimpleEnglish/blob/main/evals/results/RESULTS.md). Reproduce with\n\n`python3 evals/run_bench.py`\n\n— needs only a logged-in Claude Code CLI.Built TDD-style against the **primary Issue 9 text** (2025), not blog summaries:\n\n- Baseline agents without the skill wrote 40-word sentences and\n**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:\n`can`\n\nand`will`\n\nARE approved. We checked the PDF. - The skill was written to close each recorded baseline failure, then re-tested until agents pass. Scenarios + recorded results:\n`evals/pressure-tests.md`\n\n**Does this make output STE-certified?** No. Nothing does, because ASD certifies no tool. Default mode is pragmatic: structural rules + your domain vocabulary. Strict mode gets close; word-level rulings live in the official standard, a [free download](https://www.asd-ste100.org/request.html).\n\n**Will my docs sound robotic?** They will sound like Airbus manuals: flat and impossible to misread. For docs that is the whole point. Keep your voice for your blog. ✍️\n\n**Why not just prompt \"write clearly\"?** \"Clearly\" is an opinion. \"No sentence over 20 words\" is a spec. Agents follow specs. 📐\n\n**Why a 40-year-old aerospace standard?** Because it is not vibes. It is maintained (Issue 9, January 2025), numbered, and testable. And it happens to be a near-perfect negative of every AI writing tell.\n\nMIT for everything here. The repo paraphrases the rules for teaching and reproduces **zero** spec text or dictionary content. Unofficial project, not affiliated with or endorsed by ASD or STEMG. ASD-STE100 is a registered trademark of ASD.", "url": "https://wpnews.pro/news/agent-skill-to-force-docs-in-asd-ste100-simplified-technical-english", "canonical_source": "https://github.com/AminBlg/SimpleEnglish", "published_at": "2026-07-30 19:34:27+00:00", "updated_at": "2026-07-30 19:52:35.801746+00:00", "lang": "en", "topics": ["artificial-intelligence", "large-language-models", "ai-tools", "ai-agents", "developer-tools"], "entities": ["ASD-STE100", "Claude Code", "Cursor", "VS Code Copilot", "OpenAI Codex", "Gemini CLI", "Goose", "OpenCode"], "alternates": {"html": "https://wpnews.pro/news/agent-skill-to-force-docs-in-asd-ste100-simplified-technical-english", "markdown": "https://wpnews.pro/news/agent-skill-to-force-docs-in-asd-ste100-simplified-technical-english.md", "text": "https://wpnews.pro/news/agent-skill-to-force-docs-in-asd-ste100-simplified-technical-english.txt", "jsonld": "https://wpnews.pro/news/agent-skill-to-force-docs-in-asd-ste100-simplified-technical-english.jsonld"}}