A 1980s Airline Repair guide may be a cure for AI Slop

How a 30 year old reduced English standard applies to LLM tech writing today

Posted by Isaac on Thursday, August 6, 2026

In the last few days I’ve been rather fixated on this YouTube video called “The cure for AI slop is a 1986 aircraft manual”. If you like more of a narrative, pause here and watch the video.

First, a bit of context…

Simplified Technical English has its starts going all the way back to the 1930s with “Basic English” and later the 1970s with CFE, Caterpillar Technical English and Kodak International Service Language (KISL). Per the CFE documentation:

“CFE was intended as a form of English as a Second Language for non-English speakers, who would be able to read the service manuals written in CFE after some basic training”.

Most of these guides were related to big industry and the need to have service technicians of various English speaking ability be able to repair their equipment. In fact, over time, there have been actually Many controlled English Variants over the years.

STE100 started as a working draft in 1983 and was released globally in 1986. The goal was to standardize the language to sets of words and tenses to make Airplane maintenance manuals more uniform and avoid ambiguity.

“The key driver for the creation of a controlled and simplified form of English was a request from the airlines (80% of which were not from English-speaking countries) to ensure accurate maintenance practices and guarantee aircraft availability and safety. "

If there is confusion in the steps, people could die - it was important mechanics, especially non-native English speakers knew exactly what steps to perform and how.

This is a living document. The latest draft, ASD-STE100 Issue 9 came out January 2025.

This brings us to AI. One of the challenging habits of using AI for any kind of writing is it loves to add superfluous words, marketing jargon and unnecessary run-on sentences. When people in a forum started to discuss ways to deal with it, someone proposed just running AI output through ASD-STE100.

ASD-STE100

This document has 53 writing rules over 9 sections that cover allowed words, sentence structure, grammar and style. There is a dictionary of 900 approved words with exactly one meaning each and 1200 words which are explicitly not approved. Lastly, the spec calls out the use of “company” or “project” specific terms that are not in the dictionary, but allowed to be used and must be subject-specific nouns and verbs.

Here you can see how the guide is laid out:

/img/2026-08-ste100-01.png

It shows a section, a rule with a summary, then examples of good and examples of bad (non-STE).

Does this not sounds like something we already know?

Skills

The approach of rules, with examples, sounds exactly like an AI “Skill”. And that’s what some started to realize. The document meant to prevent airplane catastrophes by simplifying and controlling the language used in maintenance manuals was also an excellent fit for thinning up AI generated content.

Our YouTuber, Vusal Ismayilov pointed to the original blogger, Ege Chelebi’s repo (see the short blog post here) where he provided some skills we could use.

Using their skill

Let’s give the one they created a try.

I’ll clone their repo:

uilder@bosgamerz9:~/Workspaces$ git clone https://github.com/woosal1337/blog.git
Cloning into 'blog'...
remote: Enumerating objects: 1178, done.
remote: Counting objects: 100% (795/795), done.
remote: Compressing objects: 100% (489/489), done.
remote: Total 1178 (delta 348), reused 583 (delta 231), pack-reused 383 (from 1)
Receiving objects: 100% (1178/1178), 52.31 MiB | 24.26 MiB/s, done.
Resolving deltas: 100% (454/454), done.
builder@bosgamerz9:~/Workspaces$ cd blog/videos/ep01-the-cure-for-ai-slop/
builder@bosgamerz9:~/Workspaces/blog/videos/ep01-the-cure-for-ai-slop$ ls
README.md  before-after-samples.md  experiment-results-openai.md  experiment-results.md  run-openai.py  ste-lint.py  ste-writing-skill.md

Now let’s feed it some AI.

Now, I don’t know if this is AI created, it was from a LI post I saw from a c-suite at Datahub, but it sure sounds like corporate mouth garble to me:

Most industries can tolerate some ambiguity in AI governance. FinServ can’t.

After all, when a regulator asks how an AI agent arrived at a lending decision, “we’re not sure which data it used” isn’t an answer. It’s a compliance failure and potentially a legal liability.

53% of organizations in DataHub’s State of Context Management Report said that they frequently experience compliance issues from a lack of data provenance. In financial services, that statistic has teeth. An AI-powered trading system that can’t explain why it flagged a transaction. A credit risk model that can’t trace its inputs back to the source. A compliance team spending weeks manually reconstructing what data an agent used to generate a report because nothing in the infrastructure tracks it automatically.

Nine in ten financial institutions now encourage AI in financial compliance. They want it. They know it can reduce costs, improve accuracy, and catch patterns humans miss. What keeps breaking adoption is data quality, explainability, and auditability. The models are good enough. The missing piece is context infrastructure that can support those models with the provenance and audit trails that regulated environments demand.

