Plain writing
This skill captures how the user wants written prose to read. The goal is text
that anyone can read once and understand. The user has asked for this style
repeatedly and corrects writing that does not follow it, so apply it by default
when you write prose for them.
The rules
Use simple, everyday words. Prefer the common word over the fancy one,
e.g., write "use" rather than "leverage". Short familiar words are faster to
read.
Write complete sentences. Each sentence states one clear thing and has a
subject and a verb. Do not write fragments, and do not stitch several ideas
together with colons or semicolons into one dense line. If a sentence is
doing two jobs, split it into two.
No dashes, and limit colons. Do not use em dashes or en dashes, including
in number ranges. Join clauses with a period, or with a word such as "and".
Write ranges with the word "to", e.g., "0.94 to 0.96". Use a colon only to
introduce a list. Do not use a colon to join clauses or to set up a point,
e.g., "Read for the schema: the feature fires". Dashes, and colons used for a
point, invite the clever phrasing the user does not want.
No jargon. Do not use shorthand from a field when a plain phrase works.
If a technical term is truly needed, say it once and explain it in plain
words. Avoid a word such as "calibrated" unless you define it simply.
No analogies or imagery. Do not explain something by comparing it to a
different thing. Do not use a metaphor or any phrase meant to sound smart.
Describe the actual thing in literal terms.
No filler. Cut words and phrases that add nothing, e.g., "it is worth
noting that". Every sentence should add something the reader needs.
Explain things fully and clearly. Plain also does not mean terse. If an
idea is compressed into one cramped sentence, expand it so each point gets
its own sentence and the reader can follow it. When you have several distinct
things to list, give each one a clear sentence or its own bullet, not one
long line. Clarity comes before both shortness and length.
Do not give inanimate things human actions. A paper cannot do something
that only a person can do. Name the person who does the action, e.g., write
"the authors argue" rather than "the paper argues". A plain factual verb for
an inanimate subject is fine, e.g., "the table shows the scores".
Do not invent hyphenated adjectives. A common compound adjective that
people already use is fine, e.g., "well-crafted". Avoid a phrase you make up
by joining words with a hyphen to sound compact or clever, e.g.,
"reveal-style colon". When you catch yourself coining one, reword it in plain
words. A good test is whether you would find the term in a dictionary or hear
it in normal speech. If not, write it out.
Do not pad with empty emphasis words. Words like "really" and "real" add
emphasis but no information, so drop them. Do not say that something
"matters" or "carries weight". State the actual point, or cut the sentence.
Keep lists and examples simple.
- Do not write a three-part series in a sentence, e.g., "it is simple,
clear, and direct". It sounds practiced. When you have items to list, use
a bullet list. Do not pad a list to three just for rhythm.
- When you use an example to make a point, give one example and introduce it
with "e.g.". Do not stack several examples for the same point.
How to revise
Revise in two passes.
First pass. Read the text once and fix anything that breaks the rules above.
Second pass. Read the result again as if you had never seen it. Go clause by
clause and ask whether each clause adds something the reader needs. If a clause
or a whole sentence does not earn its place, remove it. Then check that a reader
seeing the text for the first time would understand every sentence.
The revision artifact
When the second pass removes or rewrites anything, also make a small HTML file
so the user can see what changed. Skip this for tiny edits where the second pass
did not cut or rewrite anything.
Build a list of the changes at the level of whole sentences. Group the entries
into paragraphs, and give each paragraph a "para" number. Each entry is one of
these kinds:
- keep. The sentence is unchanged. Fields:
type is "keep", and text.
- edit. The sentence was rewritten. Fields:
type is "edit", old, new, and
why.
- del. The sentence was removed. Fields:
type is "del", plus old and why.
The why is a short plain reason for the change, e.g., "filler, adds nothing".
Here is the shape of the list:
[
{ "para": 1, "items": [
{ "type": "edit", "old": "...", "new": "...", "why": "..." },
{ "type": "del", "old": "...", "why": "..." }
]},
{ "para": 2, "items": [
{ "type": "keep", "text": "..." }
]}
]
Then take the template at assets/revision_template.html, replace the text
__DATA__ with this list as JSON, and save the result to a new file in /tmp,
e.g., /tmp/revision-<short-name>.html. Do not write it into the skill folder.
Tell the user where the file is. The file has three tabs:
- First draft
- Second draft
- Diff
In the Diff tab the removed text is red and the rewritten text is green. The
reason for each change appears when the user hovers the colored text.
Examples
These are before and after pairs from the user's own edits.
Example 1. Dashes and jargon.
Before: Fresh-annotation re-scoring (cache bypassed) moved means by less than
0.004. Read for the schema: "feature fires" is a calibrated proxy for "the
property holds" at F1 of 0.94 to 0.96 for coherent features.
After: We ran the scoring again with new language model calls and no caching.
The average scores changed by less than 0.004, so they are not an effect of
caching. For most features, the description agrees with how the feature actually
behaves, at an F1 of about 0.94 to 0.96.
Example 2. Filler.
Before: It is worth noting that the second pass actually removes quite a lot of
words, and this matters.
After: The second pass removes a lot of words.
Example 3. One cramped sentence split into clear ones.
Before: The groups the features were sorted into were the authors' own reading,
the example posts were written by hand, and finer detail meant training extra
small models and labeling again.
After: First, the authors sorted the features into groups themselves, based on
their own reading of the results. Second, they wrote the example posts by hand
after reading many of the posts. Third, when they wanted finer detail, they
trained another small model and labeled the posts again.
Example 4. Analogy removed.
Before: The feature index is like a card catalog that the optimizer can flip
through.
After: The feature index is a list of named features. The optimizer can look up
which feature matches a request.
Example 5. Inanimate subject given a human action.
Before: The paper argues that the trend holds, and the result bears emphasis.
After: The authors argue that the trend holds.
Example 6. A group of three.
Before: Review time on a big change dropped from a full day to under an hour,
weekly output went up threefold, and the rate of bugs per change fell.
After: Several measures of productivity improved, e.g., review time on a big
change dropped from a full day to under an hour.
Example 7. Empty importance words.
Before: This result matters, and it carries weight for the design.
After: As a result, the system can skip the model on most documents.
1---2name: plain-writing3description: Write and edit prose in the user's plain style: simple everyday words, complete sentences, no dashes, no jargon, no analogies, no filler, and full clear explanations. Use this whenever you draft or revise any prose for the user, such as documents, Notion pages, reports, summaries, README files, research notes, proposals, slide text, emails, or commit and PR descriptions. Also use it whenever the user asks to simplify, clean up, tighten, reword, or make writing clearer or easier to read. Default to this style for prose written for the user unless they ask for a different one. Do not apply it to code itself, only to the words around it.4---56# Plain writing78This skill captures how the user wants written prose to read. The goal is text9that anyone can read once and understand. The user has asked for this style10repeatedly and corrects writing that does not follow it, so apply it by default11when you write prose for them.1213## The rules14151. **Use simple, everyday words.** Prefer the common word over the fancy one,16 e.g., write "use" rather than "leverage". Short familiar words are faster to17 read.18192. **Write complete sentences.** Each sentence states one clear thing and has a20 subject and a verb. Do not write fragments, and do not stitch several ideas21 together with colons or semicolons into one dense line. If a sentence is22 doing two jobs, split it into two.23243. **No dashes, and limit colons.** Do not use em dashes or en dashes, including25 in number ranges. Join clauses with a period, or with a word such as "and".26 Write ranges with the word "to", e.g., "0.94 to 0.96". Use a colon only to27 introduce a list. Do not use a colon to join clauses or to set up a point,28 e.g., "Read for the schema: the feature fires". Dashes, and colons used for a29 point, invite the clever phrasing the user does not want.30314. **No jargon.** Do not use shorthand from a field when a plain phrase works.32 If a technical term is truly needed, say it once and explain it in plain33 words. Avoid a word such as "calibrated" unless you define it simply.34355. **No analogies or imagery.** Do not explain something by comparing it to a36 different thing. Do not use a metaphor or any phrase meant to sound smart.37 Describe the actual thing in literal terms.38396. **No filler.** Cut words and phrases that add nothing, e.g., "it is worth40 noting that". Every sentence should add something the reader needs.41427. **Explain things fully and clearly.** Plain also does not mean terse. If an43 idea is compressed into one cramped sentence, expand it so each point gets44 its own sentence and the reader can follow it. When you have several distinct45 things to list, give each one a clear sentence or its own bullet, not one46 long line. Clarity comes before both shortness and length.47488. **Do not give inanimate things human actions.** A paper cannot do something49 that only a person can do. Name the person who does the action, e.g., write50 "the authors argue" rather than "the paper argues". A plain factual verb for51 an inanimate subject is fine, e.g., "the table shows the scores".52539. **Do not invent hyphenated adjectives.** A common compound adjective that54 people already use is fine, e.g., "well-crafted". Avoid a phrase you make up55 by joining words with a hyphen to sound compact or clever, e.g.,56 "reveal-style colon". When you catch yourself coining one, reword it in plain57 words. A good test is whether you would find the term in a dictionary or hear58 it in normal speech. If not, write it out.596010. **Do not pad with empty emphasis words.** Words like "really" and "real" add61 emphasis but no information, so drop them. Do not say that something62 "matters" or "carries weight". State the actual point, or cut the sentence.636411. **Keep lists and examples simple.**65 - Do not write a three-part series in a sentence, e.g., "it is simple,66 clear, and direct". It sounds practiced. When you have items to list, use67 a bullet list. Do not pad a list to three just for rhythm.68 - When you use an example to make a point, give one example and introduce it69 with "e.g.". Do not stack several examples for the same point.7071## How to revise7273Revise in two passes.7475First pass. Read the text once and fix anything that breaks the rules above.7677Second pass. Read the result again as if you had never seen it. Go clause by78clause and ask whether each clause adds something the reader needs. If a clause79or a whole sentence does not earn its place, remove it. Then check that a reader80seeing the text for the first time would understand every sentence.8182## The revision artifact8384When the second pass removes or rewrites anything, also make a small HTML file85so the user can see what changed. Skip this for tiny edits where the second pass86did not cut or rewrite anything.8788Build a list of the changes at the level of whole sentences. Group the entries89into paragraphs, and give each paragraph a "para" number. Each entry is one of90these kinds:9192- keep. The sentence is unchanged. Fields: `type` is "keep", and `text`.93- edit. The sentence was rewritten. Fields: `type` is "edit", `old`, `new`, and94 `why`.95- del. The sentence was removed. Fields: `type` is "del", plus `old` and `why`.9697The `why` is a short plain reason for the change, e.g., "filler, adds nothing".98Here is the shape of the list:99100```json101[102 { "para": 1, "items": [103 { "type": "edit", "old": "...", "new": "...", "why": "..." },104 { "type": "del", "old": "...", "why": "..." }105 ]},106 { "para": 2, "items": [107 { "type": "keep", "text": "..." }108 ]}109]110```111112Then take the template at `assets/revision_template.html`, replace the text113`__DATA__` with this list as JSON, and save the result to a new file in `/tmp`,114e.g., `/tmp/revision-<short-name>.html`. Do not write it into the skill folder.115Tell the user where the file is. The file has three tabs:116117- First draft118- Second draft119- Diff120121In the Diff tab the removed text is red and the rewritten text is green. The122reason for each change appears when the user hovers the colored text.123124## Examples125126These are before and after pairs from the user's own edits.127128**Example 1. Dashes and jargon.**129Before: Fresh-annotation re-scoring (cache bypassed) moved means by less than1300.004. Read for the schema: "feature fires" is a calibrated proxy for "the131property holds" at F1 of 0.94 to 0.96 for coherent features.132After: We ran the scoring again with new language model calls and no caching.133The average scores changed by less than 0.004, so they are not an effect of134caching. For most features, the description agrees with how the feature actually135behaves, at an F1 of about 0.94 to 0.96.136137**Example 2. Filler.**138Before: It is worth noting that the second pass actually removes quite a lot of139words, and this matters.140After: The second pass removes a lot of words.141142**Example 3. One cramped sentence split into clear ones.**143Before: The groups the features were sorted into were the authors' own reading,144the example posts were written by hand, and finer detail meant training extra145small models and labeling again.146After: First, the authors sorted the features into groups themselves, based on147their own reading of the results. Second, they wrote the example posts by hand148after reading many of the posts. Third, when they wanted finer detail, they149trained another small model and labeled the posts again.150151**Example 4. Analogy removed.**152Before: The feature index is like a card catalog that the optimizer can flip153through.154After: The feature index is a list of named features. The optimizer can look up155which feature matches a request.156157**Example 5. Inanimate subject given a human action.**158Before: The paper argues that the trend holds, and the result bears emphasis.159After: The authors argue that the trend holds.160161**Example 6. A group of three.**162Before: Review time on a big change dropped from a full day to under an hour,163weekly output went up threefold, and the rate of bugs per change fell.164After: Several measures of productivity improved, e.g., review time on a big165change dropped from a full day to under an hour.166167**Example 7. Empty importance words.**168Before: This result matters, and it carries weight for the design.169After: As a result, the system can skip the model on most documents.