商业产业 Hacker News Agent 2026-07-30T19:34 正文 ok 1174 words

一项 Agent Skill:强制文档采用 ASD-STE100 简明技术英语

英文标题:🔶 Agent Skill to Force Docs in ASD-STE100 Simplified Technical English

该项目提供一项符合 Agent Skills 标准的 Agent Skill,用于强制 LLM 按 ASD-STE100 简明技术英语撰写技术文档,以减少含糊、冗长和典型的 AI 套话。基准测试称,在 6 个 Claude 模型、8 项写作任务、共 96 次生成中,启用该 Skill 后每 100 词的 STE 违规数平均下降 72.9%,且所有模型的输出 token 均减少。该 Skill 可用于 Claude Code、Cursor、OpenAI Codex、VS Code Copilot、Gemini CLI 等工具,也为 ChatGPT、Gemini 等不支持 Skill 的产品提供系统提示词版本。项目强调其并不提供官方 STE 认证,而是以可测试的结构规则和领域词汇帮助开发者编写更清晰的错误信息、Runbook、事故报告和发布说明。
打开原文相关 3 · 机会 1
media1.4 KB media1.3 KB media1.3 KB media1.2 KB media118.4 KB

中文

✈️ 你的 AI 写得像 LinkedIn 帖子。让它写得像波音手册。

一项 Agent Skill,强制 LLM 使用 ASD-STE100 简明技术英语编写文档:
这是一种自 1983 年起由航空航天业使用的受控语言,旨在确保疲惫的维修人员 无法 误读一条指令。
AI 套话也会随之消失。💀

实测 STE 违规减少 72.9% 已基准测试 6 个模型 Agent Skills MIT


适用于所有支持 Agent Skills 标准的运行环境:Claude Code、Cursor、VS Code Copilot、OpenAI Codex、Gemini CLI、Goose、OpenCode 以及另外约 25 种工具。一个文件夹,无依赖,MIT 许可。

左列是未经编辑的真实 Claude 输出。右列是加载该 Skill 后同一模型的输出。

🤖 未使用 Skill ✈️ 使用 Skill

借助 sqlpipe 强大的架构,用户可以以极少的配置开销,将 Postgres 表无缝同步至 S3。开始前,你应确保 AWS 凭证已正确配置——这对避免后续令人沮丧的权限问题至关重要。 | > sqlpipe 会将你的 Postgres 表复制到 S3。它需要一个配置文件。开始前,请确保 AWS 凭证正确。如果凭证不正确,S3 会拒绝上传并返回权限错误。 糟糕!尝试建立连接时发生错误。请确保你的凭证已正确配置后重试;如果问题仍然存在,请联系管理员。 | > 数据库连接失败:用户 app 的密码不正确。请将 DB_PASSWORD 设为正确的值,然后再次连接。 我们已发现一个问题,该问题可能影响了部分用户访问服务的能力。对于由此造成的任何不便,我们深表歉意。 | > 在 14:02 至 14:31 UTC 期间,12% 的请求失败。14:00 的一次部署移除了缓存预热步骤。我们在 14:27 回滚了该部署。

┌── 测量:6 个 Claude 模型 × 8 项任务 × 2 种条件,96 次运行 ──┐
│  每 100 词 STE 违规数             ▼ 72.9%(每个模型均获胜)    │
│  输出 token                       ▼ 全部 6 个模型均下降         │
│  平均句长                         11.2 → 9.7 个词               │
│  “seamlessly” 留存数量            0                             │
└─────────────────────────────────────────────────────────────────┘

更多改写示例见 examples/before-after.md:README、错误信息、事故报告、发布说明。

npx skills add AminBlg/SimpleEnglish

就这么简单。skills CLI会检测你的 Agent(Claude Code、Cursor、Codex、Copilot、Gemini CLI 等),并为你选择的工具安装。可在安装前试用:

npx skills use AminBlg/SimpleEnglish@simple-english

完全不支持 SKILL.md?将 prompts/system-prompt.md粘贴到你的系统提示词、AGENTS.md 或 .cursorrules 中。对于 token 预算紧张的场景,甚至还有约 60 token 的版本。

之后,要求它进行任何技术写作,或直接说:“用 simple-english 改写这段内容。”

🖱️ 没有终端?(claude.ai、ChatGPT、Gemini)

Claude.ai(付费方案)原生支持 Skill:

  1. 下载 Skill 文件:打开 SKILL.md并保存(Ctrl+S / Cmd+S)。
  2. 在 claude.ai 中,进入设置 → 功能,开启代码执行。
  3. 进入设置 → 自定义 → Skills → 上传,并上传已保存的 SKILL.md。
  4. 启用该 Skill。完成。你要求技术写作时,Claude 会应用它。

