writing ยท diff
git:20260910.ad08b64 to git:20261015.7a9126a
30 added, 19 removed. Audit A to A.
---
name: writing
- description: Rewrite text that did not land, with clear context, plain language, and my writing preferences.
+ description: Rewrite slop, or a reply that did not land, into text a person would write.
argument-hint: "[text, file, or feedback; omit for the last agent response]"
disable-model-invocation: true
---
# Writing
- Rewrite the supplied text or named passage. With no target, rewrite the last substantive agent response. Treat feedback as direction for the rewrite; infer the target and audience from the conversation. Ask only when the target or intended meaning cannot be determined.
+ Rewrite the given text or passage as a person would write it. With no target, rewrite the last substantive agent response. Ask only when the target or intended meaning cannot be determined.
- ## Rebuild the explanation
+ **Slop** is text that reads as generated: padded, generic, inflated, shaped by habits no person would choose. Each habit is a **tell**. [`references/tells.md`](references/tells.md) catalogs tells for the reviewer. The writer works from the positive targets below, not the catalog.
- Work out what the reader needs to understand and where the original lost them. Supply the missing context before the conclusion that depends on it. For project explanations, use the domain terms in `CONTEXT.md`; if `CONTEXT-MAP.md` exists, follow it to the relevant context. Read only what the explanation needs.
+ ## 1. Find the reader
- For technical English, use the clarity principles of ASD-STE100: familiar words, stable terminology, explicit actors, and short sentences with one main idea. Preserve necessary technical detail and explain unfamiliar terms. Treat this as a readability guide, not a claim of formal standards compliance. Apply the same clarity in the conversation's language.
+ Name the reader, what they already know, and what they must do or decide after reading. Find where the original loses them: a buried point, missing context, an unexplained term, slop. For project text, use the domain terms in the repo glossary (`GLOSSARY.md`, or `CONTEXT.md` in older repos).
- Preserve facts, qualifications, links, identifiers, and the author's intended stance. Correct an error when the available evidence supports the correction. Keep uncertainty visible; never invent evidence, measurements, sources, or examples presented as facts to make a sentence more convincing.
+ Done when you can state the reader's need and the original's failure in one sentence each.
- ## Remove formulaic writing
+ ## 2. Study the pairs (Czech)
- Replace inflated claims, sales adjectives, vague authority, and decorative metaphors with specific facts or actions. Name the mechanism instead of describing a feeling. Cut clauses that merely announce significance and conclusions that add no information.
+ Read all of [`references/cs-pairs.md`](references/cs-pairs.md), since its moves transfer across media. Choose the pairs closest to your text's medium and register, and compare their sides on four axes: **order**, **verbs**, **density**, **register**.
- Use ordinary verbs and consistent names. Remove filler, stacked hedges, forced contrasts, artificial triplets, synonym rotation, and meaningless ranges. Prefer active voice when the actor matters. Split sentences that require rereading. Keep useful nuance and natural variation in sentence length.
+ Done when you can name, for each chosen pair, one move of the human side that your draft will copy.
- ## My preferences
+ ## 3. Rewrite
- Lead with the useful point. End when the content ends; skip closing summaries, offers to help further, praise, and claims about the quality of your answer. Prefer connected prose; use headings, bullets, and bold only when they help the reader navigate.
+ - Lead with what the reader needs. Put the context a conclusion depends on before the conclusion.
+ - Write with ASD-STE100 clarity in any language: one name per thing, an explicit actor, unfamiliar terms explained.
+ - Carry over the author's stance. Every fact, number, and example comes from the original or the conversation. Uncertainty stays visible.
+ - Keep strong original sentences. Length follows content: add the context the reader lacks, and stop when the content ends.
+ - Match the original's language, register, and medium. Judge naturalness phrase by phrase, and draft from how a native speaker would explain the situation.
+ - Prose by default. Headings, bullets, and bold only where the reader navigates.
- Tone: calm, direct, opinionated when a judgment is called for. Avoid ceremonial openings, forced enthusiasm, sales language, and formulaic contrasts. Explain what matters in concrete terms.
+ Done when every fact, qualification, link, and identifier from the original is in the draft, and the reader from step 1 could act on it.
- Typography: no em dashes, en dashes, or hyphens used as dashes; do not substitute parenthetical asides. Colons only before lists or examples. Avoid semicolon chains. Use straight quotes and sentence case headings. No emoji or bolded proper nouns.
+ ## 4. Review
- When drafting in my voice, infer it from my own wording and representative samples, not pasted or generated material. Preserve my stance and relationship to the reader. Do not manufacture anecdotes, emotions, slang, commitments, or mistakes to sound human.
+ The writer cannot see its own tells. Spawn a **reviewer** subagent, withhold the conversation, and paste into its prompt:
- Use the language of the conversation and a register that fits the audience and medium. In Czech, I prefer natural professional speech to official or corporate phrasing. Keep established English terms when they are clearer for the reader.
+ - the original and the draft
+ - the reader from step 1
+ - the full text of `tells.md`, plus the pairs chosen in step 2 for Czech
- ## Finish
+ Brief the reviewer:
- Read the revision as the intended reader. Check that the point is understandable without reconstructing omitted context, the meaning is intact, and each sentence earns its place. Fix remaining generic or mechanical phrasing without adding personality the author did not supply.
+ > Read the draft cold, as this reader. Flag every passage that carries a tell from the catalog or leaves the reader unable to act. For each, quote it, name the tell, and give a one-line reason. Reply "clean" when nothing is left.
- For a requested rewrite or drafted message, return the text alone unless I ask for commentary or a material uncertainty prevents completion. If explicitly asked to edit a file, apply the rewrite there and briefly report the change. A rewrite request does not authorize sending or publishing the text.
+ Fix each flagged passage, or keep it and record why. Send the revision to a fresh reviewer. Without subagents, check the draft against each `tells.md` entry in turn.
- Adapted from [unslop](https://github.com/backnotprop/pstack/blob/main/skills/unslop/SKILL.md), [wait-what](https://github.com/mattpocock/skills/blob/main/skills/productivity/wait-what/SKILL.md), and the former local writing preferences document.
+ Done when a reviewer replies "clean", or two rounds have run.
+
+ ## 5. Return
+
+ Return the rewrite alone. Add a note only for flags left after two rounds or a material uncertainty. When asked to edit a file, apply the rewrite there and report the change in one sentence.