pipeline
Classical end-to-end empirical analysis workflow in the traditional Python econometric stack — pandas + numpy + scipy +…
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
Claude Code
$ npx -y skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill write-well --agent claude-code
Codex
$ npx skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill write-well -a codex -y
Cursor
$ npx skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill write-well -a cursor -y
Gemini CLI
$ npx skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill write-well -a gemini-cli -y
GitHub Copilot
$ npx skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill write-well -a github-copilot -y
OpenCode
$ npx skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill write-well -a opencode -y
Windsurf
$ npx skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill write-well -a windsurf -y
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
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.
| 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
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.
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.
---
Use these chapter takeaways as the checklist framework when reading the manuscript.
**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).
---
**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.
---
**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
## 🔥 力荐 · 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
Classical end-to-end empirical analysis workflow in the traditional Python econometric stack — pandas + numpy + scipy +…
Use when the user asks to run a full empirical / causal analysis in Python — by default in the style of an applied economics…
Classical end-to-end empirical analysis workflow in the traditional Python econometric stack — pandas + numpy + scipy +…
Classical end-to-end empirical analysis workflow in the traditional Stata ecosystem — native Stata + reghdfe + ivreg2 + csdid +…
Classical end-to-end empirical analysis workflow in the modern tidyverse + econometrics R ecosystem — dplyr + tidyr + haven +…
Systematic writing framework for philosophy and interdisciplinary academic papers from optimized outline to submission-ready…
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…