Generated banner for Writing Simplified Technical English
Generated logo for Writing Simplified Technical English

Writing Simplified Technical English

PostHogOfficialPublished by PostHog

  • Skill
  • Guidelines
  • Documents and content
  • MIT
  • No issues found

From the author

Write English that a reader cannot misread: one meaning per word, active voice, simple tenses, one idea per sentence, short sentences. Based on ASD-STE100 (Simplified Technical English), the controlled-language standard written for aircraft maintenance manuals. Use it for any prose an agent produces that someone else acts on. That covers reports and findings, PR descriptions and commit messages, instructions handed to another agent, tool descriptions, error messages, status summaries, and prompts. Also use it on request, with triggers like "simplify this", "make this readable", "too dense", "rewrite in STE", "simplified technical english", "ASD-STE100".
— the description by PostHog

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

This skill implements the ASD-STE100 controlled-language standard to improve the readability and precision of agent-generated text. By enforcing rules such as active voice, simple tenses, and one idea per sentence, it eliminates ambiguity that often leads to misinterpretation. It is designed for technical documentation, instructions, error messages, and reports where clarity is critical for the reader or another agent to perform a task correctly. The skill provides a structured approach to rewriting dense or complex text while preserving essential technical details.

What it does

  • Enforces one meaning per word to prevent confusion.
  • Mandates active voice and simple tenses for direct communication.
  • Limits sentence length and complexity to ensure readability.
  • Restricts noun clusters to improve clarity.
  • Provides a framework for rewriting technical prose.
  • Ensures instructions are actionable and unambiguous.

When to use it

  • When writing reports, findings, or status summaries.
  • When drafting PR descriptions or commit messages.
  • When creating instructions or prompts for other agents.
  • When writing error messages, tool descriptions, or log lines.
  • When you need to simplify dense or overly complex technical text.

Advantages

  • Reduces the risk of misinterpretation by humans or agents.
  • Increases the efficiency of reading and acting on technical content.
  • Standardizes the style of agent-generated documentation.
  • Eliminates ambiguity caused by synonym rotation or complex grammar.
  • Maintains precision while improving overall clarity.

Usage examples

“Simplify this error message: An error may have occurred while processing your request due to a possible mismatch in the expected data format, which could be caused by an outdated client version.”
The request failed. The data format did not match what the server expected. Check your client version. An outdated client is the most common cause.
“Rewrite this instruction in STE: Once the upstream job has completed and assuming no errors were raised, the downstream agent should proceed to consume the output artifact.”
Wait for the upstream job to finish with no errors. Then read the output artifact.

Install

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/posthog/writing-simplified-technical-english/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip writing-simplified-technical-english.zip -d .agents/skills

Documentation by PostHog

Writing simplified technical English

ASD-STE100 is a controlled-language standard. The aerospace and defense industry wrote it so that a technician cannot misread a maintenance instruction. It removes the two biggest sources of misreading: words that carry more than one meaning, and sentences that support more than one structure.

The same discipline fixes the usual failure of agent-written prose. Agent output is often correct and unreadable: long sentences, stacked hedges, passive voice, and a synonym rotation that makes one action look like three. The reader has no author to ask, so ambiguity costs them a re-read at best and a wrong action at worst.

Apply the rules below as you write. Do not write a dense draft and clean it up afterward.

When to use this

Use it for text that a person or another agent must act on:

  • Reports, findings, and summaries.

  • PR descriptions, commit messages, and code comments.

  • Instructions passed to another agent, and prompts.

  • Tool descriptions, error messages, empty states, and log lines.

Do not use it where voice is the point: marketing copy, blog posts, or anything persuasive. STE is deliberately flat. Also leave quoted text alone. If you quote a user, a log, or a document, quote it as it is.

The rules

RuleDoDo not
One meaning per wordPick one verb per action and reuse it every timeRotate "check", "verify", and "confirm" for the same action
One part of speech per word"Apply oil to the valve""Oil the valve"
Active voice"The worker deletes the file.""The file is deleted."
Simple tenses"We received the report.""We have received the report."
One idea per sentence"Open the file. Read line 3.""Open the file and read line 3, then check it matches."
Sentence length20 words or fewer for instructions, 25 or fewer for descriptionsChains of subordinate clauses
Noun clusters3 words or fewer ("fuel pump valve")"high pressure fuel pump inlet valve assembly"
No missing wordsKeep the subject, the verb, and the article, even if it reads longer"Files not backed up will be lost", which hides which files
One hedge, at most"The client version is probably out of date.""An error may have occurred which could be caused by..."
ParagraphsOne topic, 6 sentences or fewerMulti-topic paragraphs
ListsUse a list for 3 or more steps or conditionsA sequence buried in one sentence
JargonKeep the technical term you need, and define it onceUse an internal name the reader has never seen

