agentleFS
MicrosoftKnown publishermicrosoft/oxidizer/.github/skills/simple-english/SKILL.md

simple-english

Skill183 starsChanged 53 days agoMITView on GitHub

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.

We split this skill into the rules it gives an agent

14 rules. 0 are common, 13 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 23 edited versions we read keep these.

  • 13

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    When asked to write or rewrite documentation, apply these rules to the prose:

    line 33
  2. Distinctive:

    Never touch code, identifiers, commands, flags, file paths, quoted errors, product names, or facts.

    line 36
  3. Distinctive:

    Use simple tenses and active voice.

    line 38
  4. Distinctive:

    Use complete grammar. No contractions, keep articles, keep "that".

    line 40
  5. Distinctive:

    No semicolons and no em-dashes.

    line 41
  6. Distinctive:

    Use formatting only where it carries structure.

    line 45
  7. Very specific:

    Use American spelling. references/word-swaps.md maps the overused words to plain ones.

    line 48
  8. Distinctive:

    After (procedural, headed, numbered):

    line 54
  9. Distinctive:

    Every chat reply, in every mode, follows these rules:

    line 65
  10. Distinctive:

    No em-dashes. Name the relation ("because", "but", "for example") or write two sentences.

    line 69
  11. Distinctive:

    No contractions. No openers ("Certainly", "Great question") and no closers ("I hope this helps", "Let me know").

    line 71
  12. Distinctive:

    Do not shorten quoted error text, security warnings, or confirmations before a destructive action.

    line 72
  13. Distinctive:

    Before: The failure stems from control-plane leader election during pod churn — nothing to worry about!

    line 74
  14. Distinctive:

    After: The pods restarted and the queue lost its leader for a short time.

    line 75

“Common” is measured: kept by at least 6 in 10 of the 23 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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

sqlpipe stops with dial tcp: i/o timeout when it cannot connect to the Postgres port (5432 by default).

  1. Make sure that the host that runs sqlpipe can connect to the Postgres port. A firewall or security group usually blocks it.
  2. If the database is managed (RDS, Cloud SQL), make sure that the instance accepts connections from the IP of sqlpipe.

The Reply

Every chat reply, in every mode, follows these rules:

  1. Answer in prose. No headers, no bullet lists, no bold, no tables. A code block is legal when the reader must copy it.
  2. The first sentence gives the answer or the result. Do not restate the question.
  3. No em-dashes. Name the relation ("because", "but", "for example") or write two sentences.
  4. Define a concept term in a few words the first time you use it: "idempotent (safe to run twice)". Do not define product names.
  5. No contractions. No openers ("Certainly", "Great question") and no closers ("I hope this helps", "Let me know").
  6. Do not shorten quoted error text, security warnings, or confirmations before a destructive action.

Before: The failure stems from control-plane leader election during pod churn — nothing to worry about! After: The pods restarted and the queue lost its leader for a short time. It recovered without help. You do not have to do anything.

Self-Check Before You Deliver

  1. Reply: search for —, **, #, and a line that starts with -. Remove each one.
  2. Document: count the words in your three longest sentences. Over 20 or 25, split. Search for ', has been, should, may, ;, —, , making, **, check, verify, config, and any heading that covers fewer than three sentences. Fix each hit. Read each step: does it name a host, a flag, or a prior step the reader must already have? If not, add it or point to it.

Modes

Plain is the default and is all of the above. Strict applies when the user names STE, ASD-STE100, or compliance: read references/strict-vocabulary.md before you draft the document, and say once that no tool guarantees compliance. The reply stays Plain in every mode.

When asked to CHECK text instead of writing it, first open references/rule-catalog.md. Then report each violation as: rule number quoted from that file, the offending text, a compliant rewrite. Never cite a rule number from memory. When the user asked for compliance, end with one sentence: no tool can guarantee ASD-STE100 compliance, and the standard is a free download at asd-ste100.org.

Limits

These rules are for facts and instructions, not marketing copy or brand writing, because they delete persuasion. Say so, and offer them for the docs instead.

References

  • references/rule-catalog.md: the 53 rules of Issue 9 with software examples, for CHECK mode
  • references/strict-vocabulary.md: the dictionary discipline for Strict mode
  • references/word-swaps.md: a map from overused words to plain ones
  • references/use-cases.md: the mode and the pattern for error messages, runbooks, incident reports, release notes, commits, agent prompts, UI copy, and translation prep

Download now (ZIP)

  • Other versions23 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 9

    1. chromedp/chromedp★ 13k98% same
    2. xo/usql★ 10k88% same
    3. AminBlg/SimpleEnglish★ 3.9k98% same
    4. moeru-ai/xsai★ 66588% same
    5. samson-art/transcriptor-mcp★ 2486% same
    6. ivanrvpereira/.agents★ 1995% same
    7. kwaa/skills★ 298% same
    8. chryzsh/claude-skills★ 188% same
    9. dio-az/dotfiles★ 198% same

    Wrote their own version · 14

    1. moeru-ai/airi★ 51ksame name
    2. TanStack/ai★ 3.3ksame name
    3. danielvm-git/bigpowers★ 286same name
    4. moeru-ai/auv★ 198same name
    5. nightscout/nocturne★ 161same name
    6. vinta/hal-9000★ 142same name
    7. alint-dev/alint★ 123same name
    8. moeru-ai/alint★ 123same name
    9. United-Codes/uc_ai★ 49same name
    10. apoapostolov/humanizer★ 9same name

    4 more not listed

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • Used alongsideProjects with it also use xsai, i-have-adhd and 10 more.

    Other files people use alongside this one.

    Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
    • alint-devSkill

      xsai

      Use this skill when the user is building with `xsai` or any `@xsai/*` package, or is evaluating xsAI for a small OpenAI-compatible workflow with text generation, streaming, tool calling, structured output, embeddings, image generation, speech synthesis, or transcription.

      Also in 4 projects that use this

    • PydanticSkill

      i-have-adhd

      Shape every response for an ADHD reader who reviews the work but does not do the coding — the agent does. Use whenever responding to ANY message — coding, debugging, planning, casual. Lead with the result or the decision. Surface anything needing the user's input as a structured question, never buried in prose they'll skim past. No preamble, no recap, no closers. State errors matter-of-factly. Make finished work visible. Trigger even on casual messages and even when brevity wasn't requested.

      Also in 5 projects that use this

    • JetBrainsSkill

      pnpm

      Node.js package manager with strict dependency resolution. Use when running pnpm specific commands, configuring workspaces, or managing dependencies with catalogs, patches, or overrides.

      Also in 3 projects that use this

    • AWSSkill

      wait-what

      Stop. That last message did not land: re-pitch it.

      Also in 3 projects that use this

    • AWSSkill

      wizard

      Generate an interactive bash wizard that walks a human through steps only they can perform. Use when provisioning infrastructure, setting up credentials or CI secrets, walking an unfamiliar third-party dashboard, or running a one-off migration or cutover. Don't invoke this for steps the agent can perform itself.

      Also in 3 projects that use this

    • Microsoft AzureSkill

      humanizer

      Tone enforcement patterns for external-facing community responses

      Also in 4 projects that use this

  • In this repository9 other files it gives its agents.

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.