with one click
arxiv-paper-writer
// Write LaTeX ML/AI review articles for arXiv using the IEEEtran template and verified BibTeX citations.
// Write LaTeX ML/AI review articles for arXiv using the IEEEtran template and verified BibTeX citations.
| name | arxiv-paper-writer |
| description | Write LaTeX ML/AI review articles for arXiv using the IEEEtran template and verified BibTeX citations. |
| compatibility | Python 3.8+ for scripts. Web browsing/search for citation verification. LaTeX is required (pdflatex + bibtex or latexmk). |
| metadata | {"short-description":"ML/AI review papers (IEEEtran template) with verified citations"} |
main.tex (LaTeX source)ref.bib (verified BibTeX entries)IEEEtran.clsplan/<timestamp>-<slug>.md, issues/<timestamp>-<slug>.csvmain.pdfnotes/literature-notes.md (optional per-citation notes)notes/arxiv-registry.sqlite3 (arXiv metadata/BibTeX cache)Conventions: run python3 scripts/... from this skill folder (where scripts/ lives); <paper_dir> is the paper/project root (contains main.tex, ref.bib, plan/, issues/, notes/). Paths like plan/... are under <paper_dir>. For arXiv discovery/metadata/BibTeX, use scripts/arxiv_registry.py (no ad-hoc curl/wget).
Tip: Run
python3 scripts/<script>.py --helpbefore use. Open reference files only when a step calls them out.
main.tex until plan approved AND issues CSV exists.Status and Verified_Citations per issue, and add/split/insert issue rows when scope grows (do not do untracked work).assets/template/IEEEtran.cls).
Treat two-column width as a layout constraint (use two-column floats when needed).references/research-workflow.md). After step 4 (once <paper_dir> exists), cache arXiv discovery with arxiv_registry.py search.python3 scripts/bootstrap_ieee_review_paper.py --stage kickoff --topic "<topic>"
This copies LaTeX templates from assets/template/; plan/issues are generated from templates in assets/.
Initialize arXiv registry (once): python3 scripts/arxiv_registry.py --project-dir <paper_dir> init.main.tex
(section headings + 2-4 bullets per section + seed citations; no prose).python3 scripts/compile_paper.py --project-dir <paper_dir>
Fix any Overfull \hbox warnings (see Layout Hygiene below).references/visual-templates.md)- [x] User confirmed scope + outline in chat.python3 scripts/bootstrap_ieee_review_paper.py --stage issues --topic "<topic>" --with-literature-notes
python3 scripts/validate_paper_issues.py <paper_dir>/issues/<timestamp>-<slug>.csv
DONE or SKIP (when feasible, in the same run).For each writing issue in the CSV:
W6a, Q5) before proceeding; re-run python3 scripts/validate_paper_issues.py <issues.csv>; keep going until all issues are DONE/SKIP.references/writing-style.md).
For section intent and structure, use references/template-usage.md.references/visual-templates.md).
Prioritize single-column sizing; use double-column spans only when necessary (see Layout Hygiene).
Cite externally sourced figure content.ref.bib.
For arXiv entries, append BibTeX via python3 scripts/arxiv_registry.py --project-dir <paper_dir> export-bibtex <arxiv_id> --out-bib <paper_dir>/ref.bib.DONE with Verified_Citations count.Overfull \hbox before marking DONE.After all writing issues are DONE, refine prose section-by-section using the latex-rhythm-refiner skill. This step varies sentence/paragraph lengths and removes filler phrases while preserving all citations.
references/quality-report.md).Overfull \hbox warnings in main.log.main.tex, ref.bib, figures, and main.pdf.If a paper folder already exists, do NOT rerun scaffold:
# Create plan
python3 scripts/create_paper_plan.py --topic "<topic>" --stage plan --output-dir <paper_dir>
# STOP for approval, then check kickoff gate box
# Create issues (use timestamp/slug from plan filename/frontmatter)
python3 scripts/create_paper_plan.py --topic "<topic>" --stage issues --timestamp "<TS>" --slug "<slug>" --output-dir <paper_dir> --with-literature-notes
references/citation-workflow.md.references/bibtex-guide.md for BibTeX rules if entries need repair.ref.bib if requested.Compilation: python3 scripts/compile_paper.py --project-dir <paper_dir> (exit 0, no "Citation undefined" warnings). Use --report-page-counts for main-text page count.
Quality Metrics:
DONE or SKIPref.bib.DONE only when criteria met.Fix Overfull \hbox warnings before marking issues DONE:
figure + \columnwidth; switch to figure* + \textwidth if neededp{...} column widths / \tabcolsep over \resizeboxsplit, multline, aligned, or IEEEeqnarray for line-breaking| Phase | Issues |
|---|---|
| Research | Rx: discovery, scaffolding, framework, viz planning |
| Writing | Wx: each section with target citations and visualization |
| Refinement | RFx: apply latex-rhythm-refiner skill (after all Wx DONE) |
| QA | Qx: citation verification, QA checklist, compilation, final review |
Status: TODO โ DOING โ DONE. Schema validated by validate_paper_issues.py.
Post-process LaTeX project prose to improve readability through varied sentence and paragraph lengths. Removes filler phrases and unnecessary transitions while preserving all citations and semantic meaning.
Use the Claude Code CLI to consult Claude and delegate coding tasks for prototyping, debugging, and code review. Supports multi-turn sessions via SESSION_ID. Optimized for low-token, file/line-based handoff.
Use the Gemini CLI to consult Gemini and delegate coding tasks for prototyping, debugging, and code review. Supports multi-turn sessions via SESSION_ID. Optimized for low-token, file/line-based handoff.