write-plain-english
Skill25 starsChanged 32 days agoMITView on GitHub
Use when writing or editing prose that people read, such as documents, pull requests, commit messages, review comments, chat replies, or skills. Also use it when the user says "make this clearer", "simplify the wording", or "this is a wall of text". Rewrites the text in plain technical English, with one idea in each sentence and no dashes. Then runs a checker that reports long sentences and dashes. Not for checking code behavior (use `verify-and-review`).
In this repository49 other files it gives its agents.
- AGENTS.mdAGENTS.md
- evals/AGENTS.mdAGENTS.md
- tooling/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- evals/CLAUDE.mdCLAUDE.md
- tooling/CLAUDE.mdCLAUDE.md
- choose-by-consequenceSkill
- design-deep-modulesSkill
- diagnose-before-editingSkill
- plan-with-review-pageSkill
- research-primary-sourcesSkill
- resolve-conflicts-by-intentSkill
- scope-confirmed-changesSkill
- shadowclone-build-preferencesSkill
- shadowclone-reviewSkill
- shadowclone-workSkill
- tests-that-catch-bugsSkill
- typescript-type-safetySkill
- verify-and-reviewSkill
- choose-by-consequenceSkill
- data-handlingSkill
- design-deep-modulesSkill
- diagnose-before-editingSkill
- plan-with-review-pageSkill
- research-primary-sourcesSkill
- resolve-conflicts-by-intentSkill
- scope-confirmed-changesSkill
- shadowclone-build-preferencesSkill
- shadowclone-reviewSkill
- shadowclone-workSkill
- tests-that-catch-bugsSkill
- typescript-type-safetySkill
- verify-and-reviewSkill
- write-plain-englishSkill
- choose-by-consequenceSkill
- design-deep-modulesSkill
- diagnose-before-editingSkill
- guided-pr-reviewSkill
- plan-with-review-pageSkill
- research-primary-sourcesSkill
- resolve-conflicts-by-intentSkill
- scope-confirmed-changesSkill
- shadowclone-reviewSkill
- shadowclone-workSkill
- tests-that-catch-bugsSkill
- typescript-type-safetySkill
- verify-and-reviewSkill
- verify-review-findingsSkill
- write-plain-englishSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
15 rules. About 0 are common, 15 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈15
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 23
Do you use one term for one thing, every time?
- Distinctive: line 32
Put the main point first. Give the reader the result, then the reason.
- Distinctive: line 33
Use common words that have one meaning.
- Distinctive: line 34
Keep the articles "the" and "a".
- Distinctive: line 35
Use numbered steps for a procedure, with one action in each step.
- Distinctive: line 36
Put a condition before its instruction: "If the test fails, read the first error."
- Distinctive: line 44
Write one topic in each paragraph.
- Distinctive: line 46
Use a table to compare options.
- Distinctive: line 52
Easy route: Keep the sentence. It is accurate, and a rewrite takes time.
- Distinctive: line 55
Evidence: Before the edit, the checker reported the 45 word sentence and the dash.
- Distinctive: line 59
Keep technical terms, identifiers, and quoted text exactly as they are.
- Distinctive: line 60
Do not change the meaning to obey a rule.
- Distinctive: line 61
Do not rewrite text that another person wrote, unless they ask.
- Distinctive: line 62
Do not add filler, praise, or hedging words, such as "robust", "seamless", or "simply".
- Distinctive: line 63
Keep each term the same in the whole document.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Write Plain English
Use when
You write or edit any text that a person reads. Examples are a document, a pull request, a commit message, a review comment, a chat reply, and a skill. This skill is always on, so load it before you write.
The rules come from ASD-STE100 Simplified Technical English, at about 80% strictness. Fix every checker error. Fix each warning, or keep it and give a reason. Clarity comes first. If a rule makes the text wrong or unclear, break the rule.
Gates
- Does each sentence carry one idea, with 20 words or fewer for an instruction and 25 or fewer for a description?
- Is each instruction in the active voice, with the condition before the action?
- Do you use one term for one thing, every time?
- Is the text free of em dashes and en dashes?
- Did you run
scripts/check-ste.mjson the text, fix every error, and fix or explain each warning? - Are code, commands, paths, and product names exactly as they were?
Process
Write in the user's voice. Before you write, read ~/.agents/voice.md. If it does not exist, build it once from the user's merged pull requests, review comments, and commit messages. Use only text that the user wrote, and name those sources in your handoff. Never overwrite an existing or linked voice.md.
- Put the main point first. Give the reader the result, then the reason.
- Use common words that have one meaning. Use a single verb, not a phrasal verb: "start", not "kick off".
- Keep the articles "the" and "a". Do not drop words to save space.
- Use numbered steps for a procedure, with one action in each step.
- Put a condition before its instruction: "If the test fails, read the first error."
- Replace each dash with a comma, a period, parentheses, or two sentences. For a range, write "to", as in "2 to 5".
- Save the text to a file, and run
node scripts/check-ste.mjs <file>. If Node is not available, run the script withbun. If neither one runs, say that the check did not run. - Fix every error. For each warning, fix it, or keep it and say why the rule makes the text worse.
For a document, also follow these rules:
- Lead with the result. Put the reason and the detail after it.
- Write one topic in each paragraph.
- Name each heading for the task or the answer that the reader needs.
- Use a table to compare options. Use a numbered list for steps.
- Link to the text that already exists. Do not repeat it.
Example
Situation: A pull request explains a bug in one sentence of 45 words. The sentence joins the symptom, the cause, and the fix with "so" and "which", and it has an em dash. Easy route: Keep the sentence. It is accurate, and a rewrite takes time. Hidden cost: Reviewers skim it and miss the cause, so they ask about it in review. The dash also fails the prose check of the repository. Best route: Split it into three sentences: the symptom, the cause, and the fix. Replace the dash with a period. Evidence: Before the edit, the checker reported the 45 word sentence and the dash. After the edit, it printed "check-ste: 0 errors, 0 warnings in 1 file".
Guardrails
- Keep technical terms, identifiers, and quoted text exactly as they are. Do not paraphrase an error message.
- Do not change the meaning to obey a rule.
- Do not rewrite text that another person wrote, unless they ask. Suggest the change instead.
- Do not add filler, praise, or hedging words, such as "robust", "seamless", or "simply".
- Keep each term the same in the whole document.
Completion
- The checker command and its summary line, for example
check-ste: 0 errors, 1 warning in 1 file. - Each warning that you kept, with its
file:lineand your reason. - The path of the voice file that you read, or the sources that you used to build it.
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
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.

