# Writing Quality

> Runs automatically on any prose this repo produces that a human outside the team will read. Also use when the user says "does this sound like AI", "de-slop this", "clean up this copy", "check the writing", "make this sound human". Strips the machine tells, enforces the banned list, and returns the text with a receipt. Never skipped on external-facing prose.

- Skill: `guerrilla2799/writing-quality` (Agent Skill)
- Install (CLI): `npx skillmds@latest add guerrilla2799/writing-quality`
- Raw SKILL.md: https://api.skillmd.com/api/skills/guerrilla2799/writing-quality/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: guerrilla2799 (https://skillmd.com/u/guerrilla2799)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/guerrilla2799/writing-quality

---


# Writing Quality

A gate, not a suggestion. Any prose leaving the building passes through here first.

## When to use
- Automatically, on every piece of prose headed to an external reader
- Any copy inside a deliverable, including copy presented as an option or a proposal
- When somebody asks whether something reads as machine-written

**Framing does not exempt text.** Copy labeled "suggested", "draft", or "just an option" is still copy somebody will paste into an external surface, and it gets the same pass.

## Inputs
- Reads: `workspace/agents/context/voice.md` if it exists, otherwise the defaults below
- Needs from user: nothing

## Workflow

### 1. Strip the structural tells

These patterns are the clearest machine signatures in business prose, and they survive most editing passes because they read as confident.

| Pattern | Why it fails |
|---|---|
| "It's not X, it's Y" | A rhetorical reveal that usually replaces an argument |
| "X didn't do Y, it revealed Z" | The same move wearing a different coat |
| "The real X is..." | Announces insight rather than delivering it |
| Rule-of-three lists everywhere | Real thinking is rarely three parallel items |
| "In today's fast-paced world" | Says nothing. Delete the sentence, never replace it |
| A closing paragraph restating the opening | Padding. Stop at the last real point |
| Symmetrical two-part sentences on repeat | Rhythm that reads as generated after three of them |

### 2. Strip the vocabulary

Delete or replace: unlock, leverage as a verb, supercharge, seamless, robust, holistic, synergy, game-changing, cutting-edge, best-in-class, elevate, empower, harness, navigate the landscape, at the end of the day, dive deep, double click, and any sentence containing "in an era of".

"Leverage" as a noun meaning negotiating power is fine. The verb is not.

### 3. Fix the punctuation habits

- **No em dashes.** A period, a comma, or a rewrite. This is a hard rule
- **No semicolons in prose.** Two sentences
- **Sparse parentheses.** More than one aside per paragraph means the sentence structure is wrong
- **No exclamation marks** in business prose

### 4. Cut the hedging

Delete: "it's worth noting that", "it's important to remember", "arguably", "in many ways", "to some extent", and stacked qualifiers. One qualifier is precision. Three is a lack of a position.

### 5. Cut the summary of what was just said

If a paragraph restates the previous paragraph in different words, delete it. Machine prose summarizes compulsively, and the summary is always the weaker version.

### 6. Read the first line honestly

If the opening sentence could introduce any document on this topic, it is not an opening. Start at the specific claim.

### 7. Strip invisible characters

Zero-width characters, bidirectional marks, tag characters, and exotic spaces travel invisibly through copy-paste and show up in other people's tooling. Scan and strip them as the last step, after wording is final.

Report the count.

## Output
- Returns the cleaned prose
- Prints the receipt:

```
writing-quality: <n> structural tells, <n> vocabulary, <n> punctuation fixed
invisible-characters: <n> stripped | none
```

## Rules & quality bar
- **This gate never gets skipped on external-facing prose,** whatever the framing
- **No em dashes, no semicolons in prose.** Hard rules
- **The receipt is mandatory.** A missing receipt means the gate did not run, never that it passed silently
- **Wording is final before the invisible-character strip,** so the strip changes nothing visible
- **Do not soften a claim while cleaning it.** Cleaning is not hedging
- **Delete rather than replace filler.** A cut sentence is better than a rewritten empty one

## Related skills
- Runs inside: `artifact-eval` as its first gate
- Reads: the voice module from `context-portfolio`