When every agent execution gets tracked in a metadata graph with full lineage (what data was accessed, what quality signals were present, what governance policies applied), you’re capturing provenance in real time as infrastructure. That turns a three-week compliance investigation into a five-minute query.

And hey, I am not trying to pick on this guy - I just think that could be skinnied up a bit.

I’ll drop the contents into a markdown file:

builder@bosgamerz9:~/Workspaces/blog/videos/ep01-the-cure-for-ai-slop$ vi LI_fintech.md
builder@bosgamerz9:~/Workspaces/blog/videos/ep01-the-cure-for-ai-slop$ wc -l LI_fintech.md 
9 LI_fintech.md

Let’s now feed that through Antigravity

/img/2026-08-ste100-02.png

It quickly found and fixed passive voice issues, expanded contractions and resolved sentence fragments

/img/2026-08-ste100-03.png

Now here is the revised content:

Most industries can tolerate ambiguity in AI governance. Financial services cannot.

When a regulator asks how an AI agent made a lending decision, “we are not sure which data it used” is not an answer. This response is a compliance failure and a legal liability.

In DataHub’s State of Context Management Report, 53% of organizations reported compliance issues from missing data provenance. In financial services, this problem is severe. An AI trading system cannot explain why it flagged a transaction. A credit risk model cannot trace its inputs back to the source. A compliance team spends weeks manually tracking data because the infrastructure does not record it automatically.

Nine out of ten financial institutions encourage AI adoption in compliance. They know AI reduces costs, improves accuracy, and finds patterns that humans miss. However, poor data quality, weak explainability, and missing audit trails prevent adoption. The AI models are ready. The missing element is context infrastructure that provides the provenance and audit trails that regulators demand.

When infrastructure automatically records each agent execution in a metadata graph, it captures data provenance in real time. The graph tracks accessed data, quality signals, and applied governance policies. This turns a three-week compliance investigation into a five-minute query.

Now, I read the second and it’s more clear, but perhaps a bit more dry - less “enthusiastic”. But it also doesn’t have that “AI” sound either.

READMEs

One of my new favourite activities is using the skill to clean up README.md files.

For instance, if I used Gemini via agy to create a functional README:

/img/2026-08-ste100-04.png

it will do a pretty good job

/img/2026-08-ste100-05.png

I can then revise it with the skill

/img/2026-08-ste100-06.png

We can see it through out colourful icons and extra words

/img/2026-08-ste100-07.png

The resulting README, while more dry to read, is very clear and concise

/img/2026-08-ste100-08.png

Making my own skill

I liked the skill the original authors made, but it was a single small MD with just a subset of the rules set up. I felt we could do a bit better.

I brought down the latest PDF spec and fed it to Antigravity to create a skill:

/img/2026-08-ste100-09.png

Let’s try it’s suggested text:

python3 ste100/scripts/ste_checker.py "Prior to starting the hydraulic valve removal procedure, it is mandatory that the technician ensures
 system pressure has been bled off; you shouldn't utilize unapproved tools."

=======================================================
ASD-STE100 Issue 9 Compliance Report (Procedure)
=======================================================
Total Sentences Analyzed: 1
Total STE Rule Violations Found: 4

