iso-24495 README

The project's README from github.com/GaZmagik/iso-24495. As one markdown file: README.md.

ISO 24495 Plain Language Skills

Seven Agent Skills that support plain language writing, document audits, code, and organisational implementation. They apply principles inspired by the ISO 24495 Plain language series.

The skills are plain SKILL.md files with agent-neutral wording. Any tool that reads the Agent Skills format can use them.

This repository also packages them as a Claude Code plugin with an ISO 24495 output style (output-styles/iso-24495.md). Select the style with /output-style to hold every response to the core rules without relying on skill activation.

Skills

Skill Scope
iso-24495-1 Core principles. Governs all user-facing output: no filler preambles, short sentences and paragraphs, active voice, scannable structure, concrete instructions.
iso-24495-2 Legal writing. Extends the core skill for contracts, licences, and compliance text: standardised modal verbs, no legalese, named actors, structured conditional clauses.
iso-24495-3 Science and technical writing. Extends the core skill for documentation, architecture, and code review: progressive disclosure, exact file citations, defined acronyms.
iso-24495-4 Organisational implementation (provisional). A task skill for plain language gap analysis in organisations: a process-artefact sweep, a corpus audit, a five-dimension maturity model with deterministic scoring, and an append-only audit trend. Ships TypeScript tooling run with Bun (bun test covered). Based on the unpublished ISO/CD 24495-4 committee draft.
iso-24495-5 Document design (provisional). Extends the core skill for structuring complex documents: an opening block, visual hierarchy, navigation aids, layered detail, comparisons, consistent signalling, and a signpost for the reader who wanted a different document. Ships a decision record, a runbook and a design document template. Based on the unpublished ISO/WD 24495-5 working draft.
iso-24495-code Plain language in code. Applies the principles to what a person reads in source: the order units appear in, their names, what comments say, and what an error tells the reader who hits it. Measured to change how Claude structures a file, at no cost to correctness.
iso-24495-text-audit User-invoked text audit. Checks a selected .md, .markdown, or .txt file or directory. Reports mechanical findings with locations, without deciding validity or compliance.

The core skill activates the relevant writing skills automatically. It triggers iso-24495-2 for legal content, iso-24495-3 for technical content, and iso-24495-5 for complex documents. The text audit never activates automatically.

All skills exempt internal reasoning. The writing skills preserve code blocks, commands, and logs untouched; iso-24495-code is the exception, because governing code is its subject. Technical and legal accuracy always supersede formatting rules.

Installation (Claude Code)

Add this repository as a plugin marketplace, then install the plugin:

/plugin marketplace add https://github.com/GaZmagik/iso-24495.git
/plugin install iso-24495-plain-language@iso-24495

Use the full HTTPS address as shown. The short owner/repo form makes some Claude Code versions clone over SSH, which fails without GitHub SSH keys.

Or from a local clone:

/plugin marketplace add ./path/to/this/repo
/plugin install iso-24495-plain-language@iso-24495

Installation (Codex CLI)

Codex reads the same marketplace manifest, so the plugin installs from the same address:

codex plugin marketplace add https://github.com/GaZmagik/iso-24495.git
codex plugin add iso-24495-plain-language@iso-24495

Or from a local clone, where . is the repository root:

codex plugin marketplace add .
codex plugin add iso-24495-plain-language@iso-24495

Every skill carries agents/openai.yaml, which gives Codex its display name, its short description, and the prompt Codex offers for it. Invoke a skill by name, as in $iso-24495-1, or ask for it in words.

Codex has no output style, so the same rules are a skill there: iso-24495-style holds the output style word for word, and a test keeps the two identical. It lives in codex-skills/ rather than skills/, because Claude Code scans skills/ and would otherwise offer a skill its output style already covers. Codex reads both directories, named in .codex-plugin/plugin.json.

Name the skill in your AGENTS.md to apply it to every response:

Apply `iso-24495-style` to every response.

Put that in your project's AGENTS.md or in ~/.codex/AGENTS.md. An AGENTS.md inside a plugin is ignored, so a plugin cannot apply itself.

Usage

