Settings

Theme

Agent Skill to Force Docs in ASD-STE100 Simplified Technical English

github.com

363 points by navs · 138 comments

Reader

45 threads
dan_sbl

I took one of the examples ("Leveraging sqlpipe's robust...") and just prefixed it with this:

> Rewrite this using ASD-STE100 simplified technical English:

And you get a good-enough result, it seems? Maybe add another sentence or two for guidance, but what's with needing these giant skills, when ASD-STE100 was surely in the training material?

  • Ferret7446

    The training material is used to "develop intelligence" not as reference material.

    As an analogy, students learn a bunch of things during school, become more intelligent, but do not retain explicit knowledge like all of the details on the periodic table, or all of the exact formulas for things.

  • setrf

    I certainly get what makes you feel that the model should have been wise enough to utilize the knowledge in its pretraining, but it seems like the pretraining data gets pretty muddled in later stages.

    • CuriouslyC

      The pretraining data isn't getting muddled, the instruction just gets in the lossy middle, and there's less for attention to grab on to. If you repeated the prompt with a hook every turn, it'd stay quite sharp.

tajd

On a related note I wrote a skill to apply the economist style guide to LLM generated writing https://github.com/TAJD/economist-style-guide-plugin

Tends to produce relatively well structured prose that’s easy to edit.

abeyer

STE Misapplication issues and limited adoption

https://en.wikipedia.org/wiki/Simplified_Technical_English#M...

  • dragonwriter

    Love this line in the critical material quoted there:

    “Writing correctly in STE is not an easy task as it requires a good command of the English language together with a good knowledge of the matter of the writing.”

    This is simply what is required for good writing (in English) in any domain with or without STE.

  • baq

    LLMs should be unreasonably good at exactly this kind of writing because they’re good translators; regardless in practice it works well to deslopify their writing, been using this in all my prompting in the last week or so, haven’t seen a single load bearing belt and suspenders since.

jpease

I like the idea, but not sold on the skill.

But did lead to me finding https://vale.sh and its various available linters. Might give that a try.

  • lab14

    STE is part of the training set, so the skill is redundant and only pollutes your context window.

  • aurareturn

    How would one use Vale in LLM documentation?

    • tbhb

      I use it with a rule package that has a variety of Vale styles for AI writing tells (github.com/tbhb/vale-ai-tells). Typically I have it set up in a project and then gate the agent with post tool use hooks and pre-commit hooks. It's far from perfect but it does help eliminate a lot of the common tells.

    • dymk

      Precommit hook

hsaliak

Seems to be doing too much, a 1 line in the system prompt is all you need. And it works well enough.

“Output tokens are precious, be succinct in your responses. Use ASD-STE100 simplified technical english”

  • Syntaf

    Does this actually work for you? I've tried adding rules in my user profile as well as adding instruction in my CLAUDE.md but my models always eventually go off the rails and start spewing technical jargon in doc strings & descriptions.

    At this point I'd do anything to get claude to dumb down and simplify it's explanations in my code, so I'm looking forward to giving this a try and seeing how it goes.

bayesnet

It’s ironic that the README has all the tells of being LLM-written: > 53 numbered rules, 9 sections, written in 1983 by people whose readers die when a sentence is ambiguous. The ones doing the heavy lifting: …

Not really a promising tell for a writing skill, IMO.

  • danielbarla

    I've been using a plain ASD-STE100 prompt for a little bit now, and while I somewhat prefer the text that agents produce while being told to use simplified English, it does not necessarily change the overall structure of what they write. It just now tends to have shorter sentences, and fewer drumroll, pitch-deck / vacuous section titles like "the finding that pivots the preposition", etc. Overall a significant quality increase in my opinion, but nothing earth shattering, and doesn't fully solve the problem.

  • mcintyre1994

    They acknowledge this, but I really dislike whatever style they're using for the readme:

    > Yes, this README breaks half of them. Marketing is explicitly out of STE scope. The skill knows that and stays in the docs.

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

    (Each sentence there has an emoji that HN cuts out)

    • bcrosby95

      The problem with at least ChatGPT is no matter what personality you set it still reads like a smug asshole trying to sound smart. You can just pick different flavors of smug asshole.

      • cheema33

        > The problem with at least ChatGPT is no matter what personality you set it still reads like a smug asshole trying to sound smart.

        Some of this may be perception rather than reality. I have never felt that ChatGPT was being smug or rude to me.

    • ulrikrasmussen

      And the goddamn emojis. I get it, people use them when texting to make the writing a bit more chummy, but I can really live without them everywhere else.

  • gchamonlive

    The readme looks to me concise and correct. Tested it and it works. Better than many human-written readmes I've seen around.