ChatGPT:不支持 Skill,因此请使用提示词版本。将 prompts/system-prompt.md中的内容块复制到设置 → 个性化 → 自定义指令,或复制到 Project 或 Custom GPT 的指令中。

Gemini:创建一个 Gem,并将同一内容块粘贴到其指令中。

任何其他聊天机器人:将 prompts/system-prompt.md 作为附件或粘贴到聊天中,然后说“将此应用于你为我编写的所有内容”。

53 条编号规则、9 个章节,由一群读者会因句子歧义而丧命的人在 1983 年编写。真正发挥主要作用的规则如下:

规则 它消灭的问题 🪦
每条指令最多 20 个词,每段描述最多 25 个词 冗长的连写句
一个词 = 一种含义,贯穿整篇文档 check/verify/confirm/validate 的轮盘赌
只使用简单时态 has been updated → we updated
不使用 -ing 动词形式 , making it easy to... 这类从句
使用主动语态 it should be noted that
不使用 should/would/may/might 模糊保留。(can、will、must 可以保留)
条件置于命令之前 读者执行得太晚的后置 ...if the flag is set
每句只包含一条指令 凌晨 2 点没人能照着执行的步骤
保留冠词,保留 that 电报式文风。STE 要求简短,不是极度简略

包含软件示例的完整转述规则集见:SKILL.md。是的,这份 README 违反了其中一半规则。营销内容明确不在 STE 适用范围内。该 Skill 知道这一点,并会留在文档写作的边界内。😌

该 Skill 针对以下场景提供了适配方案(use-cases.md):

  • 🚨 错误信息:按“发生了什么 → 原因 → 如何处理”的顺序编写
  • 📟 Runbook:这是 STE 的主场;Runbook 就是一份维护手册
  • 🧯 事故报告:简单过去时会干掉“we have identified an issue that may have impacted”这类表述
  • 📣 发布说明:将破坏性变更写成警告:先给命令,后说明风险
  • 🤖 你的 AGENTS.md / 提示词:系统提示词是一套写给无法提问的读者的流程。模型会将“should”理解为可选项。STE 禁用“should”。想想这一点。
  • 🌍 翻译准备:这正是 STE 最初的工作:让非母语者易读,并降低本地化成本

它拒绝涉足的领域:营销文案、博客文风、品牌写作。刻意保持平淡。✋

启用该 Skill 后,每 100 词的 STE 违规数平均减少 72.9%;数据来自 6 个模型 × 8 项写作任务(96 次生成,已测量)。

模型 基线违规数/100 词 使用 Skill 后违规数/100 词 降幅
claude-opus-4-8 1.05 0.62 41%
claude-opus-4-7 2.28 0.42 82%
claude-opus-4-6 2.24 0.40 82%
claude-opus-4-5 2.55 0.57 78%
claude-sonnet-5 2.67 0.53 80%
claude-sonnet-4-6 2.06 0.52 75%

全部六个模型的输出 token 也都减少了(该 Skill 会写得更短)。使用确定性正则表达式 linter,两种条件采用相同规则;完整的方法、诚实的注意事项列表见 evals/results/RESULTS.md。可使用 python3 evals/run_bench.py 复现——只需已登录的 Claude Code CLI。

项目以 TDD 方式构建,依据的是主要的 Issue 9 正文(2025 年),而不是博客摘要:

  • 未使用该 Skill 的基线 Agent 会写出 40 词长句,并且杜撰规则编号。其中一个还煞有介事地引用“Rule 3.1: short sentences”(真正的 Rule 3.1 是动词形式 💀)。
  • 网上二手资料对情态动词的说法有误:can 和 will 确实获准使用。项目检查了 PDF。
  • 该 Skill 的编写目标是修复每一项已记录的基线失败,随后反复测试,直到 Agent 通过。测试场景与记录结果见:evals/pressure-tests.md

**这会让输出获得 STE 认证吗?**不会。没有任何工具能做到这一点,因为 ASD 不认证任何工具。默认模式采用务实策略:结构规则 + 你的领域词汇。严格模式可以接近标准;词汇级别的裁定以官方标准为准,该标准可免费下载。

**我的文档会不会听起来很机械?**它们会听起来像空客手册:平淡且不可能被误读。对于文档而言,这正是目的。博客可以保留你的个人文风。✍️

