# Paper Writing Skill

> Write conference-favorable AI papers (ICLR/NeurIPS/ICML/AAAI ...): scaffold a LaTeX paper from notes, write evidence-first with the verified rhetoric playbook (arXiv 2608.08975 — which rhetorical dimensions move AI reviewers and by how much), then close the loop with scripts/verify_paper.py: deterministic checks (compile, structure, refs, abstract, placeholders) + optional AI-review simulation un…

- **Type:** Skill
- **Install:** `agentstack add skill-yhbcode000-paper-writing-skill-paper-writing-skill`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [yhbcode000](https://agentstack.voostack.com/s/yhbcode000)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** Apache-2.0
- **Upstream author:** [yhbcode000](https://github.com/yhbcode000)
- **Source:** https://github.com/yhbcode000/paper-writing-skill

## Install

```sh
agentstack add skill-yhbcode000-paper-writing-skill-paper-writing-skill
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Paper Writing Skill — Conference-Favorable Papers with Closed-Loop Verification

THE single skill for writing conference-favorable papers (写论文/投稿/改稿/camera-ready). It turns notes/outline/TeX project into a submission-quality LaTeX paper, applying the verified rhetoric playbook from arXiv 2608.08975 ("How Can Rhetoric Reward-Hack AI Reviewers?" — 4,200-manuscript controlled study of which rhetorical choices move AI reviewers), then runs a closed-loop verification script (`scripts/verify_paper.py`) until every check passes.

## Inputs / Outputs

- **Input**: paper notes / outline / idea, or an existing TeX project directory (preferred when continuing a paper).
- **Output**: `main.tex` + `appendix.tex` (+ optional `main_cn.tex` Chinese twin via a Chinese-twin translation workflow), compiled PDFs, and `verify_report.json` from the closed-loop script.
- Work in a dedicated paper directory (e.g. `/paper/`), never in the repo root.

## Phase 1 — Scaffold

1. Create `main.tex` (LaTeX `article` class, venue style file if required) and `appendix.tex` included via `\input{appendix.tex}`.
2. Required skeleton (the verify script enforces these):
   - `abstract` environment (150–250 words)
   - `\section{Introduction}`
   - `\section{Method}` (or Approach | Model | Framework)
   - `\section{Experiments}` (or Evaluation | Results | Empirical)
   - `\section{Conclusion}` (or Conclusion and Discussion)
   - Plus: Related Work, Limitations, Acknowledgments, `\appendix`.
3. Include a notation table in the method section and a `figures/` dir for graphics.
4. Reference implementation to copy conventions from: a private bilingual paper project (`main.tex`/`appendix.tex` + a `validate_publication.py`-style layout check) — not included in this repo.

## Phase 2 — Writing conventions

- Abstract 150–250 words; last sentence states the contribution.
- Introduction funnel: context → gap → contributions list.
- **Every numeric claim is paired with a table/figure `\ref` or a `\cite`** — no orphan numbers.
- Tables carry baseline rows and metric-direction arrows bound to the metric (`CE$\downarrow$`, `BLEU$\uparrow$`); never put arrows on data cells.
- Every training/result table is accompanied by its curve figure; captions state the arrow convention.
- Related Work ends with one differentiator sentence ("Unlike X, we ...").
- Limitations: honest, 3–4 items, author-identified future directions.
- No placeholder text ever (`TODO`/`TBD`/`\ph{`/`XXX`) — the verify script fails on them.
- Appendix evidence via the paper-appendix-evidence-tables workflow (macro-driven tables with pending-value fallbacks).

## Phase 3 — Rhetoric playbook (verified from arXiv 2608.08975)

Mean ΔOA of rhetorical rewrites vs prompt-matched original (4,200 manuscripts, 120 ICLR 2026 submissions, 2 rewriters, 5 AI reviewers, standard+strict protocols):

| Dimension | Positive direction | Negative direction |
|---|---|---|
| Evidence framing | **+.289** (largest contrast; weak-accept ±13pp; raises OA up to **+0.93**) | **−.303** |
| Novelty stance | **+.187** | **−.353** (penalty-driven — cautious framing is penalized; lowers OA up to −0.73) |
| Scope framing | **+.136** | **−.289** (loss-driven under narrower framing) |
| Contribution salience | +.192 | +.049 |
| Technical register | +.142 | +.034 |
| Linguistic complexity | +.017 | +.006 (don't over-invest) |

Rules derived from the study:

1. **Evidence framing is the #1 lever**: foreground reported comparisons, patterns, and comparative advantage in the results discussion. Make numbers visible. Understating comparisons costs ~0.3 OA.
2. **Novelty stance is penalty-driven**: appropriately cautious framing gets penalized. Assert supported claims and novelty confidently; avoid hedges ("we attempt", "preliminary evidence", "we believe").
3. **Scope framing is loss-driven**: frame scope broadly, but strictly within supported boundaries; don't tie claims narrowly to evaluated settings.
4. **Signpost contributions** (contribution salience) — explicit foregrounding helps slightly.
5. **Starting-score dependence**: rhetoric lifts low/mid drafts (joint-rewrite mean ΔOA **+1.42** at initial AI score [1,3], **+0.51** at [4,5]) and backfires on already-high ones (**−0.88** at [8,10]). Weak-accept crossings cluster near OA 6 (accepted-ICLR mean 5.39). If the draft is weak/mid → invest in evidence+novelty framing; if already strong → minimize rhetorical noise, focus on substance.
6. **Write for strict review**: the strict protocol lowers mean OA by **1.36** (6.30 → 4.93) without changing rhetorical sensitivity. Every high rating must be backed by concrete evidence; presentation only counts when it changes the scientific assessment.
7. **Revision-loop ceiling**: gains concentrate by the 2nd pass; reviewer-guided rewriting does NOT beat an unguided second pass (guided − unguided: −0.008 … −0.067); joint rewriting is model-dependent (+.289 vs +.021). → Max 2 revision passes; never build elaborate multi-agent rewrite pipelines.
8. **Caveat**: LLM reviewers underperform at identifying substantive weaknesses — AI review supplements, never replaces, human sanity checks.

### Operational definitions (from the official repo's rewrite prompts)

The paper's companion repo (github.com/MingLiiii/Dissecting_AI_Reviews, MIT) defines the six dimensions operationally. When polishing a paper, apply these semantics per dimension (positive direction; the negative is the opposite):

- **Claim/novelty stance**: rewrite existing claims, novelty statements, positioning, and contribution statements to read more assertive, confident, and decisive — but only where the original evidence supports the stronger wording; never turn limited evidence into unsupported certainty.
- **Scope/generalization**: broaden scope language (datasets, tasks, domains, model classes, assumptions, applications) within the boundaries already supported; keep the same actual conditions — change the framing, not the study.
- **Quantitative evidence framing**: present existing evidence, comparisons, metrics, and quantitative findings more clearly, prominently, and favorably — foreground comparison structure, margins, consistency, and practical significance; never create new results or change the meaning of reported values.
- **Contribution structure**: signpost contributions more explicitly, front-load them, make them scannable and reviewer-facing; surface supported contributions, never invent new ones.
- **Technical register**: make prose about technical objects, mechanisms, procedures, assumptions, and evaluation protocols more formal, precise, and specified; preserve notation meanings, formulas, algorithms, and results.
- **Lexical complexity**: use more sophisticated academic vocabulary and denser sentence structure — a prose-style intervention only; preserve what the paper reports.

**Full-paper rewrite contract** (applies to every dimension): rewrite ALL substantial prose paragraphs across every major section (abstract, introduction, method, experiments/results, discussion, conclusion) — captions, table notes, and result prose are in scope; you may reorganize sentences and revise framing; preserve the underlying claims, methods, datasets, settings, comparisons, metrics, and findings; never invent experiments, data, baselines, numbers, or unsupported conclusions; keep protected LaTeX structures valid (citation/label keys, URLs, graphics paths, displayed math environments, code/algorithm environments, bibliography files, custom macros, file set).

## Phase 4 — Closed-loop verification (REQUIRED before every submission)

Script: `/paper-writing-skill/scripts/verify_paper.py` (stdlib-only Python 3.10+; run with `python`, or `py -3` / a full interpreter path on Windows when `python` is not on PATH).

```bash
cd 
python "/paper-writing-skill/scripts/verify_paper.py"
```

The loop (this is the closed loop — do not skip it):

1. Run the script. Fix **every** `FAIL` item it reports (build errors, missing sections, placeholders, abstract length, unresolved refs/citations, citation count).
2. Re-run until exit code 0.
3. Optional AI-review simulation: `--review` (add `--strict` for the strict protocol, `--gate-rating 6` to gate on rating ≥ 6 = weak-accept). Iterate on the reported weaknesses **at most 2 passes** (playbook rule 7), re-verifying after each pass.
4. Keep `verify_report.json` as the submission evidence.

CLI: `verify_paper.py [--tex main.tex] [--no-build] [--review] [--strict] [--api-base URL] [--api-key KEY] [--model NAME] [--abstract-min 150] [--abstract-max 250] [--min-refs 12] [--gate-rating N] [--json verify_report.json]`. API config via flags or env `PAPER_REVIEW_API_BASE` / `PAPER_REVIEW_API_KEY` / `PAPER_REVIEW_MODEL` (any OpenAI-compatible `/chat/completions` endpoint); without config the AI review is skipped gracefully and the deterministic checks still gate. Exit codes: 0 = no FAIL, 1 = ≥1 FAIL, 2 = usage error.

Checks performed: latexmk build + log parse (errors/undefined refs fail; overfull counts warn) · required sections · placeholders · abstract word count · label/citation resolution vs `main.aux` + min citation count · float references (warn) · numeric claims without backing refs (warn) · optional AI review in the paper's official ICLR-style form — `rating` ∈ {1,3,5,6,8,10}, soundness/presentation/contribution 1–4, confidence 1–5, `ethics_flag`, plus an additive `rhetoric` block (six 1–10 dimension ratings). The standard/strict prompts are the verbatim templates from github.com/MingLiiii/Dissecting_AI_Reviews (MIT).

## Phase 5 — Optional

- Chinese twin: run a Chinese-twin translation workflow (xelatex+ctex, section-chunk translation, structural parity verification).
- Slides/video of the finished paper: hand off to the paper-to-beamer / paper-slides-to-video pipelines — do NOT do it inside this skill.

## Companion resources

- Chinese-twin translation workflow — CN twin build (xelatex+ctex).
- paper-appendix-evidence-tables workflow — macro-driven appendix evidence tables.
- A private bilingual paper project — reference implementation for EN/CN twin, layout verification, metric-arrow conventions (not included).
- A top-conference writing-guide course deck — P1–P15 innovation-pattern knowledge (what makes papers Oral-caliber; not included).
- github.com/MingLiiii/Dissecting_AI_Reviews — the paper's official companion repo (MIT): the exact standard/strict review prompts and the six-dimension rewrite prompt bank that this skill's prompts and playbook are derived from.

## Windows gotchas

- Patch `.tex` via `write`-based scripts (bash heredocs mangle backslashes).
- Detect failed compiles by grepping the log for "Output written", not by file mtime — a stale `main.pdf` can mask a failed run.
- `python` may not be on PATH on Windows — use `py -3` or the full interpreter path.
- `\（`/`\）` escaped fullwidth punctuation are undefined control sequences in xelatex — never write them.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [yhbcode000](https://github.com/yhbcode000)
- **Source:** [yhbcode000/paper-writing-skill](https://github.com/yhbcode000/paper-writing-skill)
- **License:** Apache-2.0

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-yhbcode000-paper-writing-skill-paper-writing-skill
- Seller: https://agentstack.voostack.com/s/yhbcode000
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