[Sentence #1] Rule 8.1 (No Semicolons)
  Violation: Semicolon ';' detected. Semicolons are prohibited in STE. Replace with a period or comma.
  Text: "Prior to starting the hydraulic valve removal procedure, it is mandatory that the technician ensures
 system pressure has been bled off; you shouldn't utilize unapproved tools."
-------------------------------------------------------
[Sentence #1] Rule 5.1 (Sentence Length)
  Violation: Sentence has 26 words (Exceeds maximum limit of 20 words).
  Text: "Prior to starting the hydraulic valve removal procedure, it is mandatory that the technician ensures
 system pressure has been bled off; you shouldn't utilize unapproved tools."
-------------------------------------------------------
[Sentence #1] Rule 4.2 (No Contractions)
  Violation: Contraction detected matching '\bshouldn't\b'. Write words out in full.
  Text: "Prior to starting the hydraulic valve removal procedure, it is mandatory that the technician ensures
 system pressure has been bled off; you shouldn't utilize unapproved tools."
-------------------------------------------------------
[Sentence #1] Rule 1.1 (Unapproved Word)
  Violation: Unapproved word 'utilize' (v) detected. Approved Alternative: 'USE (v) Approved meaning/'
  Text: "Prior to starting the hydraulic valve removal procedure, it is mandatory that the technician ensures
 system pressure has been bled off; you shouldn't utilize unapproved tools."
-------------------------------------------------------

The Skill it created is rather complete

/img/2026-08-ste100-10.png

With a proper SKILL.md header block

$ cat ste100/SKILL.md  | head -n4
---
name: ste100
description: ASD-STE100 Simplified Technical English (Issue 9, January 2025) specification skill. Enforces controlled language writing rules (Part 1, Sections 1–9), vocabulary dictionary lookups (Part 2), procedural & descriptive sentence constraints, safety warnings, and automated compliance checks.
---

Let’s now link it into an agents skills dir for any of the harnesses to use

builder@bosgamerz9:~/Workspaces/makeMyOwnSkill$ mkdir -p ~/.agents/skills
builder@bosgamerz9:~/Workspaces/makeMyOwnSkill$ ln -s /home/builder/Workspaces/makeMyOwnSkill/ste100 /home/builder/.agents/skills/ste100
builder@bosgamerz9:~/Workspaces/makeMyOwnSkill$ ls -l ~/.agents/skills/
total 0
lrwxrwxrwx 1 builder builder 46 Jul 29 06:52 ste100 -> /home/builder/Workspaces/makeMyOwnSkill/ste100

Testing

Let’s use the README in an older GotifyMe project I have.

here is the README as it stands

/img/2026-08-ste100-11.png

I can see the “ste100” skill there using /skills in agy

/img/2026-08-ste100-12.png

I’ll now use the skill on the README. We can see it starts to run the python checker right away

/img/2026-08-ste100-13.png

it found and fixed rule violations:

/img/2026-08-ste100-14.png

Here is the revised version:

/img/2026-08-ste100-15.png

I’m somewhat torn when I compare these side-by-side

/img/2026-08-ste100-16.png

The former version has my voice, which is a bit scatter brained and stream-of-conscious. But the newer version is unarguably clearer.

And if my goal is to provide concise documentation that any reader, especially non-native English speakers could translate, I’m thinking I would prefer the updated, even if it’s a bit more dull.

Sharing is Caring

Okay, to be fair this is not the first time I’ve made a skill. And my skills are getting littered all over - this is a problem.

I need to combine my skills into a shareable artifact and normally I would use Codeberg for this, but they are now getting a bit more particular about anything AI/LLM tools touch

/img/2026-08-ste100-17.png

I guess this means we use Github. And since I recently paid for Copilot, let’s let it help build out a repo for me:

/img/2026-08-ste100-18.png

I think it’s started working

/img/2026-08-ste100-19.png

I think it is working in draft pull request

/img/2026-08-ste100-20.png

I started to see the Draft PR updating

/img/2026-08-ste100-21.png

Staring at the PR doesn’t help, so I viewed the Session to see it cranking away:

/img/2026-08-ste100-22.png

After a short bit, it had the PR ready

/img/2026-08-ste100-23.png

It created a couple example skills (code review and PR summary) and a pretty decent installer script

/img/2026-08-ste100-24.png

I can now approve and merge

/img/2026-08-ste100-25.png

Once merged, I deleted the branch

/img/2026-08-ste100-26.png

I can now clone it and bring over my skill

builder@bosgamerz9:~/Workspaces$ git clone https://github.com/idjohnson/aiskills.git
Cloning into 'aiskills'...
remote: Enumerating objects: 22, done.
remote: Counting objects: 100% (22/22), done.
remote: Compressing objects: 100% (19/19), done.
remote: Total 22 (delta 3), reused 15 (delta 2), pack-reused 0 (from 0)
Receiving objects: 100% (22/22), 11.53 KiB | 268.00 KiB/s, done.
Resolving deltas: 100% (3/3), done.
builder@bosgamerz9:~/Workspaces$ cd aiskills/
builder@bosgamerz9:~/Workspaces/aiskills$ ls
INSTALL.md  LICENSE  README.md  install.sh  skills
builder@bosgamerz9:~/Workspaces/aiskills$ cd skills
builder@bosgamerz9:~/Workspaces/aiskills/skills$ ls
code-review  summarize-pr
builder@bosgamerz9:~/Workspaces/aiskills/skills$ cp -rf ../../makeMyOwnSkill/
ASD-STE100_ISSUE9.pdf  part1_rules.txt        pdf_layout.txt         ste100/                
dictionary.json        part2_dictionary.txt   pdf_text.txt           
builder@bosgamerz9:~/Workspaces/aiskills/skills$ cp -rf ../../makeMyOwnSkill/ste100/ ./
builder@bosgamerz9:~/Workspaces/aiskills/skills$ ls
code-review  ste100  summarize-pr

Then it’s just an add and push to the repo

builder@bosgamerz9:~/Workspaces/aiskills$ git add -A
builder@bosgamerz9:~/Workspaces/aiskills$ git status
On branch main
Your branch is up to date with 'origin/main'.

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
	new file:   skills/ste100/SKILL.md
	new file:   skills/ste100/examples/descriptive_examples.md
	new file:   skills/ste100/examples/procedural_examples.md
	new file:   skills/ste100/examples/safety_examples.md
	new file:   skills/ste100/references/approved_words_list.md
	new file:   skills/ste100/references/dictionary.json
	new file:   skills/ste100/references/quick_reference.md
	new file:   skills/ste100/references/technical_categories.md
	new file:   skills/ste100/references/unapproved_words_map.json
	new file:   skills/ste100/rules/01_words.md
	new file:   skills/ste100/rules/02_multi_word_nouns.md
	new file:   skills/ste100/rules/03_verbs.md
	new file:   skills/ste100/rules/04_sentences.md
	new file:   skills/ste100/rules/05_procedural_writing.md
	new file:   skills/ste100/rules/06_descriptive_writing.md
	new file:   skills/ste100/rules/07_safety_instructions.md
	new file:   skills/ste100/rules/08_punctuation_and_word_count.md
	new file:   skills/ste100/rules/09_writing_practices.md
	new file:   skills/ste100/scripts/dictionary_lookup.py
	new file:   skills/ste100/scripts/ste_checker.py

builder@bosgamerz9:~/Workspaces/aiskills$ git commit -m "STE100 Skill"
[main 3086fe9] STE100 Skill
 20 files changed, 21983 insertions(+)
 create mode 100644 skills/ste100/SKILL.md
 create mode 100644 skills/ste100/examples/descriptive_examples.md
 create mode 100644 skills/ste100/examples/procedural_examples.md
 create mode 100644 skills/ste100/examples/safety_examples.md
 create mode 100644 skills/ste100/references/approved_words_list.md
 create mode 100644 skills/ste100/references/dictionary.json
 create mode 100644 skills/ste100/references/quick_reference.md
 create mode 100644 skills/ste100/references/technical_categories.md
 create mode 100644 skills/ste100/references/unapproved_words_map.json
 create mode 100644 skills/ste100/rules/01_words.md
 create mode 100644 skills/ste100/rules/02_multi_word_nouns.md
 create mode 100644 skills/ste100/rules/03_verbs.md
 create mode 100644 skills/ste100/rules/04_sentences.md
 create mode 100644 skills/ste100/rules/05_procedural_writing.md
 create mode 100644 skills/ste100/rules/06_descriptive_writing.md
 create mode 100644 skills/ste100/rules/07_safety_instructions.md
 create mode 100644 skills/ste100/rules/08_punctuation_and_word_count.md
 create mode 100644 skills/ste100/rules/09_writing_practices.md
 create mode 100755 skills/ste100/scripts/dictionary_lookup.py
 create mode 100755 skills/ste100/scripts/ste_checker.py
builder@bosgamerz9:~/Workspaces/aiskills$ git push
Enumerating objects: 30, done.
Counting objects: 100% (30/30), done.
Delta compression using up to 16 threads
Compressing objects: 100% (28/28), done.
Writing objects: 100% (28/28), 186.84 KiB | 7.78 MiB/s, done.
Total 28 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0)
remote: Resolving deltas: 100% (2/2), completed with 1 local object.
To https://github.com/idjohnson/aiskills.git
   409bb7a..3086fe9  main -> main

Now anyone can use it from here

In VS Code

Initially I was struggling with finding where to add skills in VS Code for Copilot. Then I realized my Ubuntu dev box had it pinned at a nearly year old 1.103 version. Upgrading to latest (1.131.0) let me then verify it is listed in the agents window

/img/2026-08-ste100-27.png

And if we are in the standard VS Code “Chat” window, we can use /skills to bring up the skills menu and verify our user skills are there (at the bottom of the list)

/img/2026-08-ste100-28.png

Let’s test it on the first few paragraphs of Moby Dick

/img/2026-08-ste100-29.png

This is a pretty stark comparison.

We went from:

Call me Ishmael. Some years ago—never mind how long precisely—having little or no money in my purse, and nothing particular to interest me on shore, I thought I would sail about a little and see the watery part of the world. It is a way I have of driving off the spleen and regulating the circulation. Whenever I find myself growing grim about the mouth; whenever it is a damp, drizzly November in my soul; whenever I find myself involuntarily pausing before coffin warehouses, and bringing up the rear of every funeral I meet; and especially whenever my hypos get such an upper hand of me, that it requires a strong moral principle to prevent me from deliberately stepping into the street, and methodically knocking people’s hats off—then, I account it high time to get to sea as soon as I can. This is my substitute for pistol and ball. With a philosophical flourish Cato throws himself upon his sword; I quietly take to the ship. There is nothing surprising in this. If they but knew it, almost all men in their degree, some time or other, cherish very nearly the same feelings towards the ocean with me.

There now is your insular city of the Manhattoes, belted round by wharves as Indian isles by coral reefs—commerce surrounds it with her surf. Right and left, the streets take you waterward. Its extreme downtown is the battery, where that noble mole is washed by waves, and cooled by breezes, which a few hours previous were out of sight of land. Look at the crowds of water-gazers there.

Circumambulate the city of a dreamy Sabbath afternoon. Go from Corlears Hook to Coenties Slip, and from thence, by Whitehall, northward. What do you see?—Posted like silent sentinels all around the town, stand thousands upon thousands of mortal men fixed in ocean reveries. Some leaning against the spiles; some seated upon the pier-heads; some looking over the bulwarks of ships from China; some high aloft in the rigging, as if striving to get a still better seaward peep. But these are all landsmen; of week days pent up in lath and plaster—tied to counters, nailed to benches, clinched to desks. How then is this? Are the green fields gone? What do they here?

To:

My name is Ishmael. Some years ago, I had little money and little interest on land. I decided to sail and see the ocean world. Sea travel helps me control dark thoughts and sadness. When heavy feelings grow in my mind, I go to sea quickly.

This action is my safe substitute for violence. I do not use a pistol or a sword. I board a ship and travel. Many people feel this same pull toward the ocean.

Manhattan is an island city with wharves around it. Commerce surrounds the city like surf around reefs. Many streets lead toward the water. At the Battery, waves wash the shore and cool air comes from the sea. Many people stand there and look at the water.

On a quiet Sunday afternoon, walk through the city from Corlears Hook to Coenties Slip and then to Whitehall. You will see many people watching the sea. Some lean on piles, and some sit on pier heads. Some look from ship rails, and some climb in rigging for a better view. These people work on land during the week. They come to the shore because the sea attracts them.

I let it keep revising

/img/2026-08-ste100-30.png

with a final output of:

My name is Ishmael. Some years ago, I had small money and small interest on shore. I decided to sail and see the ocean world. Sea trips make dark thoughts and sadness less strong. When heavy feelings become strong in my mind, I go to sea quickly.

This selection keeps me away from violence. I do not have a pistol or a sword. I board a ship and go. Many persons feel this same pull to the ocean.

Manhattan is an island city with wharves around it. Commerce surrounds the city like surf around reefs. Many streets go to the water. At the Battery, waves hit the shore and air comes from the sea. Many persons stay there and look at the water.

On a quiet Sunday afternoon, walk through the city waterfront. You will see many persons who look at the sea. Some lean on piles, and some sit on pier heads. Some look from ship rails, and some climb in rigging for a better look. These persons have jobs on shore during the week. They come to the shore because the sea attracts them.

Summary

I started this by catching a YouTube video that just happened on my feed (okay, confession time, I watch a lot of YouTube). It seemed like such an obvious solution - using technical document writing guides from industries like aerospace to clean up sloppy AI wording.

I shared this with my colleagues and immediately fired off the skill on some our internal README.md files at work. I was really surprised how well it cleaned up ambiguous wording. In our case, some of our longer standing repos had been updated over time and often by different people. The verb tenses, the types of words, often made it a bit unclear. Once I ran the Author’s Skill over them with our approved AI tooling, it really cleaned up the language.

At home here, I started to write about this and it made me want to improve on that skill a bit. It’s not that the author’s skill was bad, it wasn’t - actually it’s very compact. And if you are using a token constrained system, I would recommend that skill.

However, I just started to stew on it, especially because I have given (and will be giving again next week) talks on making MCP servers and Skills. There are opportunities to make a much more robust skill with examples and scripts that can be used by frontier models.

So I got the PDF spec and fed that through Agy with Gemini 3.6 Flash High and built out a new skill. I tested it and then used Copilot (with Claude) to build an AISkills repo and add my new STE100 skill.

My goal is to have a skills repo where I can put my collective skills. And moreover a place where others can consume those skills. Sadly that means moving off of Codeberg as I don’t want to violate their rules.

I plan to use this skill on shareable technical docs like INSTALL.md, CONTRIBUTING.md and README.md files. I don’t use AI to write content - hopefully you can tell. But I do tend to write with a lot of idioms and odd turns of speech in my documentation and I am hoping that STE100 can help with that.