Prompt Writer
hAcKlyc/MyAgents
Methodology for writing or improving prompts and system prompts that drive any LLM.
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…
$ npx skills add danyuchn/asd-ste100-skill --skill asd-ste100 -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install danyuchn/asd-ste100-skill asd-ste100 --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
Claude Code skills documentation · loads skills from .claude/skills/
Install the "asd-ste100" agent skill from https://github.com/danyuchn/asd-ste100-skill/tree/master into .claude/skills/asd-ste100/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "asd-ste100", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add danyuchn/asd-ste100-skill --skill asd-ste100 -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install danyuchn/asd-ste100-skill asd-ste100 --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "asd-ste100" agent skill from https://github.com/danyuchn/asd-ste100-skill/tree/master into .agents/skills/asd-ste100/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "asd-ste100", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add danyuchn/asd-ste100-skill --skill asd-ste100 -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install danyuchn/asd-ste100-skill asd-ste100 --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "asd-ste100" agent skill from https://github.com/danyuchn/asd-ste100-skill/tree/master into .cursor/skills/asd-ste100/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "asd-ste100", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add danyuchn/asd-ste100-skill --skill asd-ste100 -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install danyuchn/asd-ste100-skill asd-ste100 --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "asd-ste100" agent skill from https://github.com/danyuchn/asd-ste100-skill/tree/master into .gemini/skills/asd-ste100/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "asd-ste100", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install danyuchn/asd-ste100-skill asd-ste100Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add danyuchn/asd-ste100-skill --skill asd-ste100 -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "asd-ste100" agent skill from https://github.com/danyuchn/asd-ste100-skill/tree/master into .github/skills/asd-ste100/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "asd-ste100", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add danyuchn/asd-ste100-skill --skill asd-ste100 -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install danyuchn/asd-ste100-skill asd-ste100 --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "asd-ste100" agent skill from https://github.com/danyuchn/asd-ste100-skill/tree/master into .opencode/skills/asd-ste100/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "asd-ste100", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
asd-ste100A 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…
Asd Ste100 is an agent skill from danyuchn/asd-ste100-skill. Use when English text must be parsed without a human to resolve ambiguity — tool descriptions, error messages, inter-agent instructions, system prompts, status reports — and misreading has a real cost, or when text reads as dense, hedged, or easy to misparse. Triggers: disambiguate, STE100 rewrite, apply Simplified Technical English, plain-language rewrite, controlled-language rewrite, rewrite so an agent cannot misread this. Not for creative or marketing copy.
Its SKILL.md is about 4.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including scripts and reference files (for example `README.md`, `examples/before-after.md` and `examples/linter-edge-cases.md`).
It sits in Writing & Content, covering Agent instruction files, Copywriting and Prompt engineering. The repository describes itself as: ASD-STE100 Simplified Technical English rules, repurposed as a Claude Code skill for rewriting ambiguous agent-facing English. The licence is MIT.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 32511c6. It shows what the files ask for, not the result of running them.
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.
Ships 1 file in scripts/ (Python), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
asd-ste100.orgFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Asd Ste100 loads about 4.1k tokens when it runs, and up to ~5.3k if it reads all its reference files. Until then it costs about 119 tokens; SKILL.md has 2,384 words of instructions outside code blocks.
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.
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); the scripts in this folder are not scanned.
The full file from danyuchn/asd-ste100-skill at commit 32511c6, republished under its MIT licence (© danyuchn). 2,384 words, ~4,084 tokens.
.claude/skills/asd-ste100/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.ASD-STE100 is a controlled-language standard built by the aerospace and defense industry (ASD, the AeroSpace and Defense Industries Association of Europe) to stop maintenance technicians from misreading English instructions. The standard removes the two biggest sources of misreading: words with more than one meaning, and sentences with more than one possible structure.
This skill borrows that same discipline for a different reader: an AI agent or a downstream system that has to parse an English string — an error message, a tool description, an inter-agent instruction, a status report — without a human in the loop to resolve ambiguity. If a maintenance technician can misread "close the valve" as an adjective ("the valve that is near") instead of a command, so can a language model.
This skill is not for creative or marketing copy — STE is deliberately flat and literal. Do not apply it to text where voice, nuance, or persuasion is the point.
Pick a mode before rewriting. If the user does not say which, infer it from the text type. Keep the choice internal unless the user asks for the rule table (see Output Format).
Strict — procedures, error messages, tool and function descriptions, inter-agent instructions, safety text. Anywhere a wrong reading has a cost. Apply every rule below, including the hard length caps and one-word-one-meaning discipline.
STE-flavored — READMEs, PR descriptions, changelogs, explanatory prose. Apply the structural rules in full and treat the lexical rules as advisory (see Core Rewrite Rules for that split). In practice that means keeping the sentence length caps, active voice, simple tenses, no phrasal verbs, no semicolons, no nominalization and no marketing adjectives, while dropping the one-word-one-meaning lockdown: prose needs some range, and a strict rewrite of prose reads as a personality transplant rather than a clarification.
The two modes and the structural/lexical split are the same distinction seen from two directions. The split says which rules this skill can verify without ASD's dictionary. The modes say which of them to enforce for a given kind of text.
This skill encodes the rule categories of ASD-STE100 Issue 9 (Jan 2025): 53 writing rules across 9 sections covering word choice, grammar, sentence structure, and style, backed by a dictionary of ~900 approved words (one meaning, one part of speech each) and ~1,200 words to avoid with suggested replacements. See references/writing-rules.md for the full rule summary and citations.
It does not reproduce ASD's ~900-word approved dictionary verbatim. ASD-STE100 is free to obtain, but it is not free to redistribute: Issue 9, page 2 states that "no reproduction or publication of it, in whole or in part, shall be made without the written authority of an officer of ASD," and grants free reproduction rights only to eight listed categories (ASD/AIA/AIAC member associations and their member companies and customers, member-state defence ministries, A4A, airworthiness authorities, and universities and research institutes for educational purposes). This project is in none of them, so the dictionary stays out of this repo.
Instead, this skill applies the underlying principle (pick the plainest, most common word available and use it the same way every time) rather than checking against a fixed word list. When exact ASD-approved wording matters (e.g. actual aircraft maintenance documentation), get the standard and check word-by-word against the real dictionary. Request it from the official downloads page — note that this is a request form that emails you a link, not a direct download.
STE's rules divide into two kinds, and this skill can only fully deliver one of them. Structural rules are self-contained: they describe sentence shape, and you can apply them from the description alone. Lexical rules are defined entirely by the official ~900-word dictionary, which this skill deliberately does not reproduce (see Source and Scope). Without that dictionary, the lexical rules degrade from a checkable standard into a preference for plain words.
Apply the structural rules with confidence. Apply the lexical rules as a direction of travel, and say so in your output rather than implying dictionary compliance you cannot verify.
| Rule | Do | Don't |
|---|---|---|
| Active voice | "The agent deletes the file." | "The file is deleted (by the agent)." — unless the actor is genuinely unknown or irrelevant |
| No phrasal verbs (Rule 9.3) | "Remove the panel." / "Start the job." | "Take off the panel." / "Spin up the job." — a two-word verb has meanings the parts do not predict |
| One instruction per sentence | "Open the file. Read line 3." | "Open the file and read line 3, then check if it matches." |
| Sentence length | ≤20 words for instructions/procedures, ≤25 words for descriptions | Long compound/subordinate-clause sentences |
| No semicolons (Rule 8.1) | Split into separate sentences | Any semicolon at all — STE bans the mark outright, not only as a clause join. (Rule 8.1 permits every other standard punctuation mark. The em dash is not banned by STE, though it often signals a sentence that should be split.) |
| Noun clusters | ≤3 words stacked as a noun phrase ("fuel pump valve") | 4+ word noun stacks ("high pressure fuel pump inlet valve assembly") |
| No ellipsis | Keep the subject, verb, and article explicit even if it reads longer | Drop words to save space ("Files not backed up will be lost" → ambiguous which files) |
| Keep modality | "The request may have failed." stays "may have" | Promote a hedge to a fact ("The request failed.") or invent a certainty the source did not state |
| Paragraph limits | One topic per paragraph, ≤6 sentences | Multi-topic paragraphs |
| Lists for sequences | Use a numbered or bulleted list for 3+ steps or conditions | Bury a sequence inside one prose sentence |
| Rule | Do | Don't | Why it is weaker here |
|---|---|---|---|
| One word, one meaning | Pick one verb for one action and reuse it every time (e.g. always "check", never mix "check"/"verify"/"confirm" for the same action) | Rotate synonyms for the same idea across a document | Consistency within a document is checkable. Which word is the approved one is not, without the dictionary. |
| One part of speech per word | "Apply oil to the valve" (oil = noun) | "Oil the valve" (oil = verb) | Whether "oil" is approved as a noun only is a dictionary fact. Prefer the noun form when both read equally well. Do not claim compliance. |
| Verb, not noun (Rule 3.7) | "Analyze the log." | "Perform an analysis of the log." — a noun form of an action makes the sentence longer and hides who acts | Rule 3.7 says "use an approved verb to describe an action." Preferring the verb form is safe to apply anywhere. Knowing which verb is the approved one needs the dictionary. |
| Domain terms | Keep necessary technical nouns/verbs, but define them once if not common English (STE allows a project-specific glossary beyond its base dictionary) | Use jargon without ever defining it | The glossary allowance is real STE, but the base dictionary it extends is absent. |
STE permits infinitive, imperative, simple present, simple past, simple future, and past participle as adjective. It excludes present perfect and other compound forms: "we received the report", not "we have received the report".
Aircraft manuals never need present perfect, so the exclusion costs the standard nothing. Other text is not always so lucky. "The job has completed" (and its output is available now) and "the job completed" (at some past point) are different statements, and status text frequently needs the first. Where the compound form carries information the simple form cannot — current relevance, or a hedge as in "may have failed" — keep it and flag the departure. Elsewhere, follow the rule.
These six habits cover most of what makes machine-written English hard to parse. Each one is mechanical: you can point at the exact word or punctuation mark that breaks the rule, with no judgment call. Scan for all six before you rewrite anything.
scripts/ste-lint.py (stdin or file args, --json for structured output); it checks semicolons, sentence length, phrasal verbs, nominalization, marketing adjectives, synonym rotation, dangling-conjunction in supported list items, passive voice, and compound tenses, and by design never flags hedges or modality. --baseline N tolerates N hard violations (for adopting on existing docs); --disable rule1,rule2 silences named rules.Default: the rewritten text, and nothing else. Most callers want a result they can paste straight into a tool description, an error string, or a prompt. Print the simplified text on its own. Do not add a preamble about this skill, a mode announcement, a violation count, a summary of what changed, a rule table, or a closing offer to explain further.
The one permitted addition: if step 4 kept a longer phrasing on purpose, add a single line after the text, prefixed Kept as-is:, naming the phrase and the precision that would have been lost. Omit the line when there is nothing to report.
On request: the rule table. When the user asks to see the reasoning — "show the diff", "which rules did it break", "explain the changes", "before/after" — output this table instead:
| Rule violated | Original | Simplified |
|---|---|---|
| Present perfect tense | "We have received your request." | "We received your request." |
| Noun cluster (4+ words) | "the agent task queue priority handler" | "the handler that sets task-queue priority" |
Mode: Strict. 7 violations found.Follow the table with a one-line note on anything you deliberately did not simplify, and why (usually: simplifying would lose required precision).
Will:
Will not:
references/writing-rules.md — fuller summary of the 9 rule sections and dictionary structure, with citations to the official standard and secondary sources.examples/before-after.md — worked examples, including official STE examples and agent-output examples built for this skill.scripts/ste-lint.py — deterministic, stdlib-only linter for the structural rules, including dangling-conjunction in supported list items, plus a synonym-rotation check (one word, one meaning) scoped per file. Exit 1 when hard violations exceed --baseline (default 0); advisory findings (passive voice, compound tenses) never fail the run; --disable silences named rules. It never flags hedges or modality: those are content, not style, and --selftest asserts that "may have failed" passes clean.© danyuchn, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 6 other files (scripts, references) in the repository root of danyuchn/asd-ste100-skill.
Open the folder on GitHubat commit 32511c6
Asd Ste100 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Asd Ste100 this skilldanyuchn/asd-ste100-skill | 4.3k | — | ~4.1k | Automated safety check: Pass | MIT | |
| Prompt WriterhAcKlyc/MyAgents | 919 | — | ~2.2k | Automated safety check: Pass | AGPL-3.0 | |
| Talk Normalhexiecs/talk-normal | 1.9k | — | ~784 | Automated safety check: Pass | MIT | |
| Contextpilot SavingsEfficientContext/ContextPilot | 141 | — | ~1.4k | Automated safety check: Pass | MIT | |
| Orwell Writingtamdogood/builder-essential-skills | 221 | — | ~1.1k | Automated safety check: Pass | MIT | |
| G2brycewang-stanford/Auto-Empirical-Research-Skills | 4.6k | — | ~4.5k | Automated safety check: Pass | Custom licence |
hAcKlyc/MyAgents
Methodology for writing or improving prompts and system prompts that drive any LLM.
hexiecs/talk-normal
Installs an always-on set of rules into your agent's workspace config that cuts filler, hedging and padded closings from its replies.
EfficientContext/ContextPilot
A skill your agent uses when a user asks how many tokens (or how much context/cost) ContextPilot has saved, or wants a ContextPilot savings status/summary inside Hermes Agent — e.g.
tamdogood/builder-essential-skills
A skill your agent uses when an agent is asked to draft, rewrite, edit, review, polish, copyedit, simplify, humanize, or create written prose, including creative writing, essays, posts, scripts…
brycewang-stanford/Auto-Empirical-Research-Skills
Publication Specialist - Writing, Review, Pre-registration & Quality Assurance Light VS applied: Avoids template-based writing + audience-specific message design Absorbed G3 (Peer Review…
Owl-Listener/inclusive-design-skills
Write and structure content for diverse reading abilities and cognitive styles.
Categories
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…. Asd Ste100 is an agent skill from danyuchn/asd-ste100-skill. Use when English text must be parsed without a human to resolve ambiguity — tool descriptions, error messages, inter-agent instructions, system prompts, status reports — and misreading has a real cost, or when text reads as dense, hedged, or easy to misparse.
Asd Ste100 fits situations like: english text must be parsed without a human to resolve ambiguity — tool descriptions; inter-agent instructions; status reports — and misreading has a real cost; text reads as dense.
Run `npx skills add danyuchn/asd-ste100-skill --skill asd-ste100 -a claude-code`. Or copy the skill folder (the danyuchn/asd-ste100-skill repository) into .claude/skills/asd-ste100 in your project. Claude Code loads it when a task matches its description.
Run `npx skills add danyuchn/asd-ste100-skill --skill asd-ste100 -a codex`. Or copy the skill folder (the danyuchn/asd-ste100-skill repository) into .agents/skills/asd-ste100 in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add danyuchn/asd-ste100-skill --skill asd-ste100 -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/asd-ste100, .gemini/skills/asd-ste100, .github/skills/asd-ste100 and .opencode/skills/asd-ste100 in your project.
Going by SKILL.md and its folder, Asd Ste100 needs Python for the scripts in its folder. Our summary lists: Python 3.
SKILL.md names 1 domain. As links in the text: asd-ste100.org. This is read from the text; nothing was executed.
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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Asd Ste100 is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.1k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Asd Ste100: Prompt Writer (hAcKlyc/MyAgents, 919 stars), Talk Normal (hexiecs/talk-normal, 1.9k stars), Contextpilot Savings (EfficientContext/ContextPilot, 141 stars) and Orwell Writing (tamdogood/builder-essential-skills, 221 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
danyuchn (a GitHub user) maintains it in danyuchn/asd-ste100-skill, which has 4,271 GitHub stars. The repository was last updated on October 4, 2026.
Source: danyuchn/asd-ste100-skill on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.