为什么不直接提示“写清楚”?“清楚”是一种观点。“任何句子不得超过 20 个词”是一项规范。Agent 会遵循规范。📐

**为什么采用一项 40 年前的航空航天标准?**因为它不是凭感觉。它仍在维护中(Issue 9,2025 年 1 月)、有编号、可测试。而且它恰好几乎完全反向对应了所有 AI 写作特征。

这里的所有内容均采用 MIT 许可。该仓库为教学目的转述规则,不复制任何规范原文或词典内容。这是非官方项目,与 ASD 或 STEMG 没有关联,也未获得其认可。ASD-STE100 是 ASD 的注册商标。

English / 原文

✈️ 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. 💀

72.9% fewer violations, measured 6 models benchmarked Agent Skills MIT

See it · Install · The rules · Not just docs · 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

Leveraging sqlpipe's robust architecture, users can seamlessly synchronize their Postgres tables to S3 with minimal configuration overhead. Before getting started, you should ensure that your AWS credentials have been properly configured — this is crucial for avoiding frustrating permission issues down the line.

|

sqlpipe copies your Postgres tables to S3. It needs one configuration file. Before you start, make sure that your AWS credentials are correct. If they are not, S3 rejects the upload with a permission error.

Oops! Something went wrong while attempting to establish a connection. Please ensure your credentials have been properly configured and try again, or reach out to your administrator if the issue persists.

|

Connection to the database failed: the password for user app was not correct. Set DB_PASSWORD to the correct value, then connect again.

We have identified an issue that may have impacted some users' ability to access the service. We sincerely apologize for any inconvenience this may have caused.

|

Between 14:02 and 14:31 UTC, 12% of requests failed. A deploy at 14:00 removed the cache warmup step. We reverted it at 14:27.

┌── measured: 6 Claude models × 8 tasks × 2 conditions, 96 runs ──┐
│  STE violations per 100 words     ▼ 72.9%  (every model won)    │
│  output tokens                    ▼ on all 6 models             │
│  mean sentence length             11.2 → 9.7 words              │
│  "seamlessly" survived            0                             │
└─────────────────────────────────────────────────────────────────┘

More rewrites in examples/before-after.md: READMEs, error messages, incident reports, release notes.

npx skills add AminBlg/SimpleEnglish

That is it. The skills CLI detects your agents (Claude Code, Cursor, Codex, Copilot, Gemini CLI, and more) and installs for the ones you pick. Try before installing:

npx skills use AminBlg/SimpleEnglish@simple-english

No SKILL.md support at all? Paste prompts/system-prompt.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".

🖱️ No terminal? (claude.ai, ChatGPT, Gemini)

Claude.ai (paid plans) supports skills natively:

  1. Download the skill file: open SKILL.md and save it (Ctrl+S / Cmd+S).
  2. In claude.ai, go to Settings → Capabilities and turn on code execution.
  3. Go to Settings → Customize → Skills → Upload and upload the saved SKILL.md.
  4. Toggle the skill on. Done. Claude applies it when you ask for technical writing.

ChatGPT : no skill support, so use the prompt version. Copy the block from prompts/system-prompt.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.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:

  • 🚨 Error messages : what happened → why → what to do, in that order
  • 📟 Runbooks : STE's home turf; a runbook IS a maintenance manual
  • 🧯 Incident reports : simple past murders "we have identified an issue that may have impacted"
  • 📣 Release notes : breaking changes as warnings: command first, risk second
  • 🤖 Your AGENTS.md / prompts : a system prompt is a procedure for a reader that cannot ask questions. Models read "should" as optional. STE bans "should". Think about it.
  • 🌍 Translation prep : STE's original job: readable for non-natives, cheap to localize

Where it refuses to go: marketing copy, blog voice, brand writing. Flat on purpose. ✋

72.9% 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 2.28 0.42 82%
claude-opus-4-6 2.24 0.40 82%
claude-opus-4-5 2.55 0.57 78%
claude-sonnet-5 2.67 0.53 80%
claude-sonnet-4-6 2.06 0.52 75%

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:

  • Baseline agents without the skill wrote 40-word sentences and invented rule numbers. One confidently cited "Rule 3.1: short sentences" (real Rule 3.1 is verb forms 💀)
  • Secondary sources online are wrong about the modals: can and will ARE approved. We checked the PDF.
  • The skill was written to close each recorded baseline failure, then re-tested until agents pass. Scenarios + recorded results: evals/pressure-tests.md

Does 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 or STEMG. ASD-STE100 is a registered trademark of ASD.