| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
🇷🇺 Русский — УТР, ГОСТ Р 58049-2017 · 🇬🇧 English — ASD-STE100
✈️ ваш ИИ пишет как пост в соцсети. заставьте его писать как руководство по эксплуатации «Суперджета».
Навык для агента, который заставляет языковые модели писать документацию на
упрощённом техническом русском языке (УТР) по разделу 8.2 ГОСТ Р 58049-2017:
контролируемом языке для эксплуатационной документации авиационной техники,
созданном так, чтобы усталый техник у «Сухого Суперджета» не мог понять инструкцию неправильно.
Вода из текста уходит как побочный эффект. 💀
Посмотреть · Установка · Правила · Отличия от STE · Проверка текста · Вопросы
Работает в любой среде, которая поддерживает стандарт Agent Skills: Claude Code, Cursor, VS Code Copilot, OpenAI Codex, Gemini CLI, Goose, OpenCode и ещё примерно 25. Одна папка, без зависимостей, лицензия MIT.
Слева — типичный текст языковой модели. Справа — тот же смысл по правилам УТР.
| 🤖 Без навыка | ✈️ С навыком |
|---|---|
|
|
|
|
|
|
Больше примеров с номерами пунктов ГОСТа: examples/before-after-ru.md.
npx skills add GregoryPletnev/SimpleEn-RUУтилита skills находит ваши агенты (Claude Code, Cursor, Codex, Copilot, Gemini CLI и другие) и ставит навык в выбранные. Попробовать без установки:
npx skills use GregoryPletnev/SimpleEn-RU@simple-russianСреда не поддерживает SKILL.md? Вставьте блок из prompts/system-prompt-ru.md в системный промпт, AGENTS.md или .cursorrules. Там же есть версия примерно на 70 токенов.
Затем просите любой технический текст или пишите: «перепиши это по УТР».
Claude.ai (платные тарифы) поддерживает навыки:
ChatGPT: навыки не поддерживаются. Скопируйте блок из prompts/system-prompt-ru.md в Настройки → Персонализация → Пользовательские инструкции или в инструкции проекта.
Gemini: создайте Gem и вставьте тот же блок в его инструкции.
Раздел 8.2 ГОСТ Р 58049-2017. Пункты, которые работают больше всех:
| Пункт | Что он убивает 🪦 |
|---|---|
| 8.2.5.1, 8.2.6.1 — максимум 20 слов в предложении | Период на 43 слова с четырьмя запятыми |
| 8.2.3.11 — ограничить причастия и деепричастия | «Сотрудник, отвечающий за…», «Запустив миграцию, …» |
| 8.2.3.10 — глаголы вместо номинативных конструкций | «осуществляют выполнение проверки параметров» |
| 8.2.3.9, 8.2.5.3 — повелительное наклонение множественного числа, глагол первым | Инфинитив в списке шагов: «установить пакет» |
| 8.2.3.13 — без страдательного залога в инструкциях | «Резервная копия должна быть создана» |
| 8.2.3.7 — один термин на одно понятие | Рулетка «проверить / убедиться / удостовериться» |
| 8.2.3.4 — прямой порядок слов | «Осмотр конфигурации производите при…» |
| 8.2.5.2 — одна команда в предложении | Шаги, которые нельзя выполнить в 2 часа ночи |
| 8.2.7 — сначала команда или условие, потом риск | Предупреждение, спрятанное после объяснения |
| 8.2.3.5 — без метафор, сравнений и жаргона | «Держим руку на пульсе», «из коробки» |
Полный каталог с примерами из программной документации: SKILL.md. Да, этот README нарушает половину из них. Рекламные тексты прямо выведены за границы применения УТР. Навык об этом знает и остаётся в документации. 😌
ГОСТ прямо называет ASD-STE100 образцом (пункт 8.1.2), но это не перевод. Различия, которые меняют текст:
| ASD-STE100 | УТР (ГОСТ Р 58049-2017) | |
|---|---|---|
| Длина предложения | 20 слов в инструкции, 25 в описании | 20 в обоих случаях (8.2.5.1, 8.2.6.1) |
| Текст в скобках | считается одним словом (8.5) | считается отдельным предложением, лимит 20 слов действует и на него |
| Повелительное наклонение | просто императив | только множественное число, глагол на первом месте (8.2.3.9) |
| Безличные конструкции | пассив не приветствуется | неопределённо-личные конструкции предписаны (8.2.3.3) |
| Словарь разрешённых слов | около 900 слов, издаёт ASD | нет — проект составляет свою терминологическую базу и глоссарий (8.1.3—8.1.8) |
| Главная структурная цель | времена, модальные глаголы, обороты на «-ing» | причастия, деепричастия, цепочки существительных, отглагольные существительные |
| Абзац | максимум 6 предложений | максимум 6 предложений, и абзац из одного предложения не чаще одного раза на 10 (8.2.6.2) |
Английский навык живёт рядом: simple-english, описание — в английской части.
Навык содержит правила (use-cases.md) для:
Куда навык не идёт: реклама, блог, тексты бренда. Плоско по замыслу. ✋
В комплекте детерминированный линтер evals/utr_lint.py. Без зависимостей.
python3 evals/utr_lint.py --type procedural --refs ваш-файл.md
python3 evals/utr_lint.py --self-testОн считает нарушения, которые ловит регулярное выражение: длину предложения, причастия и деепричастия, страдательный залог, номинативные конструкции, инфинитивы в шагах, повелительное наклонение единственного числа, условие после команды, жаргон, лишние заимствования, воду и ротацию синонимов. Флаг --refs печатает пункт ГОСТа за каждым счётчиком.
Честный потолок: это регулярные выражения, а не морфологический анализатор. Русскому языку нужен анализатор. Линтер работает по суффиксам и спискам слов, поэтому он и недосчитывает (порядок слов по 8.2.3.4 не проверяется), и иногда считает лишнее. Его числа сравнимы между двумя текстами на одной версии линтера. Это не вердикт о соответствии стандарту.
На 55,2 % меньше нарушений УТР на 100 слов с навыком. 6 моделей × 8 задач × 2 условия, 96 генераций, измерено.
| Модель | База, наруш./100 слов | С навыком | Снижение |
|---|---|---|---|
| claude-opus-4-8 | 2.12 | 0.42 | 80 % |
| claude-opus-4-7 | 1.81 | 0.98 | 46 % |
| claude-opus-4-6 | 1.29 | 0.68 | 47 % |
| claude-opus-4-5 | 1.61 | 0.75 | 53 % |
| claude-sonnet-5 | 2.21 | 0.58 | 74 % |
| claude-sonnet-4-6 | 1.23 | 0.85 | 31 % |
Выиграли все шесть моделей. Средняя длина предложения: 9,0 → 7,2 слова. Разброс снижения велик — от 31 % до 80 %, а на ячейку приходится одна генерация, поэтому читайте таблицу как направление, а не как точную величину. Полный метод и список оговорок: evals/results/RESULTS-RU.md.
Повторить у себя:
python3 evals/run_bench.py --lang ruНужен только Claude Code CLI с выполненным входом. Английская матрица для сравнения: 71,0 % — evals/results/RESULTS.md.
Текст будет соответствовать ГОСТу? Нет. Ни один инструмент этого не гарантирует. По умолчанию работает практический режим: структурные правила плюс терминология вашего проекта. Строгий режим ближе к стандарту, но полное соответствие требует терминологической базы и глоссария проекта (пункты 8.1.3—8.1.8), а готового словаря разрешённых слов у УТР нет.
Текст станет деревянным? Он станет похож на руководство по эксплуатации: плоским и однозначным. Для документации это и есть цель. Голос оставьте блогу. ✍️
Зачем стандарт для перевода авиационной документации в моём README? Затем, что это не вкусовщина. Это нумерованные, проверяемые правила, а русская техническая проза ломается ровно там, где их нарушает: причастные обороты, цепочки родительных падежей, «осуществляется» вместо глагола.
Почему просто не написать «пиши понятно»? «Понятно» — это мнение. «Не больше 20 слов в предложении» — это спецификация. Агенты выполняют спецификации. 📐
MIT на всё содержимое репозитория. Правила пересказаны для обучения, текст стандарта и содержимое словарей не воспроизводятся. Неофициальный проект. Не связан с Росстандартом, разработчиками ГОСТ Р 58049-2017, ASD и STEMG и не одобрен ими. ASD-STE100 — зарегистрированный товарный знак ASD.
✈️ your AI writes like a LinkedIn post. make it write like a Boeing manual.
An agent skill that forces LLMs to write docs in ASD-STE100 Simplified Technical English:
the controlled language aerospace has used since 1983 so a tired mechanic cannot misread an instruction.
AI slop dies as a side effect. 💀
This repository is a fork of AminBlg/SimpleEnglish.
It adds Russian support: the simple-russian skill for ГОСТ Р 58049-2017 (УТР), a Russian linter, and Russian benchmark scenarios.
The English skill, its rules, and its measured benchmark come from upstream.
See it · Install · The rules · Not just docs · Benchmarks · Receipts · FAQ
Works in every harness that speaks the Agent Skills standard: Claude Code, Cursor, VS Code Copilot, OpenAI Codex, Gemini CLI, Goose, OpenCode, and ~25 more. One folder, no dependencies, MIT.
Left column is real unedited Claude output. Right column is the same model with the skill loaded.
| 🤖 Without skill | ✈️ With skill |
|---|---|
|
|
|
|
|
|
┌── measured: 6 Claude models × 8 tasks × 2 conditions, 96 runs ──┐ │ STE violations per 100 words ▼ 71.0% (every model won) │ │ output tokens ▼ on all 6 models │ │ mean sentence length 10.5 → 9.3 words │ │ "seamlessly" survived 0 │ └─────────────────────────────────────────────────────────────────┘
More rewrites in examples/before-after.md: READMEs, error messages, incident reports, release notes.
npx skills add GregoryPletnev/SimpleEn-RUThat is it. The skills CLI detects your agents (Claude Code, Cursor, Codex, Copilot, Gemini CLI, and more) and installs for the ones you pick. This repository ships both skills, so you can select simple-english alone, or take simple-russian with it. For the English skill only, from upstream: npx skills add AminBlg/SimpleEnglish.
Try before installing:
npx skills use GregoryPletnev/SimpleEn-RU@simple-englishNo SKILL.md support at all? Paste prompts/system-prompt-en.md into your system prompt, AGENTS.md, or .cursorrules. There is even a ~60-token version for tight budgets.
Then ask for any technical writing, or say: "rewrite this with simple-english".
Claude.ai (paid plans) supports skills natively:
ChatGPT: no skill support, so use the prompt version. Copy the block from prompts/system-prompt-en.md into Settings → Personalization → Custom Instructions, or into the instructions of a Project or Custom GPT.
Gemini: create a Gem and paste the same block into its instructions.
Any other chatbot: attach or paste prompts/system-prompt-en.md into the chat and say "apply this to everything you write for me".
53 numbered rules, 9 sections, written in 1983 by people whose readers die when a sentence is ambiguous. The ones doing the heavy lifting:
| Rule | What it kills 🪦 |
|---|---|
| Max 20 words per instruction, 25 per description | The run-on sentence |
| One word = one meaning, whole document | check/verify/confirm/validate roulette |
| Simple tenses only | "has been updated" → "we updated" |
| No "-ing" verb forms | ", making it easy to..." clauses |
| Active voice | "it should be noted that" |
| No should/would/may/might | Hedging. (can, will, must survive) |
| Condition BEFORE command | Trailing "...if the flag is set" that readers execute too late |
| One instruction per sentence | Steps nobody can follow at 2 a.m. |
| Keep articles, keep "that" | Telegraph style. STE is short, not terse |
Full paraphrased set with software examples: 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. 😌
The skill ships adaptations (use-cases.md) for:
Where it refuses to go: marketing copy, blog voice, brand writing. Flat on purpose. ✋
71.0% fewer STE violations per 100 words with the skill on, averaged across 6 models × 8 writing tasks (96 generations, measured).
| Model | Baseline viol/100w | Skill viol/100w | Reduction |
|---|---|---|---|
| claude-opus-4-8 | 1.05 | 0.62 | 41% |
| claude-opus-4-7 | 1.97 | 0.42 | 79% |
| claude-opus-4-6 | 2.24 | 0.40 | 82% |
| claude-opus-4-5 | 2.29 | 0.57 | 75% |
| claude-sonnet-5 | 2.48 | 0.53 | 79% |
| claude-sonnet-4-6 | 1.77 | 0.52 | 71% |
Output 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. Reproduce with python3 evals/run_bench.py — needs only a logged-in Claude Code CLI.
Built TDD-style against the primary Issue 9 text (2025), not blog summaries:
Russia has its own controlled language, and it names STE as its model: ГОСТ Р 58049-2017, clause 8.2, упрощённый технический русский язык (УТР). Same idea, different grammar problems — Russian breaks on participial phrases, genitive noun chains, and nominalized verbs rather than on tenses and modals, so the limits and targets differ:
| ASD-STE100 | УТР (ГОСТ Р 58049-2017) | |
|---|---|---|
| Sentence limit | 20 procedural / 25 descriptive | 20 for both (8.2.5.1, 8.2.6.1) |
| Text in parentheses | counts as one word (8.5) | counts as a separate sentence, also capped at 20 |
| Imperative | plain imperative | plural imperative only, verb first (8.2.3.9) |
| Impersonal constructions | passive discouraged | неопределённо-личные constructions are prescribed (8.2.3.3) |
| Approved dictionary | ~900 words, published by ASD | none — the project builds its own terminology base and glossary (8.1.3–8.1.8) |
| One paragraph | max 6 sentences | max 6 sentences, and single-sentence paragraphs at most once per 10 (8.2.6.2) |
Sibling skill, its own linter and its own measured matrix: 55.2% fewer УТР violations per 100 words, 6 models × 8 tasks × 2 conditions, 96 generations (evals/results/RESULTS-RU.md). All six models improved. Details: see the Russian part above.
npx skills use GregoryPletnev/SimpleEn-RU@simple-russianDoes 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.
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. ✍️
Why not just prompt "write clearly"? "Clearly" is an opinion. "No sentence over 20 words" is a spec. Agents follow specs. 📐
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.
MIT 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, STEMG, or the authors of ГОСТ Р 58049-2017. ASD-STE100 is a registered trademark of ASD.
| Back | FazBrowse Home | New Git URL |