| name | papr-write |
| description | Implements text changes to a LaTeX paper, downloads real bibtex for new
citations, removes AI writing patterns via /humanizer, and compiles the PDF.
Use when the user says "apply changes", "fix the paper", "implement feedback",
or after a review panel produces an action list.
|
| argument-hint | [paper_dir] |
| allowed-tools | ["Read","Write","Edit","Grep","Glob","Bash","WebSearch","WebFetch","Agent"] |
Paper Writer + Humanizer + Compile
Three phases: A) edit text, B) humanize, C) compile PDF.
On invocation
- Read
papr-runs/latest-run/latest/ROUND_STATE.md for action list.
- Read
papr-runs/latest-run/latest/DISCUSSION_THREAD.md for context.
- Read the paper's .tex files that need editing.
Phase A: Write
Priority order (avoids line-number conflicts):
- Structural (section reordering, merging, splitting)
- Content (paragraph rewrites, additions, experiment results)
- Local (term definitions, citation fixes, sentence repairs)
- Style (em dashes, author names, caption length)
Rules
- No em dashes; use commas, semicolons, colons, or parentheses
- No rhetorical questions; state findings directly
- No "a reviewer might ask"; never
- Prefer
\cite{} over inline "Author et al." unless opening a related-work paragraph
- Define every new term at first use
- Captions shorter than referencing body paragraph
- Contributions: <=3 items, each verifiable
Rhetorical framing (writing is persuasion, not journalism)
Top-venue papers SELL their contribution. They do not pre-empt criticism by
sprinkling apologies through the method, results, or analysis sections.
"Honest" does NOT mean "self-flagellating." Apply these rules:
- Lead with what works. Every section opens with the strongest framing of
the contribution. Do not open a result with "while our method has notable
weaknesses..." -- open with what it achieves.
- No preemptive concessions. Do NOT add sentences like "we acknowledge
that...", "a limitation here is...", "our method may not generalize to..."
inside method/results/analysis. Reviewers will find weaknesses themselves;
handing them ammunition is a self-inflicted wound.
- Limitations live in ONE place. A single dedicated subsection (commonly
"Limitations and future work") at the end of the discussion. Never sprinkle
them. Frame them as scope/future work ("extending to setting X is an
exciting direction"), not as confessions ("our method fails at X").
- Cherry-pick representative qualitative examples. When showing qualitative
results (figures, sample outputs, case studies), pick examples that show
the method working AS INTENDED. This is standard practice at top venues, not
dishonesty -- it is choosing what represents the contribution.
- Show failure cases ONLY when they reveal mechanism. Failure-case
analysis is valuable when it explains WHY the method works on the success
cases (e.g., "the method fails on long-tail X because the inductive bias Y
is what makes it strong elsewhere"). Failure shown without that payoff is
just confession -- cut it.
- Reframe weaknesses as scope. "Our method does not work on small
datasets" -> "we focus on the large-data regime where Z matters most;
small-data extension is future work."
- Never write "we hope," "we attempted," "preliminary," "tentative."
These signal the authors don't believe their own paper.
If a reviewer (internal panel or external) raised a real weakness, the WRITE
response is: strengthen the evidence, sharpen the claim's scope, or run a new
experiment. NOT: add a paragraph admitting it in the paper.
References (CRITICAL)
WebSearch verification alone is not enough -- LLMs still hallucinate fields when
asked to "use the real bibtex." For every \cite{} you add or change:
- WebSearch the paper title + first author to find the canonical source
(arXiv abs page, ACL Anthology, OpenReview, IEEE/ACM DL, Semantic Scholar).
- Download the actual
.bib file. Examples:
- arXiv:
curl -sL "https://arxiv.org/bibtex/<id>" -o references/<key>.bib
- ACL Anthology: visit the paper page, click "BibTeX,"
curl the link.
- OpenReview: forum page has BibTeX export.
- Semantic Scholar API:
curl "https://api.semanticscholar.org/graph/v1/paper/<id>?fields=citationStyles" | jq -r .citationStyles.bibtex > references/<key>.bib
- Save one file per paper at
[paper_dir]/references/<citekey>.bib.
- Concatenate or
\input{} them into the project's main .bib, OR add
references/ to the \bibliography{} search path. Verify bibtex /
biber resolves every key with no warnings.
- Keep the downloaded
.bib files in the repo -- they are the audit trail
that the citation is real and unmodified.
If a paper cannot be located after a thorough search, REMOVE the \cite{}
rather than fabricating a bibtex entry. A missing citation is a fixable
weakness; a hallucinated one is a desk-reject signal.
No hallucinated references. No "I'll just write the bibtex from memory."
Figures
- Consistent color palette, NO titles (caption is the title)
- Legends outside data area, font size matching body text (~9-10pt)
- Hatching for B&W readability
- Do NOT make bar plots that just restate table numbers
- Figures should show what tables cannot: trends, patterns, qualitative comparisons
- Maximize information density (conference space is limited)
- No duplicate info between figures and tables
Depth Over Breadth
- Prefer 2-3 deeply analyzed results over 10 shallow observations
- Every claim should lead to "why" or "what does this tell us"
- Do NOT add Spearman/Pearson correlation, Cohen's d/kappa, Wilson CI,
bootstrap CI, t-tests, McNemar's test, Fisher's exact test, chi-squared,
p-values, or "statistically significant" framing as a substitute for
analysis. These are SHALLOW and ruin paper structure. A reviewer reads
"the difference is statistically significant (p<0.05)" as a substitute for
insight, not as rigor. Only include if absolutely central to a claim, and
even then push them to the appendix.
- Real depth = mechanism explanation, failure-case study, ablation isolating
one component, qualitative analysis, learned-representation visualization.
Frame every result as "X is Y percentage points better BECAUSE Z," not "X
beats Y with p=0.04."
Writing Style (model after top-tier papers)
Before writing or rewriting any major section (especially abstract, intro,
conclusion), use WebSearch to find 2-3 recent published papers from the same
venue (NeurIPS, ICLR, CVPR, etc.) on similar topics. Read how they:
- Structure the abstract (4-sentence pattern: problem -> gap -> approach -> result)
- Open the introduction (concrete motivation, not generic)
- Frame the contributions (specific and verifiable, not vague)
- Write the conclusion (synthesizes, does NOT just restate)
Match the tone, density, and structure of accepted papers. Do NOT generate
generic AI-style "this paper presents a novel framework for..." text.
Specific section guidance:
- Abstract: ~150-200 words, 4-5 sentences. Problem -> approach -> result
with quantified numbers. No jargon, no method names without context.
- Introduction: 4 paragraphs typically. Real-world motivation, technical
gap, prior work shortcomings, proposed approach. NO equations.
- Conclusion: Synthesizes contributions and points to future work.
Does NOT restate the abstract. ~1 paragraph.
Log changes to papr-runs/latest-run/latest/ROUND_STATE.md.
Phase B: Humanize
Invoke /humanizer on each modified section. Verify: grep "—" returns zero.
Phase C: Compile PDF
cd [paper_dir] && latexmk -pdf -interaction=nonstopmode main.tex 2>&1 | tail -20
If compilation fails, fix LaTeX errors and retry. Verify with pdfinfo [paper_dir]/main.pdf | head -5.
Output
Append to papr-runs/latest-run/latest/ROUND_STATE.md:
### Write + Humanize + Compile
Sections modified: [list]
Changes: [N], Em dashes removed: [N], AI patterns fixed: [N]
PDF compiled: [YES/NO]