Agent skill

Iso 24495 Code

by GaZmagik in GaZmagik/iso-24495

Plain language applied to source code (ISO 24495-1:2023 principles).

MITAuto-check passedWriting & Content

Install Iso 24495 Code

skills CLI
$ npx skills add GaZmagik/iso-24495 --skill iso-24495-code -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install GaZmagik/iso-24495 iso-24495-code --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/GaZmagik/iso-24495.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/iso-24495-code .claude/skills/iso-24495-code && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
iso-24495-code
GitHub stars
189
Token cost
~1.6k tokens
SKILL.md length
937 words
Files
2
Skills in repo
8
Repo updated
First seen
Licence
MIT

At a glance

Plain language applied to source code (ISO 24495-1:2023 principles).

  • Works in 6 steps: Front-load the main path → One job per unit → Name for the reader → …
  • Tasks that involve Plain language and style rules
  • SKILL.md covers The four principles, in code, Rules, What this skill does not do and Applying it to existing code
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Iso 24495 Code is an agent skill from GaZmagik/iso-24495. Plain language applied to source code (ISO 24495-1:2023 principles). Governs the parts of code a person reads: the order units appear in, their names, comments, and error messages. Applied when writing or restructuring code, not when explaining it.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

It sits in Writing & Content, covering Plain language and style rules. The repository describes itself as: ISO 24495 Plain Language skills and plugin. The licence is MIT.

When your agent uses it

  • Tasks that involve Plain language and style rules

Example prompts

  • “/iso-24495-code”

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Front-load the main path
  2. One job per unit
  3. Name for the reader
  4. A comment says why; interface documentation says what a caller needs
  5. An error message serves the person who hits it
  6. Prefer the plain construction

What it can do on your machine

Read from SKILL.md and the folder at commit 5951eb7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Iso 24495 Code loads about 1.6k tokens when it runs. Until then it costs about 66 tokens; SKILL.md has 937 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~66
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from GaZmagik/iso-24495 at commit 5951eb7, republished under its MIT licence (© GaZmagik). 937 words, ~1,614 tokens.

Download SKILL.mdSave it as .claude/skills/iso-24495-code/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
iso-24495-code
description
Plain language applied to source code (ISO 24495-1:2023 principles). Governs the parts of code a person reads: the order units appear in, their names, comments, and error messages. Applied when writing or restructuring code, not when explaining it.
metadata.version
0.7.0
metadata.iso-standard
ISO 24495-1:2023
metadata.iso-status
published, applied by analogy to source code

Plain language in code

Extends ISO 24495-1 to source code. Code is read far more often than it is written, so the person reading it is the reader the standard is about.

Scope. This skill governs what a reader reads: the order units appear in, what they are called, what the comments say, and what an error tells the person who hits it.

It does not govern correctness, performance, or system design. It does govern local organisation, in rules 1 and 2, because where a unit sits and how far it reaches decide what a reader must hold in their head. For maintainability weaknesses such as complexity and dead code, use a code quality skill built on ISO/IEC 5055.

This is an interpretation of ISO 24495-1 applied by analogy, not a conformance claim.

The four principles, in code

PrincipleIn proseIn code
FindableThe reader can find what they needThe public entry point appears first
UnderstandableThe reader understands itNames say what the thing is, in the reader's words
RelevantThe reader gets what they needA comment says why; interface documentation says what
UsableThe reader can act on itAn error names the problem and shows a safe value

Rules

1. Front-load the main path

Put the public entry point at the top of the file, before the helpers it calls. A reader opening the file meets the thing it does, then the detail, in that order. This is the code form of leading with the outcome.

Where a language forces declarations before use, put a short delegating entry point first and the implementation below it.

Measured on 30 generated implementations of one specification. Without this rule the public function landed anywhere in the file, and in half the files it was the last thing in it. With the rule it sat in the first fifth of the file every time.

The measure was chosen after those runs rather than before them, and the effect appeared in one model family but not in the two others tested. Treat it as a hypothesis with a clean separation, not a settled result.

2. One job per unit

A function does one thing that its name describes. A name needing "and" is a prompt to look, not an instruction to split. Some operations are genuinely single and named for a pair, as compareAndSwap is, and splitting those breaks them.

Helpers belong at the top level or as members of a class, rather than buried as closures inside the function they serve. A reader cannot reach a closure without reading its container first.