summarity

Gotta love how the very first example in Issue 9 of the standard is already self-defeating:

> "Test" is an approved noun, but not an approved verb.

> STE: Test B is an alternative to test A.

So much for clear - unless you know the STE specific rule, the sentence is unambiguously ambiguous.

Direct access btw since the official site gates downloads with a Google form: https://www.asd-ste100.org/assets/files/ASD-STE100_ISSUE9.pd...

  • aesthesia

    How is that ambiguous? The best interpretation I can find where "test" is a verb is an elision: Test [that] B is an alternative to test A. That is an unlikely reading: "test" is a verb in the first instance and a noun in the second, breaking parallelism. And it's just a very unlikely thing to direct someone to do.

    • summarity

      "Test B is an alternative to test A."

      could mean there's a Test B and a Test A, and they're interchangeable.

      Or:

      You can run Test B to confirm A works, that is "to test A".

      Again the stated goal to clear documentation for non-native or limited-exposure speakers. This doesn't pass that test.

      • aesthesia

        Ah, I see, taking "to test A" as an infinitive. But it would be strange to say test B is an alternative without saying what it's an alternative to. The other reading still seems quite unlikely.

        • dymk

          The point of STE100 is to avoid ambiguity like this, though.

          • thomascountz

            The point of STE is to support technical writers who have knowledge of the matter and a style guide. In other words, STE will not make something unambiguous simply by replacing words. The example sentence is just to illustrate a grammar rule: "test" as a verb vs a noun. That is all. You should not assume an STE rule will disambiguate a single sentence pulled out of context.

gregsadetsky

Does anyone know why ASD-STE100 is having a moment right now? Viral tweet?

I heard about it from a friend, and posted its "spec" here a few days ago:

https://asd-web-be-prod.azurewebsites.net/media/wunhmi5y/asd...

Ironically?, you're not allowed to copy from the pdf (yes, trivially defeatable - but why).

I guess we'd need a linter (ruff, but for English) that gates whether you're using any non-ASD-STE100 word? Otherwise, yeah, any agent will almost certainly forget this (one line) instruction.

dcl

One question I have about stuff like this: How does it affect the models intelligence or thinking ability. If this modifies the output or chain of thought in any way, it may impact what the model is capable of right? Especially if it's not trained to use this kind of language during training.

  • solenoid0937

    It definitely seems like this should be a post processing layer instead of an instruction.

gillesjacobs

https://youtu.be/uJblcC4lKYw

This video benchmarks slop-style indicators with different skill/prompt solutions including the STE skill vs. George Orwell's six rules of writing prompt: Orwell came out on top overall.

Additional bonus: it doesn't add much more tokens to input context. I have compared prose prompts with these rules and without and I am liking the results.

  1. Never use a metaphor, simile, or other figure of speech which you are used to seeing in print.
  2. Never use a long word where a short one will do.
  3. If it is possible to cut a word out, always cut it out.
  4. Never use the passive where you can use the active.
  5. Never use a foreign phrase, a scientific word, or a jargon word if you can think of an everyday English equivalent.
  6. Break any of these rules sooner than say anything outright barbarous.
  • ulrikrasmussen

    I don't know if I have been damaged by reading so much AI, but I swear the narrator of that video had the script for it written by Claude without any of those rules applied. There are so many platitudes and AI-isms in the way he speaks:

        "now the honesty - those translation gains were real but small"
        "and here is the honest part"
        "same disease but with different symptom"
        "so that brutal 3% number was a Claude quirk, not a law of nature"
alehlopeh

No semicolons — write two sentences.

Oh lord.

boardwaalk