Once installed, the agent loads the skills when their descriptions match the task. To apply one explicitly, ask for it by name, for example: "Apply iso-24495-2 to this licence text."

Invoke iso-24495-text-audit directly and supply one file or directory. The skill reads only that path and leaves every change to the user:

/iso-24495-plain-language:iso-24495-text-audit docs/policy.md

To enforce the core skill on every response, add a line to your agent's instruction file (CLAUDE.md, AGENTS.md, or equivalent):

- ALWAYS activate and adhere to the `iso-24495-1` Plain Language skill across all responses

For agents without a plugin system, copy the skills/ subdirectories into wherever the tool discovers skills.

Disclaimer

This unofficial project is not affiliated with, endorsed by, or approved by the International Organization for Standardization (ISO). The skills contain original guidance inspired by the ISO 24495 series. They do not reproduce the text of any ISO standard.

Publication status: Part 1 published 2023, Part 2 August 2025, Part 3 May 2026. Parts 4 and 5 remain unpublished drafts (ISO/CD 24495-4 and ISO/WD 24495-5). Their skills are provisional guidance from public scope statements, to be revised when ISO publishes.

Conformance disclaimer. The full ISO 24495 texts are licensed and have not been consulted. These skills are built from public principles, published scopes, and common plain-language practice.

The principles derive from the International Plain Language Federation's freely published framework. Every quantitative rule here (sentence length, paragraph density, legalese, heading depth) is this project's own proxy. No rule is a clause of any standard.

Nothing this plugin produces is a statement of ISO conformance. No certification scheme exists for ISO 24495. "Aligned" in the skills means aligned with this project's interpretation, nothing more.

Reference

Read the standard rather than this project's reading of it.

The ISO texts are licensed, so the standards themselves cost money. Everything in this repository is built from the freely published material above.

What the engine reads

A rule can only be as right as the text it reads. So the engine parses Markdown the way CommonMark describes it: each line is matched against the containers already open, then against any container it starts. What remains is the block a rule measures. That is what lets a wrapped list item, a quotation continuing without its marker, and a heading written inside a list all be read correctly.

Measured, because a reader reads them:

Not measured, because they are not sentences:

The parser is checked against the CommonMark reference implementation. 302 documents are recorded in skills/iso-24495-4/tests/fixtures/reference-blocks.ts, and every one that this engine reads differently carries the reason why. The reference is not a dependency: it was installed outside the repository, asked once, and its answers kept.

User-invoked text audit

The iso-24495-text-audit skill audits a selected .md, .markdown, or .txt file or directory. It uses the same rule engine as the Part 4 corpus audit. It reports each finding with its file, line, rule, and explanation.

The rules cover sentence length, sentence averages, paragraph length, legalese, and heading depth. They also cover heading-skip, heading-style, acronym-undefined, doublet, prose-enumeration, link-text, image-alt, wordy-phrase, complex-word, double-negative, filler-opening, and table-header.

The last two serve readers who hear or touch a document rather than look at it. A screen reader can list every link with no sentence around it, and an image without alternative text is silence.

The result reports zero findings when no implemented rule fires. That result does not prove the text suits its audience or purpose.

The shipped acronym list stays universal, so a technical vocabulary needs naming per project. Create .iso-24495-4/acronyms.json with the terms your readers already know:

["SQL", "SDK", "CSS", "IDE"]

An unreadable or malformed file leaves the shipped list alone, because an advisory tool must never be the reason a document cannot be checked.

The skill never runs automatically. It requires Bun and does not alter the selected text.

Directory audits skip selected or nested symbolic links and directory junctions. The result reports each skipped entry instead of reading beyond the selected path or following a cycle.

Testing policy

Run bash scripts/check.sh before you push. That script is the whole gate, and GitHub Actions runs the same file on every pull request. A failure on the server therefore reproduces locally with one command. New checks belong in the script, never in the workflow.

bun test always measures coverage. Every measured source file must cover 100% of lines and functions. Test files are excluded from those totals.

The current suite covers 100% of measured source lines and functions.

Bun reports line and function coverage only in this toolchain. We make no branch-coverage claim.