3. Name for the reader
  • A name says what the thing is or does, in the vocabulary of someone who knows the domain but not this file.
  • Use one name for one concept throughout. If it is a token here it is not a lexeme three functions later. Elegant variation confuses code exactly as it confuses prose.
  • Prefer a longer name that reads to a shorter one that must be decoded. remainingBudget beats rb.
4. A comment says why; interface documentation says what a caller needs

A comment earns its place when it records something a reader cannot recover from the code: a reason, a constraint, a rejected alternative, a bug it guards against.

Delete a comment that merely restates the line beneath it, and delete commented-out code.

This is not a rule against documentation. An interface comment tells a caller what a function returns, when it returns nothing, and what it throws. That is the reader's work being done for them, so it belongs there even when the body makes it obvious.

Show full SKILL.md (330 more words)Show less
5. An error message serves the person who hits it

An error names the problem, shows a value it is safe to show, and where it helps, says what to do instead. Write it in the words its reader would use, so it can be acted on without opening the source.

Never put a secret in an error. A credential, token, key, password, session identifier or personal detail must not appear in a message, because messages reach logs, telemetry and screens. Name the field and describe the fault instead: API token rejected: expected 32 characters, got 8. Where you cannot show a value safely, show its shape.

A value on this path has just failed validation, so its contents are unknown. Naming the field does not make them safe: whatever the caller passed is what reaches the log. Report the format you expected and the shape of what arrived, never the value itself. Read a length only once you know the value is a string, because any other value can carry a length property holding anything at all.

Bad:   throw new Error("invalid input")
Good:  if (typeof duration !== "string") {
         throw new TypeError(`Duration must be a string; got a value of type ${typeof duration}`)
       }
       throw new TypeError(
         `Duration must be a number followed by ms, s, m, h or d; got ${duration.length} characters`)
Good:  if (typeof token !== "string") {
         throw new TypeError(`API token must be a string; got a value of type ${typeof token}`)
       }
       throw new Error(`API token rejected: expected 32 characters, got ${token.length}`)

Quote a value only where you control it, such as one you have already matched against a fixed set. Then the set, not the caller, decides what can appear.

6. Prefer the plain construction

Where two constructions are equally correct, use the one a competent reader understands without pausing. Cleverness that needs a comment to explain it has already failed.

What this skill does not do

  • It does not require comments. A file with no comments and clear names is fine.
  • It does not set a line count for a function. Use iso-5055-code-quality for size and complexity thresholds, which are measurable.
  • It does not apply to generated code, vendored code, or code whose layout a formatter owns.

Applying it to existing code

Change the reading order and the language. Do not restructure behaviour in the same pass, and never move code and change it at once, because the diff stops being reviewable.

© GaZmagik, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/iso-24495-code of GaZmagik/iso-24495.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit 5951eb7

Compare with similar skills

Iso 24495 Code next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Iso 24495 Code compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Iso 24495 Code this skillGaZmagik/iso-24495189—~1.6kAutomated safety check: PassMIT
Asd Ste100danyuchn/asd-ste100-skill4k—~4.1kAutomated safety check: PassMIT
Simple Issue Descriptionevery-app/open-seo23k1 repos~1.2kAutomated safety check: PassMIT
Ponytail AuditDietrichGebert/ponytail158k—~1.3kAutomated safety check: PassMIT
Technical Writing Standardcursor/plugins10k10 repos~2.4kAutomated safety check: PassNone
Natural Japanese Business Writingcoji/natural-japanese1.9k—~2.1kAutomated safety check: PassMIT