the problem I’ve found with these things is that models drift immediately. if it’s not a git commit hook that runs over docs and comments and commit messages objectively it’s probably useless. which I might try.

Claude is so friggin wordy and has no idea how place comments iff they actually matter.

Planktonne

This is cruft [1]. No one who is capable of using this needs it--it's a line in the prompt at most.

[1] https://knowyourmeme.com/memes/thinking-quickly-dave-constru...

  • sixhobbits

    Yes the prompt "only output ASD-STE100 Simplified Technical English" does the same thing as the skill.

    But it's very useful and skills is a good way to share promots, so whatever.

    Try the skill or the prompt. It will likely improve your experience interacting with agents

  • rspeele

    I have yet to see an "agent skill" that does not match this description.

    • skissane

      How I use skills:

      - Create a skill to perform some common task

      - Watch the agent use it

      - Wait until the agent makes a mistake

      - Ask it to update the skill to warn it against making that mistake again

      I think that, using that iterative process, I end up with something better than just asking it to perform the task plainly

      One observation: ask an LLM to write a skill, it tends to make them overly verbose and prescriptive. Often, something briefer and human-written actually works better

      Another: I generally let the LLM propose edits to the skill, but I review them carefully and often modify them, because I find it has a tendency to solve the current problem at the price of worsening the solution to a previous one

      • baby_souffle

        > - Ask it to update the skill to warn it against making that mistake again

        Yep! I have a canned prompt that basically boils down to "scroll up, read through and give me the top `n` things that were difficult..." and more often than not a small skill or change to `agents.md` comes out of that.

        • what

          > "scroll up, read through and give me the top `n` things that were difficult..."

          Why do you think it can answer that? It has zero clue.

          • Groxx

            Technically speaking: it can't, any more than it can actually answer any other thing you ask it to do.

            But in practice it does produce fairly reasonable output fairly often, and if you've been there watching and correcting it you can probably validate the result quite easily. "Re-read everything before" and similar are definitely anthropomorphizing, but that doesn't mean they're ineffective.

          • jeffreyames

            It can easily detect repeated failed attempts at a non obvious problem such as incorrect documentation or missing run flags

          • pertymcpert

            Why wouldn’t it?

      • solarkraft

        > One observation: ask an LLM to write a skill, it tends to make them overly verbose and prescriptive. Often, something briefer and human-written actually works better

        Incredibly so. All too often a “hey, you shouldn’t have done that here” turns into “NEVER X”, without it actually understanding or making an effort to understand why the correction was made, though I would say usually the context to do so should suffice. I have a rule for it to reason this through and use nuanced language and would say the frontier GPTs (5.4 to 5.6 Sol) get it right around half of the time (very rough estimate). The conclusions are really dumb sometimes.

        I’d be interested in an expertly crafted skill here, maybe there are things about it you can still improve. This is an area in which I still find LLMs to be quite lacking.

        It also made me appreciate the complexity of the nuances and levels of indirection of what I want to teach it: “Upload to the remote host, which in this case is this but might be another one in another use case, only do this on the local system and this on the remote, do this to X unless Y …, prefer doing Z unless another rule overrides it …”

        I sometimes feel like there could be a more expressive way to structure to structure these rules (bring the snark!).

      • sharpy

        Yep. That is what I do too. But a lot of times the changes it makes are bandaids rather than addressing root cause. I have to periodically evaluate the skills for consistency and opportunities for simplification.

      • kvirani

        Super valuable and actionable advice. :100:

    • mightybyte

      Oh, skills are absolutely useful for giving the LLM distilled knowledge of things that it doesn't just know ("off the top of its head" so to speak). For example, a company's coding style guide is something that could be very useful to express as a skill.

    • colechristensen

      My agent skills are just sets of instructions for my preferred way for something to be done. Mostly code reviews listing classes of bugs and output format and the like.

      But also development instructions focusing on how and what to research before implementing (some of the stuff I do ends up heavily influenced by papers and publications while the naïve implementation is often bad, old, or gets stuck.

    • podocarp

      Not true. At work I have skills for different sets of APIs for different scenarios. That saves some prompt bloat because you rarely need to straddle projects. So you just load whatever you're using and don't have to maintain a a giant prompt.

    • hedgehog

      They are useful for packaging all the related bits together. Some instructions on the line to add to the main prompt, detailed policy doc that spells out details, troubleshooting docs, the code itself, etc.

      • QuercusMax

        Also skills can often include helper scripts or other binaries which the agent can use to do things it couldn't otherwise.

    • dymk

      You can memorize a book too but that doesn’t mean they’re not useful

      • rspeele

        I actually don't mean that skills are useless, I have them in my projects too. Just that any time I've seen one shared publicly, basically the introductory blurb of "what does this skill do?" would serve adequately as "the skill". Such is the nature of machines that understand natural language.

        It makes it kind of funny publishing skills online because by the time somebody knows they want the skill, they already have it.

        • dymk

          Projects like SkillOpt[1] are pretty good evidence that the ceiling for skills isn't "describe it in a sentence and let the LLM generate it". There's value in iterating on a skill and figuring out what the weak parts are. At that point, sharing the skill can indeed be useful. Just look at superpowers, GSD, etc. They're 'just' skills (and a few bash scripts), but the text in them is useful enough to share.

          [1] https://microsoft.github.io/SkillOpt/docs/guideline.html

  • alansaber
  • smusamashah

    I have something like "no over enthusiasm, and less marketing please. Also I have ADHD and therefore get distracted easily" in my agents.md. It made responses way more digestible and to the point.

hankbond

["Skill", "Force"]

Pick one.

  • CGMthrowaway

    Here is the revised post title that follows ASD‑STE100 Simplified Technical English rules:

    "Agent Skill to Enforce ASD-STE100 Simplified Technical English in Documents"

handfuloflight

Okay here's one of the outputs:

> Before you start, make sure that your AWS credentials are correct. If they are not, S3 rejects the upload with a permission error.

Wouldn't it be better to write:

Before start, ensure AWS credentials are correct. Otherwise, S3 rejects uploads with permission error.

  • harshreality

    The example is unambiguous. Your modification is ambiguous at best. <failure to ensure aws credentials are correct> != <aws credentials are incorrect>

  • qznc

    Violates rule 4.2: Do not omit words or use contractions to shorten sentences. Keep articles, keep "that".

  • stavros

    No, how is that better?

  • trhway

    Which one would do better in a college essay? I think the original one, and it has higher word count.

    • dghlsakjg

      The actual STE standard would score horrendously in a college essay. STE encourages simplification and tons of repetition of words that is discouraged by college professors. It is designed to be clear technical writing for people with a loose grasp of English. College writing encourages complex sentence structure, varied word choice for the same concept and other things that make the writing more interesting at the expense of clarity.

ericpauley

Cruft complaints aside, what are people actually doing about this? Claude's prose output is becoming incomprehensible as its coding skill increases, and the concepts it needs to express are becoming more complex as it can handle more complex tasks.

stuaxo

I has quite a lot of luck making docs nicer by asking to "write using the dry/succinct style of ukgov/gds".

If you want to take things further you can use linters to enforce the whatever style you want, but just naming it is a good start.

  • NothingAboutAny

    I tried "be concise and respond in a blunt tone" and all that did was add a section to the bottom of every response "here's the blunt concise truth <1 million bullet points>"

aiagenta2z

I have a question about how did the project evaluate the technical English performance compared to other skills/MCPs and with LLM w/o skills? In the Github repo, there is a summary of "measured: 6 Claude models × 8 tasks × 2 conditions, 96 runs", Does it means the percentage of violations in the words? If that's the case, the measurement might be a little bit strange weather the STE measure is already in the prompt? STE violations per 100 words ▼ 72.9% (every model won). The bench or evaluation should not be in the same prompt, like eval/test.

bbg2401

Oh, is ASD-STE100 this week’s mindless productivity/AI-bro trend?

Ads-STE100: Simplified Technical English - https://news.ycombinator.com/item?id=49101215

ASD-STE100 Simplified Technical English for LLMs - https://news.ycombinator.com/item?id=49065956

ASD-STE100 Simplified Technical English [pdf] - https://news.ycombinator.com/item?id=49075687

Show HN: Claude Skill for ASD-STE100 – Simplified English - https://news.ycombinator.com/item?id=49108318

  • xlii

    New models (especially Opus 5, released just last week) produces unintelligible output, so people are trying to fix it.

    • dymk

      No, it was a viral tweet from last week. They’ve been verbose since GPT-4o.

      • xlii

        Ccn't say, though since Opus 5 I'm much more often staring at the wall of text and I have no idea what it's telling me.

        WTFs per prompt metric raised sharply for me :)

  • tonyarkles

    You didn’t link to it but I looked back at my very few submissions and realized that I had posted it in 2019. I thought it sounded familiar!

  • gck1

    Recent-ish models learned to use the same trick engineers played on non-engineers, where they try to sound very smart by overcomplicating very simple concepts.

    It's very taxing, especially since these are usually multi-paragraph texts. I noticed I've started doing a lot of "hey, you're talking gibberish again" a lot with 5.6 Sol.

    • brap

      I tried letting Fable have a few passes at my docs (ultracode) and the output was basically unreadable. Nothing a human would ever write.

      I wonder if limiting them to a certain style like STE upfront would make them perform better/worse vs. applying the style after they’re done.

      • nimonian

        Both. Command the author to use the style, then command a reviewer to check it. Write one skill called review-prose with your rules, and another called write prose which tells the author they will be judged by review-prose, so you only write the rules once.

        What I have found is that getting a model to rewrite a badly written passage is hard, because it seems to key off what it reads. It might swap some vocabulary around ok, but it doesn't fix structures very well. So getting it close to the preferred style in the first place is better.

        To take this further, if you must fix existing bad prose, write a clean-prose skill which extracts the bare structure of the prose with none of the style, hands it to an author subagent who isn't poisoned with the original bad prose, then hands the output to a reviewer subagent.

        Opus 5 writing is horrendous, so I have been experimenting with improving the output!

  • UqWBcuFx6NV4r

    What’s it like to be this abrasive about people simply doing things?

    • bbg2401

      It would be nice if people were indeed doing things.

      However, asking Claude to write a skill encoding ASD-STE100 after seeing it pop-up in your social feed is not doing much at all. It's certainly not worth a post on HN.

      Having said that, this skill might have been the seed for the flurry of low-effort posts on the subject on various platforms this week. If that's the case, I take back the majority of my scorn.

      You'll have to excuse me for becoming jaded by the diminishing levels of visible effort put into projects and products shared on here.

      • comradesmith

        Maybe your complaining wasn’t worth a comment on Hackernews?

      • mastodon_acc

        Not everyone spends their time browsing hackernews or other forums all day.

        This is the first time I’m hearing about this, I think it’s nifty, and it’s precisely why I come to hackernews at least once a day.

        Also what is wrong with using Claude to make a more polished post about something that’s being talked about already?

        • wonnage

          This is actually completely useless slop and any illusion of usefulness is misguided

          • mastodon_acc

            Based on what? I wouldn’t have learned about ASD-STE100 if I hadn’t stumbled upon this post. I’m not even going to use the linked GitHub project, just mentioning ASD-STE100 spec in certain prompts makes them useful.

          • 05980380443

            Since your claim that adhering to a proven style guide is useless slop is not itself useless slop, I am looking forward to your empirical evidence or formal proof that there is no benefit to using it.

  • toomuchtodo