Logic-free composition roots are separate entry files. Tests never import them, so Bun excludes them from the coverage report. End-to-end tests still exercise those entries.

Every new test receives a mutation check. The implementation is deliberately broken, the test must fail, and the correct behaviour is then restored.

TypeScript style

This project follows the Google TypeScript Style Guide. It uses kebab-case filenames instead of snake_case and double quotes instead of single quotes. Both deviations match the wider ecosystem, and the repository conventions test enforces the mechanically checkable rules.

Why this project holds itself to these rules

This repository is both the tool and a user of the tool. Its shared gate audits every supported document, including this file.

That is deliberate. A plain language project that exempts itself has no claim on anyone else. The Part 4 maturity audit runs against this repository first, and its findings are acted on here first.

Roadmap

All seven skills and the output style ship in v0.6.0. What remains:

Plain-language checks on script comments were once planned for this release. That plan is cancelled. Comments are fragments, and checking them well would cost more machinery than the advice is worth.

Licence

MIT

iso-24495 (GaZmagik/iso-24495)

Searching Database…

这是什么?一套共七个 Agent Skills(外加一个输出风格),用于教 AI 编程代理用平实语言写作,其原则受 ISO 24495 平实语言标准系列启发。它们涵盖核心写作规则、法律写作、技术写作、组织差距分析、文档设计、平实语言代码,以及一个文本审计工具。
这是一个库、插件,还是别的东西?这些技能是采用与代理无关的 Agent Skills 格式的纯 SKILL.md 文件,任何兼容工具都能使用。本仓库还将它们打包为带 ISO 24495 输出风格的 Claude Code 插件,并通过 agents/openai.yaml 打包为 Codex CLI 技能。
怎么在 Claude Code 或 Codex CLI 里安装?在 Claude Code 中,使用完整的 HTTPS 地址(而不是简短的 owner/repo 形式)把本仓库添加为插件市场,然后安装该插件。Codex CLI 读取同一个市场清单,从同一地址或本地克隆安装。
除了 Claude Code 或 Codex,使用这些技能还需要别的吗?写作技能本身不需要额外工具,但 iso-24495-4 组织审计技能和 iso-24495-text-audit 技能附带了需要 Bun 才能运行的 TypeScript 工具。
第 4 部分和第 5 部分的技能基于最终发布的 ISO 标准吗?不是。第 4 部分(组织落地实施)和第 5 部分(文档设计)是临时版本,基于未发布的 ISO 委员会/工作组草案,ISO 发布最终文本后即会修订。这些技能都不复现或认证 ISO 符合性;它们只是本项目自己的解读。
哪个技能会被自动激活?核心技能(iso-24495-1)在一般输出时自动激活,并针对法律内容触发 iso-24495-2、针对技术内容触发 iso-24495-3、针对复杂文档触发 iso-24495-5;文本审计技能绝不会自动激活,必须按名称显式调用。
iso-24495-text-audit 技能实际检查什么?它会审计选定的 .md、.markdown 或 .txt 文件或目录,检查句子/段落长度、法律套话、未定义的缩写、标题跳级、啰嗦的措辞、双重否定和缺少替代文本之类的问题,并为每个发现报告文件、行号、规则和解释,但不判定是否合规。
代码受到的影响与普通文本有何不同?iso-24495-code 技能把平实语言原则应用到源代码本身(单元顺序、命名、注释、错误消息),而其他写作技能不改动代码块、命令和日志。
我可以自定义文本审计使用的缩写列表吗?可以。创建一个 .iso-24495-4/acronyms.json 文件,列出你的读者已经认识的术语;如果该文件格式有误,工具会回退到自带的通用列表,而不会让检查失败。
这个项目如何保证代码质量?它以 bash scripts/check.sh 作为唯一的 CI 关卡,要求被测源文件通过 Bun 测试达到 100% 的行覆盖和函数覆盖,并对每个新测试做变异检查,确认它在逻辑被破坏时确实会失败。
Creator
GaZmagik
Size
5.8 MB
Stars
198
Age
2mo
Commits · 90 Days