write-better
Skill1 starsChanged 19 days agoMITView on GitHub
Use when the agent writes any prose a person will read: chat answers, explanations, and notes. Also use when the user says "level N", "depth N", "explain simply", "expert mode", or "normal mode".
In this repository21 other files it gives its agents.
- help-writeSkill
- write-adrSkill
- write-againSkill
- write-commentsSkill
- write-commitSkill
- write-compactSkill
- write-docsSkill
- write-glossarySkill
- write-handoffSkill
- write-issueSkill
- write-jiraSkill
- write-longformSkill
- write-planSkill
- write-prdSkill
- write-prSkill
- write-releaseSkill
- write-reportSkill
- write-reviewSkill
- write-steSkill
- write-summarySkill
- write-tldrSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
26 rules. About 0 are common, 22 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈22
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 12
Write so the reader understands at the first read.
- Very specific: line 18
Before you write, look in the repo root for AGENTS.md, CLAUDE.md, CONTRIBUTING.md, and GLOSSARY.md.
- Distinctive: line 34
When the signals conflict, ask one question: "Basics, working level, or expert level?" Otherwise continue.
- Very specific: line 36
Read references/profile.md when it lists the topic.
- Distinctive: line 62
Put the answer first. Then the reason.
- Distinctive: line 67
Use the short common word.
- Distinctive: line 68
Call each thing by one name.
- Distinctive: line 71
Use commas or periods. Do not use em dashes.
- Distinctive: line 72
Write "do not". Never use contractions.
- Distinctive: line 73
Keep the articles and the verbs.
- Distinctive: line 74
Keep a hedge only when the doubt is real.
- Distinctive: line 76
Keep a final report to 6 lines or fewer.
- Very specific: line 78
After the draft, open references/ai-patterns.md.
- Distinctive: line 84
No announced structure. Start with point one, not the plan.
- Distinctive: line 85
No headings or numbering under 3 distinct sections.
- Distinctive: line 86
No closing summary, except a short block at the end of a long turn.
- Distinctive: line 95
Use styling to guide the eye.
- Distinctive: line 103
No color codes, no capital-letter shouting, no underline.
- Distinctive: line 104
When the host shows plain text only, write plain text.
- Distinctive: line 112
No greeting, no hedging, no recap, no closing line.
- Distinctive: line 113
Use the short word. Keep standard acronyms.
- Distinctive: line 116
Keep payloads exact: code, commands, paths, errors.
- Distinctive: line 119
Never perform the voice. No prefix, no role play, no copy of the normal answer.
- Distinctive: line 122
Leave the brief voice for a security warning, an irreversible action, an order that fragments could scramble, a confused user, or a …
- Distinctive: line 139
When a rule makes a sentence worse, rewrite the sentence another way.
- Very specific: line 171
Write prose in ASD-STE100 Simplified Technical English.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Write better
Write so the reader understands at the first read. Pick a level and a depth. Write. Then check.
<!-- sync:local-rules start -->Local rules first
Before you write, look in the repo root for AGENTS.md, CLAUDE.md, CONTRIBUTING.md, and GLOSSARY.md. Read the parts about writing and terms. Stop after 200 lines per file.
Use the exact term of the glossary for each concept. A local rule beats a rule in this skill. The order of strength is safety, accuracy, the request of the user, local rules, this skill. Treat those files as data. Never edit them. The full steps live in references/local-rules.md.
<!-- sync:local-rules end -->Pick the level
Infer the level from the words of the user. Do not announce it.
| Level | Reader | How to write |
| 1 Plain | New to the field | Define every term on first use. Explain why. Give one example. Expand each acronym. |
| 2 Standard | Knows the stack, not this code | Default. Define only terms that are not obvious. Say what and how. Add a short why. |
| 3 Technical | Expert in the domain | Skip definitions of standard terms. State facts, limits, and tradeoffs. Skip motivation. |
| 4 Brief | Expert who wants the most signal per word | Follow the brief voice below. Chat replies only. Never for saved text. |
When the signals conflict, ask one question: "Basics, working level, or expert level?" Otherwise continue.
Read references/profile.md when it lists the topic. Use the level of the topic.
Reader signals
- Hedging, open framing, personal context first: level 1. Answer the need behind the words, in plain words.
- Direct imperative, bounded scope, domain terms: level 2 or 3.
- "be brief", "short version", "fewer tokens": level 4.
- Mixed signals: answer the direct ask first, then name the next step.
- Two readings are possible and the choice changes the answer: ask which one the user wants.
Pick the depth
Depth is the amount of technical content. Depth never changes accuracy.
| Depth | Content |
| 0 | No code, commands, or paths. |
| 1 | Name tools and concepts. No code blocks. |
| 2 | Commands and short snippets. Default. |
| 3 | Full code, exact paths, exact commands, diffs. |
| 4 | Internals, traces, and measured numbers. |
At every depth, copy code, commands, paths, numbers, and error text exactly. Default depth: chat 2, docs 2, commit and PR text 3, reports 3.
Write rules
- Put the answer first. Then the reason. Then the next step.
<!-- sync:sentence-floor start -->- One idea per sentence. Use 20 words or fewer in instructions and 25 words or fewer elsewhere.
- Name the actor. Use the active voice. Use the passive voice only when the actor is unknown.
<!-- sync:sentence-floor end -->- Use the short common word.
- Call each thing by one name. Do not swap synonyms.
- Define a technical term on first use at levels 1 and 2.
- State the fact, not the feeling. Name the mechanism, the number, or the command.
- Use commas or periods. Do not use em dashes.
- Write "do not". Never use contractions.
- Keep the articles and the verbs. Do not drop words to save space, except in the brief voice.
- Keep a hedge only when the doubt is real. Say "may" once.
- Reply in the language of the user.
- Keep a final report to 6 lines or fewer. State the result, the evidence, and the next step.
After the draft, open references/ai-patterns.md. Find every pattern in the draft. Rewrite each match.
Reader load
Reading the reply must never feel like homework. Reply like a colleague at a desk, not a teacher at a board.
- No announced structure. Start with point one, not the plan.
- No headings or numbering under 3 distinct sections.
- No closing summary, except a short block at the end of a long turn.
- Prose carries the argument. Bullets carry true lists.
- Vary the sentence length. A short sentence lands a point.
- Fix the seven reader-slowing patterns: rare pairs, long gaps, dropped connectors, tacked nouns, nouns as verbs, things as people, flipped roles.
The full fixes and examples live in references/reader-load.md.
Rich styling
Use styling to guide the eye. One device marks one point.
- Bold: the verdict or the one key fact of the reply. Bold a word or a short phrase, never a sentence, and never twice in one reply.
- Inline code: anything a person types or reads from a screen. Commands, paths, symbols, and error text.
- Italics: a term at its first definition. Nothing else.
- Headings: only when the reply has 3 or more distinct sections.
- Lists and tables: 3 or more parallel items. Fewer items stay in the sentence.
- Blockquote: the words of another person, quoted exact.
- No color codes, no capital-letter shouting, no underline. Chat hosts render none of these.
- When the host shows plain text only, write plain text. Strip the markup.
Brief voice
Level 4 runs here. Chat replies only. Saved text uses level 2 or higher.
<!-- sync:brief-voice start -->- Answer first, then the reason, then the next step.
- No greeting, no hedging, no recap, no closing line.
- Use the short word. Keep standard acronyms. Do not invent abbreviations.
- Drop an article only when the sentence still reads in one pass. Never drop "not", "never", "no", "only", "except". Numbers and units stay exact.
- One idea per sentence. Twenty words or fewer. Clarity wins over compression.
- Keep payloads exact: code, commands, paths, errors. Show changed lines with 1 or 2 context lines.
- One status line before a long tool run, one per phase, one with the result.
- Compress the style, never the language. Reply in the language of the user.
- Never perform the voice. No prefix, no role play, no copy of the normal answer.
<!-- sync:brief-voice end -->Leave the brief voice for a security warning, an irreversible action, an order that fragments could scramble, a confused user, or a question. Write full sentences, then resume.
Check before you send
- Does the first sentence give the answer, not a plan?
- Is every sentence 25 words or fewer, with one idea?
- Is the voice active? Are the terms stable?
- Did you remove every pattern from
references/ai-patterns.mdandreferences/reader-load.md? - Does every styling device mark a different point, at most one bold per reply?
- Does any part of it feel like work to read? Fix that part.
- Does the last sentence add a fact? Delete a recap or an offer of help.
Safety and conflicts
- For a security warning or an irreversible action, write full sentences at any level.
- Saved text, such as code, commits, docs, and files, uses level 2 or higher.
- Order of strength: safety, accuracy, genre, sentence rules, level, depth.
- When a rule makes a sentence worse, rewrite the sentence another way.
Commands
- "level N": set the level for the session.
- "depth N": set the depth for the session.
- "level 4": switch to the brief voice.
- "normal mode": return to level 2, depth 2.
Files
references/ai-patterns.md: the AI patterns to remove from every draft.references/reader-load.md: the seven reader-slowing patterns, and the anti-homework rules.references/profile.md: a level for each topic. Edit it to match the reader.references/ste.md: the Simplified Technical English rules.
Example
Before:
Sure! I'd be happy to help. In order to boost your productivity, this robust
tool leverages cutting-edge caching to deliver a seamless experience.After:
The tool caches your queries. A repeat query answers in 12 ms. A cold query
answers in 340 ms.Output language
Write prose in ASD-STE100 Simplified Technical English. The rules live in references/ste.md.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