weiliddat

Anecdote: was testing Opus 5 and even ASD-STE100 cannot save you from its meta-commentary and signposting all the time. It writes what it wants to write, e.g. "here's where you are right/wrong" instead of "Your instinct of the shape is right, but here's a sharper version". I could not get it to stop doing that.

In contrast if you ask GPT 5.5/5.6 to speak directly/plainly, it will just straight up tell you the content "X is right, Y is wrong". Much preferable.

alansaber

The irony of vibing a de-sloppinator

garkotipankaj

Agent skills work... sometimes - depends on the agent's mood really.

I tried to solve this in a rather opposite way.

https://github.com/computerreinvention/trie

The documentation is updated and recording the intent behind all changes is enforced by a commit-gate. At the symbol level.

dawnerd

TIL There's a spec for how I normally communicate instructions at work.

tpoacher

I often ask it to aim for a Flesch-Kincaid Readibility Ease Score of around 50, with good results. ELI5 is good too where appropriate.

I'll add ASD-STE100 to my list of decorposlopification strategies.

brodouevencode

I've been using this method for about a week - great outcomes from it so far: clear, clean language that sounds like something someone would actually write.

SoMomentary

Anyone tried this as an output style and not just as a skill?

  • nevi-me

    I've added the prompt to use the ASD English, on my CLAUDE.md when I learnt of the standard. The generated output is more tolerable to read, and is less confusing.

    I like it, and I'll also try the Economist one on another thread here. I have global instructions on how Claude should try to write things like I do.

    I generally avoid having lots of skills, security risk as I won't vet them all.

