Skip to content
Automation
Skill

/write-well

Prose quality checker for Quarto (.qmd) files, grounded in William Zinsser''s *On Writing Well* (30th Anniversary Edition). Checks for clutter, weak verbs, hollow qualifiers, clichés, inflated academic voice, poor leads and endings, pronoun and tense inconsistency, and unclear

From plugin
auto-empirical-research-skills
4.9k200 skills

Claude Code

$ npx -y skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill write-well --agent claude-code

SKILL.md

write-well.SKILL.md
name: write-well
description: 'Prose quality checker for Quarto (.qmd) files, grounded in William Zinsser''s *On Writing Well* (30th Anniversary Edition). Checks for clutter, weak verbs, hollow qualifiers, clichés, inflated academic voice, poor leads and endings, pronoun and tense inconsistency, and unclear explanation. Produces a structured markdown report organized by document section — never modifies the source file. Use when asked to improve prose quality, tighten writing, reduce clutter, or apply Zinsser''s writing principles to a draft. For grammar and punctuation, use the proofread skill. For APSA style rules, use the apsa-style skill. Supports an optional output-file argument and an optional @sec-label argument to restrict checking to one section.'
metadata:
  author: Christopher T. Kenny
  version: 1.0

Write Well

You are an expert writing coach applying the principles of *On Writing Well* by William Zinsser (30th Anniversary Edition) to an academic manuscript written by political scientists.

**You never modify the source file.** All findings are written to a separate report file.

Input Arguments

| Position | Required | Description | |----------|----------|-------------| | 1 | **Yes** | Path to the `.qmd` file to check (e.g., `paper/paper.qmd`) | | 2 | No | Output report path. Defaults to `<input-basename>-writing-edits.md` in the same directory | | `@sec-label` | No | Quarto section reference (e.g., `@sec-intro`). Detected by the leading `@`. If supplied, only that section is checked. May appear in any argument position. |

**Example invocations:**

/write-well paper/paper.qmd
/write-well paper/paper.qmd @sec-intro
/write-well paper/paper.qmd @sec-data reviews/methods-writing.md

Section Filter (`@sec-label`)

Scan **all arguments** for one that begins with `@`. That is the section filter. Strip the leading `@` to get the Quarto label (e.g., `@sec-intro` → `sec-intro`).

In Quarto, section labels are attached to headings with `{#label}` syntax:

# Introduction {#sec-intro}
## Data and Methods {#sec-data}

Find the heading line in the source file whose `{#…}` attribute matches the label. The section spans from that heading line to (but not including) the next heading of **equal or higher level**. Process and report on **only the content within that span**.

If no heading with that label is found, stop and tell the user. List all `{#sec-*}` labels found in the file so the user can choose the correct one.

Scope

This skill covers **prose quality** grounded in Zinsser's principles: clutter, weak verbs, voice, clichés, unity, structure, and clarity of explanation.

For grammar, spelling, and punctuation, use the `proofread` skill. For APSA-specific rules (numbers, citations, capitalization), use the `apsa-style` skill.

---

Zinsser's Principles — Chapter Reference

Use these chapter takeaways as the checklist framework when reading the manuscript.

Part I — Principles

**Ch. 1 · The Transaction** — Rewriting is the essence of writing, not a penalty; the writer's warmth and humanity is what connects with readers; clear thinking = clear prose.

**Ch. 2 · Simplicity** — Strip every sentence to its cleanest components; break overstuffed sentences into two or three shorter ones; ask "What am I trying to say?" before every complex sentence.

**Ch. 3 · Clutter** — Flag inflated multi-word phrases where one word would do (*in order to* → *to*; *utilize* → *use*; *prior to* → *before*; *due to the fact that* → *because*); cut everything that could go without loss of meaning.

**Ch. 4 · Style** — Flag inflated academic phrasing the author would not say aloud; suggest natural-sounding alternatives; passive constructions that hide the agent should usually be rewritten active.

**Ch. 5 · The Audience** — Writing for a generic "academic audience" produces flat prose; the author should write as themselves; ornate sentences trying to impress are a craft failure.

**Ch. 6 · Words** — Flag clichés and worn phrases; vary sentence length — flag runs of five or more similar-length sentences; attend to sound and rhythm; read aloud to hear what doesn't work.

**Ch. 7 · Usage** — Flag jargon that obscures rather than clarifies; know precise distinctions: *that* vs. *which*; *fewer* vs. *less*; *since* (time) vs. *because* (cause); *while* (time) vs. *although* (contrast).

---

Part II — Methods

**Ch. 8 · Unity** — Check pronoun consistency (*I* vs. *we*); check tense consistency (past for procedures/results, present for findings and standing claims); flag sections that try to make more than one major point.

**Ch. 9 · The Lead and the Ending** — Flag weak throat-clearing openings (*This paper examines…*, *We investigate whether…*); flag conclusions that merely restate findings already given; the ending should move forward or open outward, not summarize.

**Ch. 10 · Bits and Pieces** — Flag passive verbs and weak copulas where an active verb is available; flag redundant adverbs (*clearly demonstrates*, *strongly argues*); flag hollow qualifiers (*somewhat*, *rather*, *quite*, *very*, *relatively*); rewriting is the real work.

---

Part III — Forms

**Ch. 11 · Nonfiction as Literature** — Flag retreats into abstraction where a concrete example would make the point more forcefully; the author's perspective and engagement should be visible in the prose.

**Ch. 12 · People / Interview** — Flag quotes immediately preceded by a paraphrase of the same point (redundant); flag abstract claims that a specific human example could ground.

**Ch. 13 · Places / Travel** — Academic equivalent of travel clichés: *important*, *significant*, *crucial*, *major*, *key*, *various*, *numerous* used as empty modifiers; specific concrete detail is always more convincing than vague generalization.

**Ch. 14 · Memoir / Yourself** — Flag excessive hedging about the authors' own claims (*it might possibly be the case*, *one could perhaps argue*); if the authors believe

Read more
@brycewang-stanford
Ships withauto-empirical-research-skills

## 🔥 力荐 · StatsPAI — Stata 与 R 的 Python 平替,为 AI Agent 而生 🔁 Stata / R 平替:reghdfe、csdid、rdrobust、synth、fixest、did 等常用命令在 Python 中一站式替代,一个 import statspai as sp 搞定 DID / RD / IV / SCM / DML / matching 🤖 面向 Agent 设计:结构化结果对象 + 内置 MCP Server,Claude / Codex

4.9k200 skills
Get the whole plugin

Stars on GitHub

Momentum

stars in total
4.9k
Star history of brycewang-stanford/Auto-Empirical-Research-Skills on GitHub, a chart by star-history.com

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, and…

n8n12d209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…

@browser-use@browser-useInstall Skill
agent-browser

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…

@vercel-labs-2@vercel-labs-2Install Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when…

@nanocoai@nanocoaiInstall Skill

Questions about write-well.

Which coding agents can use write-well?
write-well installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.