Install
openclaw skills install @j3ffyang/asd-ste100Apply ASD-STE100 Simplified Technical English to written instructions: one action per sentence, imperative mood, condition first, one name per item, short sentences, no semicolons. Use before writing or when auditing prompts, AGENTS.md, SKILL.md, READMEs, runbooks, checklists, and the technical steps of an article. For articles, enforce structure only and keep the essay voice; never flatten narrative prose. Report contradictions between rule files instead of silently choosing one.
openclaw skills install @j3ffyang/asd-ste100ASD-STE100 is a controlled language built for aircraft maintenance manuals. Its value here is not the 875-word dictionary. It is the discipline: an agent cannot ask a follow-up question, so every instruction must survive being read once, literally, at 2am.
This skill applies that discipline to text an agent must obey or parse.
Companion article: The Rules, Not the Words: ASD-STE100 for Agent Instructions.
| Text | Mode |
|---|---|
Prompts, AGENTS.md, SKILL.md, READMEs, runbooks, checklists, commit-message bodies | Full: vocabulary discipline and structure |
| Technical steps, commands, conditions, tables, and claims inside an article | Structure only: one action, condition first, one name per item, no semicolons |
| Article narrative, essays, marketing copy, personal voice | Out of scope: do not rewrite |
Chinese (-zh-hans.md, -zh-hant.md) | Structural advice only: no vocabulary enforcement; the standard defines English |
When in doubt about a sentence, ask whether the reader is expected to do something. If yes, it is a procedure. If no, it is a description, and only the descriptive limits apply.
Rule numbers refer to ASD-STE100 Issue 9. The full set of 53 is in references/rules.md.
OpenCode or opencode and never rotate synonyms for variety.Local adaptation, not part of the standard: count a code span, path, or identifier as one word. The standard has no concept of code.
ai-thoughts/README.md, README_zh.md, PORTFOLIO.md). Audit their sources instead (articles.yaml, scripts/portfolio_template.md).OpenCode/opencode, skill/SKILL.md, and any command spelled two ways.opencode.jsonc. Look for a stat that no longer matches the repo.Stop and report when any of these appear. Do not pick a side, and do not average the two:
docs/").State the conflict in one sentence, cite both locations, and propose the smallest resolution. Wait for a decision.
Run these commands from the ai-thoughts repo root:
python3 .opencode/skills/asd-ste100/scripts/ste_lint.py PATH...
python3 .opencode/skills/asd-ste100/scripts/ste_lint.py --check PATH...
python3 .opencode/skills/asd-ste100/scripts/ste_lint.py --stats PATH...
python3 .opencode/skills/asd-ste100/scripts/ste_lint.py --json PATH...
It reports:
It does not check meaning, one-instruction-per-sentence, synonym drift, or whether a rewrite preserved a condition. Those stay with the reader.
Counts exclude fenced code, inline code, URLs, table rows, and headings. A code span counts as one word.
--stats prints one summary row per file: sentences, over 20 words, over 25 words, semicolons, errors, warnings. --json prints the findings as JSON for another tool.
One blind spot: a sentence that ends in a bare URL merges with the next sentence. The URL token consumes the full stop, so the two sentences count as one and can raise a false long-sentence finding. End the sentence with a word, or put the URL on its own line.
In article mode, treat semicolon and vocabulary findings in narrative prose as advisory. The structural rules still apply to steps, commands, conditions, and tables.
file:line, rule, issue, proposed fix, severity. No edits.references/rules.md — condensed 53-rule summary, grouped by section, plus common substitutions.This skill summarizes the rules for practical use. It does not reproduce the standard or its 875-word dictionary. ASD restricts reproduction. For certified documentation, use the official standard.