asdf88990

Nothing is more comical than AI Slope declaring that I kill AI slop:

> 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.

  • throwaway219450

    The “tired mechanic” is apocryphal at best. ASD was intended to be clear to non-native speakers. Here’s an example from another page:

    THE SYNTHETIC LUBRICATING OIL USED IN THIS ENGINE CONTAINS ADDITIVES WHICH, IF ALLOWED TO COME INTO CONTACT WITH THE SKIN FOR PROLONGED PERIODS, CAN BE TOXIC THROUGH ABSORPTION.

    In STE this sentence appears as below:

    DO NOT GET THE ENGINE OIL ON YOUR SKIN. THE OIL IS POISONOUS. IT CAN GO THROUGH YOUR SKIN AND INTO YOUR BODY.

    Consider if you translated those phrases into a foreign language you’re basically familiar with. You can be awake as you want and mis-interpret the first one.

  • stuaxo

    You can't de-slop it you can only make it less slop.

    AI slop doesn't die at all.

dylan9n

Didnt use it on the readme for the repo

antonyragleap

I wonder whether the real value is the shared, versioned workflow rather than the prompt itself.

z3ugma

Also from a nicely explained YouTube video: https://www.youtube.com/watch?v=uJblcC4lKYw " The cure for AI slop is a 1986 aircraft manual"

