Install
openclaw skills install compound-eng-writingProse editing, rewriting, and humanizing text for natural tone. Use when asked to write, rewrite, edit, humanize, proofread, fix tone, or remove AI language. For copy, docs, blog posts, emails, or PRs.
openclaw skills install compound-eng-writingVocabulary: delve, crucial, pivotal, foster, leverage, tapestry, testament, underscore, vibrant, landscape (abstract), shape (abstract, as in "previous shape" / "the shape of the problem"), interplay, multifaceted, enhance, enduring, garner, showcase, Additionally, seamless, robust, cutting-edge, groundbreaking, nestled, renowned
Structural tells:
Formatting tells:
Banned phrases -- delete and rewrite on sight. See references/phrases.md for the full list.
Core offenders:
Communication artifacts (remove entirely):
AI avoids naming actors by giving inanimate things human verbs. Find the person; put them at the front of the sentence.
| AI slop | Fix |
|---|---|
| "the complaint becomes a fix" | Someone fixed it |
| "the data tells us" | Name who read it and what they concluded |
| "the decision emerges" | Someone decided |
| "the culture shifts" | People changed their behavior |
| "the market rewards" | Buyers paid for it |
| "the conversation moves toward" | Someone steered it |
| "a bet lives or dies" | Someone kills or ships it |
If no specific person fits, use "you" to put the reader in the seat. Person rules: use "you" when addressing the reader directly, "we" for organizational actions, "I" for personal voice. Avoid third-person passive ("it was decided") -- name the actor.
Before delivering prose, run two checks:
Quick audit (binary, kill anything that triggers):
Five-dimension scoring (rate 1-10 each):
| Dimension | Question |
|---|---|
| Directness | Statements or announcements? |
| Rhythm | Varied or metronomic? |
| Trust | Respects reader intelligence? |
| Authenticity | Sounds human? |
| Density | Anything cuttable? |
Below 35/50: revise before delivering.
Long-form audit workflow -- for documents, essays, and research content, run a two-phase pass to avoid fix-as-you-go bias (fixing one tell while missing three others). This section reuses the vocabulary and structural tells from "AI Patterns -- Kill on Sight" above but adds named tags for tracking and a structured fix table. Short-form edits can use the Kill-on-Sight list directly; long-form audits should use the tag-based workflow below.
Phase 1 -- Audit: Read the full text without changing anything. Quote the shortest offending snippet (≤12 words) and append every applicable tag. Stack tags if multiple tells land in one sentence. One numbered line per offense. End with — END AUDIT: [n] issues found —. If zero, write — AUDIT COMPLETE: 0 issues — and skip Phase 2.
Tag vocabulary (extend the earlier prose rules with these named IDs):
| Tag | What it catches |
|---|---|
[FALSE-AGENCY] | Inanimate subject with a human verb ("the data tells us") |
[BINARY-CONTRAST] | "Not X, it's Y" / "It's not about X. It's about Y." constructions |
[STACCATO] | Punchy fragment sequences simulating manufactured rhythm ("This matters. A lot. Here's why.") |
[ELEGANT-VAR] | Synonym cycling: four names for the same entity across four sentences |
[NOT-ONLY-BUT] | False-pivot contrasts: "Not only X, but also Y" and variants |
[RULE-OF-3] | Forced triads ("streamline, optimize, and enhance") |
[INFLATED] / [PROMO] | Puffery and promotional gloss without a verifiable claim |
[SUPERFICIAL-ING] | Trailing -ing phrases that add no information ("ensuring reliability") |
[AI-LEX] | Vocabulary tells (delve, crucial, pivotal, leverage, tapestry, robust...) |
[VAGUE-ATTR] / [WEASEL] | "Experts argue", "studies show" without specific source |
[META-COMMENTARY] | Structural self-reference ("In this section, we'll...", "Let me walk you through...") |
[EM-DASH] | Any em or en dash -- restructure, don't preserve |
[INLINE-BOLD] / [INLINE-LIST] / [TITLE-CASE] | Mechanical formatting tells |
[VAGUE-DECLARATIVE] | "The implications are significant" without naming the implication |
[PASSIVE] / [ADVERB] / [BANNED-PHRASE] | Standard corrections |
[CURLY-QUOTES] | Curly single or double quotes (’ ‘ “ ”) in running prose. AI autocorrect artifact — replace with straight ASCII quotes. |
[EMOJI] | Emoji in running text or headings. Functional UI emoji in product copy is fine; editorial/promotional emoji is an AI tell. |
[FALSE-RANGE] | "From X to Y" where X and Y aren't on a coherent scale ("from code review to cultural shift"). Restructure to state both items without implying a continuum. |
Severity suffixes when tagging: +H for high severity (strong tell or compound patterns), +S for structural (affects document structure, not just wording).
Phase 2 -- Rewrite: Correct tagged items in a single pass using the fix table below. Preserve everything not flagged; no scope creep. Verify no new tells were introduced during rewriting.
| Tags | Fix action |
|---|---|
[INFLATED] [PROMO] [VAGUE-DECLARATIVE] | Delete puffery or replace with a specific factual claim. If no fact exists, cut entirely. |
[SUPERFICIAL-ING] | Remove the -ing phrase or convert to a separate sentence with substance. |
[AI-LEX] | Replace with a plainer synonym or restructure to eliminate the word. |
[NOT-ONLY-BUT] [RULE-OF-3] [BINARY-CONTRAST] | Break the pattern. State Y directly. |
[STACCATO] | Reconstruct into a single flowing sentence that matches the source material's natural rhythm. |
[ELEGANT-VAR] | Pick one term and use it consistently (or use pronouns). |
[VAGUE-ATTR] [WEASEL] | Name the source, add a quantifier, or delete the claim. |
[EM-DASH] | Remove entirely. Restructure the sentence: split, comma, colon, or rewrite. Never preserve the dash. |
[FALSE-AGENCY] | Name the human actor; put them at the front of the sentence. |
[META-COMMENTARY] | Delete. Let the text move without announcing itself. |
[INLINE-BOLD] [INLINE-LIST] [TITLE-CASE] | Strip excess formatting; sentence case for headings. |
For documents with references or citations, also tag: [OAICITE] (malformed AI citation artifacts), [LINK-ROT] (dead or placeholder URLs), [ISBN-DOI-FAIL] (invalid identifiers), [REF-BUG] (misformatted references, wrong numbering, dangling footnotes). See references/audit-workflow.md for the full procedure.
Output format:
## AUDIT
1. "quoted snippet" [TAG] [TAG +H]
2. "quoted snippet" [TAG]
...
— END AUDIT: [n] issues found —
## CORRECTED TEXT
[full corrected text]
## CHANGELOG
- Line/section: brief description of change
- Line/section: brief description of change
Short-form (commits, PR descriptions, comments): checks 1-4 only. Long-form (blog posts, docs, essays): run the full Quality Gate above, then checks 1-5.
For pull-request and merge-request descriptions, match length to change complexity (1 sentence for trivial, full narrative for architecturally significant). Lead with Before / After / Scope rationale; describe net end state, not iteration journey; pick Mermaid for topology, tables for grids. See references/pr-descriptions.md for the sizing matrix, narrative frame, GitHub-specific hazards (#NN auto-link trap), and the self-check list.
READMEs are a different surface than blog posts, social posts, or PR descriptions. The general anti-AI-tells rules apply, with these carve-outs:
grep -c "—" README.md before commit; result must be 0. Em dashes are the highest-signal AI tell in technical marketing prose. Replace per role:
Term — explanation → **Term**: explanationname — qualifier → name (qualifier)clause — clause → split into two sentences or use ;- foo — bar → - **foo**: barSection — note → Section: note## 🚀 Features, ## ⚡ Performance, ## 📦 Installation, ## 🛠️ Usage read as standard open-source convention, not as AI styling. The humanizer ban on emoji in social posts does NOT apply to README section headers. Use at most one per header, never inline in prose.If this saves you a debugging cycle, ⭐ star it! reads as a human ask. [⭐ Star on GitHub](https://...) reads as marketing chrome.See references/examples.md for before/after transformations.