Similar skills

  • Asd Ste100

    danyuchn/asd-ste100-skill

    A skill your agent uses when English text must be parsed without a human to resolve ambiguity — tool descriptions, error messages, inter-agent instructions, system prompts, status reports — and…

    4k GitHub stars~4.1k tokensUpdated 4 days ago
    Writing & ContentAuto-check passed
  • Simple Issue Description

    every-app/open-seo

    Turn a rough bug report, feature request, support note, or pull request into a short, plain-language issue focused on the problem and desired behavior.

    23k GitHub starsUsed in 1 repo~1.2k tokens
    Writing & ContentAuto-check passed
  • Ponytail Audit

    DietrichGebert/ponytail

    Quality audit of a whole repo: bugs, security holes, what breaks under real load, risky code without tests, slow paths, and what to delete, merge or split.

    158k GitHub stars~1.3k tokensUpdated today
    Writing & ContentAuto-check passed
  • Official

    Applies four layers of technical-writing rules to docs, RFCs, readmes, PR descriptions and commit messages so a tired engineer follows them on the first read.

    10k GitHub starsUsed in 10 repos~2.4k tokens
    Writing & ContentAuto-check passed
  • Writes and edits Japanese business documents so they read clearly and naturally, removes AI-sounding phrasing and can score how AI-like a text reads.

    1.9k GitHub stars~2.1k tokensUpdated 1 mo ago
    Writing & ContentAuto-check passed
  • Pgjev

    realZachi/pg-jev

    Install, configure, query and explain pgjev (the jev PostgreSQL extension that filters, ranks and classifies rows with plain-language conditions via TypeSafe's Jev model).

    1k GitHub stars~2.9k tokensUpdated 2 days ago
    Writing & ContentAuto-check passed

More from GaZmagik/iso-24495

All 8 skills in this repo
  • ISO 24495 Text Audit

    GaZmagik/iso-24495

    Audits a Markdown or text file or folder you choose for plain-language problems such as legalese, wordy phrases and long sentences, reporting each finding with file and line.

    189 GitHub starsUsed in 1 repo~817 tokens
    Auto-check passed
  • Assesses how ready an organization is to produce plain language, through evidence sweeps, interviews and a maturity gap report.

    189 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • ISO 24495-1 Plain Language

    GaZmagik/iso-24495

    Makes the agent write every user-facing reply by the four plain-language principles of ISO 24495-1:2023: relevant, findable, understandable and usable.

    189 GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • Iso 24495 5

    GaZmagik/iso-24495

    Provisional sector-specific Plain Language standard for document design (based on ISO/WD 24495-5, under development).

    189 GitHub stars~3.7k tokensUpdated yesterday
    Auto-check passed
  • Applies ISO 24495-2 style plain-language rules to contracts and legal writing, standardizing modal verbs without weakening enforceability.

    189 GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • Applies plain language rules to software documentation, architecture explanations, code reviews and technical analysis, following the principles of ISO 24495-3:2026.

    189 GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed

Questions about Iso 24495 Code

What does Iso 24495 Code do?

Plain language applied to source code (ISO 24495-1:2023 principles). Iso 24495 Code is an agent skill from GaZmagik/iso-24495. Plain language applied to source code (ISO 24495-1:2023 principles).

When should I use Iso 24495 Code?

Iso 24495 Code fits situations like: tasks that involve Plain language and style rules.

How do I install Iso 24495 Code in Claude Code?

Run `npx skills add GaZmagik/iso-24495 --skill iso-24495-code -a claude-code`. Or copy the skill folder (skills/iso-24495-code in GaZmagik/iso-24495) into .claude/skills/iso-24495-code in your project. Claude Code loads it when a task matches its description.

How do I install Iso 24495 Code in Codex?

Run `npx skills add GaZmagik/iso-24495 --skill iso-24495-code -a codex`. Or copy the skill folder (skills/iso-24495-code in GaZmagik/iso-24495) into .agents/skills/iso-24495-code in your project. Codex loads it when a task matches its description.

Can I use Iso 24495 Code in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add GaZmagik/iso-24495 --skill iso-24495-code -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/iso-24495-code, .gemini/skills/iso-24495-code, .github/skills/iso-24495-code and .opencode/skills/iso-24495-code in your project.

What does Iso 24495 Code need to run?

SKILL.md names no scripts, command-line tools or credentials: Iso 24495 Code is instructions for the agent only.

Does Iso 24495 Code access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Iso 24495 Code safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Iso 24495 Code use?

Iso 24495 Code is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Iso 24495 Code use?

About 1.6k tokens (SKILL.md is roughly 6.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Iso 24495 Code?

Skills that share tags, products or a category with Iso 24495 Code: Asd Ste100 (danyuchn/asd-ste100-skill, 4k stars), Simple Issue Description (every-app/open-seo, 23k stars), Ponytail Audit (DietrichGebert/ponytail, 158k stars) and Technical Writing Standard (cursor/plugins, 10k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Iso 24495 Code?

GaZmagik (a GitHub user) maintains it in GaZmagik/iso-24495, which has 189 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 8, 2026.

Source: GaZmagik/iso-24495 on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.