https://github.com/woosal1337/blog/tree/main/videos/ep01-the...

sergiotapia

You don't need any of this slop. Just add this to your AGENTS.md file, jesus christ.

"When writing plans or documentation use:

ASD-STE100 Simplified Technical English (STE for short)"

Avery29

I like this. Agent-facing docs feel more like an interface than prose

cesarvarela

Man, I was just now imploring Claude to be more concise.

grim_io

I wish this were selectable as the default output style.

codingjoe

What a wonderful skill. I hate the long and verbose do strings or docs LLMs spit out. This will make a great addition to my docu agent.

And I agree, maybe I should use this for my emails too

atoav

The examples are not good. In one example (incident report) the agent turns a generic "something went wrong" into overly precise error descriptions that may or may not spill internal details. Then it proceeds to make a promise to implement a persistent monitoring for that problem this week.

I mean generally this wouldn't be considered a bad response, but it is deeply problematic if an LLM tasked to just simplify language added both internals and promises to your customers without your knowledge.

cryo32

The day I have to negotiate and persuade the machine to stop talking shit rather than command it is the day I decide fuck it and go and farm geese or something.

Smells like today. I’ll take goose shit over this.

evanjrowley

Honestly I should use this on my own emails and slack messages.

shark1

printingpress.dev project is crying out for this skill.

ricardobeat

The very first sections of the README having obvious claude-isms is not very reassuring:

> AI slop dies as a side effect

> One folder, no dependencies, MIT.

benslockedin

tried it out - wrote really basic and then also ai slop - i love the idea of creating context collisions but this particular skill needs an inverse reference that takes the model through the latent space to remove the ai slop - its got legs but I'd consider mixing it with some advertising principles or storytelling so it trains out the mic drop bs

dgunay

I don't understand the challenges involved super well but I feel like this might be better as a piece of actual code (like a linter) that you can run to have an LLM iteratively de-slop its own writing, rather than forcing it out of distribution and having to contend with all the unreliability that entails.

gtirloni

I didn't know this even existed. Thanks for sharing.

markusw

Uh, nice! I hadn't heard about that spec before. I'll give the skill a try.

Merkur

nice :-) i'll try that! thx

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection