Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Rewrites and polishes prose in Chinese or English, removes AI-like wording, and reviews product localization copy while preserving intent for drafts, docs, release notes, launch copy, and social posts. Use when users ask in any language to draft, rewrite, proofread, localize, polish release notes, remove AI-like wording, or prepare launch and social copy. Not for code comments, commit messages, or inline docs.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 81% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 936% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 971% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 243% | 0% |
| case-18 | ✗→✓ | ▲ Improved | 79% | 0% |
Prefix your first line with 🥷 inline, not as its own paragraph.
Strip AI patterns from prose and rewrite it to sound human. Do not improve vocabulary; remove the performance of improvement.
This skill is a catalog of smells, not a checklist to run top to bottom. Use it to recognize AI taste, then make judgment calls. The reference files (especially write-zh.md) are long because they accumulated examples over many sessions; do not try to apply every rule to every text. Applying more rules is not doing a better job.
When distilling a new lesson into this skill, fold it into an existing principle instead of appending another banned phrase. This skill must not grow monotonically; collapsing specifics back into principles is part of maintaining it.
references/write-zh-release-notes.mdreferences/write-zh-bilingual.mdreferences/write-product-localization.md; also load references/write-zh-bilingual.md when Chinese copy is presentreferences/write-zh-prose.md (quick rules); load references/write-zh.md for the full AI-taste pattern catalogreferences/write-en.mdNo summary, no commentary, no explanation of changes unless explicitly asked.
Default is a line-level rewrite of the supplied text. Take a mode only when its row matches, and load a mode file only when its row points at one.
| Ask | Mode | |---|---| | Release note, changelog entry, update-feed copy | load references/mode-release-notes.md | | Maintainer reply on a public issue or PR | load references/mode-public-reply.md | | Long draft (roughly 10k characters or more) needing structural work | load references/mode-long-form.md | | EN/CN pair to check for drift | Bilingual Review | | Product, site, or app copy across locales | Product Localization Review | | Document, PDF, or white paper to review | Document Review | | Paragraphs that read disconnected | Paragraph Coherence | | Tweet, thread, or launch post | Tweet / Social Post |
See references/durable-context.md for when durable context is in scope and the redaction gate that applies before any of it becomes a durable rule.
For /write: the supplied text and current release state override memory. Durable preferences can set brevity, tone, and social-post shape; they do not override the hard rule to edit in place, keep meaning intact, and avoid change lists unless the user explicitly asks.
references/mode-long-form.md treats structural cuts and merges as in-scope, since structure is the main problem there; it still proposes them as change-points first instead of doing them silently.)-) inside compound words is allowed; replace it with a space or a period when possible. When editing a draft that contains em-dashes, replace every one before returning the text.references/mode-long-form.md returns change-points for review instead of a rewritten blob.)Before returning any produced text (a rewrite, or generated release / reply / social copy), resolve the checker across install layouts and run it:
bashGATE="" for candidate in \ "<skill-base-dir>/scripts/check-punctuation.sh" \ "<skill-base-dir>/skills/write/scripts/check-punctuation.sh"; do [ -f "$candidate" ] && GATE="$candidate" && break done [ -f "${GATE:-}" ] || { echo "punctuation gate not found under the installed skill base; reinstall Waza" >&2; exit 1; } bash "$GATE" --lang <zh|en|ja|auto> <file> # or pipe text via stdin
Replace <skill-base-dir> with the installed Write skill or Waza dispatcher directory. The first path covers direct/plugin installs; the second covers the inlined-root release ZIP.
It enforces character-level punctuation by locale (half/full-width marks, CJK/Latin spacing, em/en dashes) and skips code, inline code, URLs, and markdown link targets, so it never fires on code; the script header documents the exact rule set. Fix every finding while preserving meaning; --fix rewrites only the zero-ambiguity zh cases to stdout. --lang auto classifies the whole input by fixed priority: any kana routes to ja, else any CJK to zh, else any Hangul to ko (reserved, skipped), else en, so a mostly-Chinese text that merely quotes a Korean glyph still routes to zh; pass an explicit --lang for mixed-locale or predominantly-English text. The checker owns character-level punctuation only; quote direction and other judgment calls stay with you and the reference files.
Activate when: mixed Chinese/English, "Chinese copywriting", "bilingual consistency", "release notes"
Load references/write-zh-bilingual.md. Character-level spacing and punctuation belong to the Punctuation Gate script; this mode owns the judgment half: terminology consistency across all instances, unexplained English left untranslated in Chinese documents, and EN/CN pairs that drift in meaning (mark translation loss instead of silently rewriting one side).
Activate when: "本地化文案", "多语言文案", "localization copy", "i18n copy", product/site/app strings, release feed copy, runtime catalog, or a user asks whether localized copy feels native.
Load references/write-product-localization.md. If Chinese is one of the locales, also load references/write-zh-bilingual.md.
Default workflow:
Activate when: PDF, document, white paper, "review this document", "check this document", "审稿"
Review checklist:
write-zh.md or write-en.md rules.Lorem ipsum, TODO, [TBD]), broken image links.Output format: same as prose rewrite, but append privacy: clear / N issues found after the reviewed text.
Activate when: "连贯性", "段落连贯", "可读性", "coherence", "flow check", "段落顺不顺"
Do not rewrite. Instead, work through each paragraph in sequence:
Output: a numbered list of issues, each with the paragraph location and a one-line fix suggestion. Then ask if the user wants any applied.
Activate when: "推特", "twitter", "X推文", "tweet", "social post", "折叠长度", "长文推特", "发文"
Apply the five announcement rules for product-engineer projects when the project context or prior artifact shows this style:
Close casually with an invitation, not a CTA. End with one short sentence inviting readers to try, not "立即升级".
For other engineering projects or English posts, apply the same structure (community lead, highlights, UX framing, one stance, casual close) adapted to the project's voice.
| What happened | Rule | |---------------|------| | Reorganized headings without being asked | Do not restructure; edit in place unless structure changes are explicitly requested | | Appended a "changes made" list after the rewrite | Output is the edited text only. No changelog, no commentary. | | Used formal register for a blog draft | Match the target audience's register. Blog is conversational, not academic. | | Applied Chinese/English spacing rules to a pure-English text | Bilingual spacing rules (半角/全角) only apply when the text mixes Chinese and English | | Polished the user's voice into generic launch copy | Preserve the author's cadence and stance. Use real product artifacts to sharpen facts, not to replace the voice. | | Drafted release or social copy from memory or a handoff | Read the current release page, changelog, issue/PR, runnable artifact, product page, screenshot, or supplied source before making factual claims. | | Wrote launch copy in one pass without checking the live screenshots | Iterate: draft, compare against the real product screenshot or page, tighten wording to match what ships, repeat until copy and artifact agree | | Polished a review report until it sounded timeless | Keep snapshots labeled as snapshots, or distill them into stable rules. Do not make dated claims sound evergreen | | User flagged one word as "not my voice"; only that instance was fixed | A flagged word marks a smell class, not a typo. Sweep the whole text for the same class (same register, same template shape) before returning |
Return only the edited prose. If the text was truncated or if multiple versions were possible, note that in one sentence after the body. Otherwise, no wrapper, no preamble, no postscript.
Other measured skills in the registry, with their headline benchmark lift.