PostHog house style sits on top of these rules and wins where the two disagree. We use American English, sentence case, and the Oxford comma. We do not use the em-dash.

How to rewrite

  1. Read the text once for meaning. Do not start rewriting before you know what it must still say.

  2. Go sentence by sentence. Name the rule each sentence breaks.

  3. Rewrite the sentence to fix that break. Keep every fact, number, condition, and qualifier.

  4. Check the result against the rules again. A rewrite often introduces a new long sentence.

Precision beats brevity. If a shorter sentence would drop a safety condition, a scope qualifier, or a number, keep the longer sentence and say why.

If the text already follows the rules, say so. Do not change compliant text.

Self-check

Before you send the text, read it once and ask:

  • Does any sentence run past 25 words?

  • Does any sentence carry two instructions?

  • Does the same action appear under two different verbs?

  • Can a passive sentence name its actor?

  • Would a reader who joins here, with no context, know what to do next?

References

  • references/writing-rules.md: the detail behind the table, plus sources.

  • references/before-after.md: worked examples of the rewrite, including agent output.

Files

references/before-after.md

Before and after

Every example below is invented to show a rule. None comes from a real report, ticket, or conversation.

Single sentences

RuleBeforeAfter
One meaning per word"Verify the flag, then confirm the rollout, then check the payload.""Check the flag, the rollout, and the payload."
Precise verb"Follow the retry policy.""Obey the retry policy."
Simple tense"We have received 400 exceptions since Tuesday.""We received 400 exceptions since Tuesday."
Active voice"The stale cache entry is evicted on the next write.""The next write evicts the stale cache entry."
Noun cluster"the task queue priority handler config""the config that sets task-queue priority"
No missing words"Sessions not sampled are dropped.""The worker drops a session that the sampler did not select."

Tool description

Before:

This tool will attempt to synchronize state across the various backends that have been configured, and if a conflict is detected it may resolve it automatically depending on the strategy that has been set, or otherwise it will surface the conflict for manual review.

What it breaks: two instructions in one sentence, three hedges, 55 words against a 25-word cap.

After:

The tool syncs state across the configured backends. If it finds a conflict, it reads the current strategy. If the strategy allows automatic resolution, the tool resolves the conflict. If not, the tool reports the conflict for manual review.

Error message

Before:

An error may have occurred while processing your request due to a possible mismatch in the expected data format, which could be caused by an outdated client version.

What it breaks: passive voice with no actor, two hedges stacked, two claims in one sentence.

After:

The request failed. The data format did not match what the server expected. Check your client version. An outdated client is the most common cause.

Instruction to another agent

Before:

Once the upstream job has completed and assuming no errors were raised, the downstream agent should proceed to consume the output artifact, though it is worth noting that partial artifacts are sometimes produced under timeout conditions.

What it breaks: present perfect, three facts in one sentence, 42 words against a 20-word cap.

After:

Wait for the upstream job to finish with no errors. Then read the output artifact. A timeout can produce a partial artifact, so check that the artifact is complete before you use it.

Report finding

Before:

It appears that there may be an issue with the way in which the signup funnel is currently being instrumented, as the property that identifies the plan the user selected has not been being sent on the final step of the funnel since around the middle of last month, which means that any breakdown by plan is likely to be undercounting.

What it breaks: 62 words, three hedges, present perfect progressive, a vague date.

After:

The signup funnel drops the plan property on its final step. The property stopped arriving on 12 May. Every breakdown by plan undercounts from that date.

What not to simplify

Keep the longer sentence when the shorter one loses something:

  • A condition: "Delete the row only after the export finishes."

  • A scope qualifier: "This applies to teams on the legacy ingestion path."

  • A number, a date, or a unit.

Say why you kept it, in one line, rather than dropping it.

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Security

No issues found by our static scan· No issues found

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Published by
PostHog
Publisher
PostHog (Official)
Source
PostHog/skills · skills/omnibus/writing-simplified-technical-english · commit a5d30e7
Licence
MIT License (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by PostHog or PostHog.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download writing-simplified-technical-english.zip