AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Paper Write

skill-wanshuiyin-auto-claude-code-research-in-sleep-paper-write · by wanshuiyin

Draft LaTeX paper section by section from an outline. Use when user says \"写论文\", \"write paper\", \"draft LaTeX\", \"开始写\", or wants to generate LaTeX content from a paper plan.

No reviews yet
0 installs
17 views
0.0% view→install

Install

$ agentstack add skill-wanshuiyin-auto-claude-code-research-in-sleep-paper-write

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access Used
  • Filesystem access Used
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-wanshuiyin-auto-claude-code-research-in-sleep-paper-write)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Paper Write? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Paper Write: Section-by-Section LaTeX Generation

Draft a LaTeX paper based on: $ARGUMENTS

Constants

  • REVIEWER_MODEL = gpt-5.5 — Model used via Codex MCP for section review. Must be an OpenAI model.
  • TARGET_VENUE = ICLR — Default venue. Supported: ICLR, NeurIPS, ICML, CVPR (also ICCV/ECCV), ACL (also EMNLP/NAACL), AAAI, ACM (ACM MM, SIGIR, KDD, CHI, etc.), IEEE_JOURNAL (IEEE Transactions / Letters, e.g., T-PAMI, JSAC, TWC, TCOM, TSP, TIP), IEEE_CONF (IEEE conferences, e.g., ICC, GLOBECOM, INFOCOM, ICASSP). Determines style file and formatting.
  • ANONYMOUS = true — If true, use anonymous author block. Set false for camera-ready. Note: most IEEE venues do NOT use anonymous submission — set false for IEEE.
  • MAX_PAGES = 9 — Main body page limit. For ML conferences: counts from first page to end of Conclusion section, references and appendix NOT counted. For IEEE venues: references ARE counted toward the page limit. Typical limits: IEEE journal = no strict limit (but 12-14 pages typical for Transactions, 4-5 for Letters), IEEE conference = 5-8 pages including references.
  • DBLP_BIBTEX = true — Fetch real BibTeX from DBLP/CrossRef instead of LLM-generated entries. Eliminates hallucinated citations. Zero install required. Set false to use legacy behavior (LLM search + [VERIFY] markers).

Inputs

  1. PAPER_PLAN.md — outline with claims-evidence matrix, section plan, figure plan (from /paper-plan)
  2. NARRATIVE_REPORT.md — the research narrative (primary source of content)
  3. Generated figures — PDF/PNG files in figures/ (from /paper-figure)
  4. LaTeX includesfigures/latex_includes.tex (from /paper-figure)
  5. Bibliography — existing .bib file, or will create one

If no PAPER_PLAN.md exists, ask the user to run /paper-plan first or provide a brief outline.

Orchestra-Guided Writing Overlay

Keep the existing insleep workflow, file layout, and defaults. Use the shared references below only when they improve writing quality:

  • Read ../shared-references/writing-principles.md before drafting the Abstract, Introduction, Related Work, or when prose feels generic.
  • Read ../shared-references/venue-checklists.md during the final write-up and submission-readiness pass.
  • Read ../shared-references/citation-discipline.md only when the built-in DBLP/CrossRef workflow is insufficient.

These references are support material, not extra workflow phases.

Optional: Style reference (— style-ref: , opt-in)

Lets the user steer structural style (section ordering, theorem density, sentence cadence, figure density, bibliography style) toward a reference paper. Default OFF — when the user does not pass — style-ref, do nothing differently from before.

Only when — style-ref: appears in $ARGUMENTS, run the helper FIRST, before drafting:

# Resolve $STYLE_HELPER via the canonical strict-safe chain (see
# shared-references/integration-contract.md §2). Policy A — gate:
# unresolved helper means --style-ref cannot be satisfied, so abort.
cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" || exit 1
if [ -z "${ARIS_REPO:-}" ] && [ -f .aris/installed-skills.txt ]; then
    ARIS_REPO=$(awk -F'\t' '$1=="repo_root"{print $2; exit}' .aris/installed-skills.txt 2>/dev/null) || true
fi
STYLE_HELPER=".aris/tools/extract_paper_style.py"
[ -f "$STYLE_HELPER" ] || STYLE_HELPER="tools/extract_paper_style.py"
[ -f "$STYLE_HELPER" ] || { [ -n "${ARIS_REPO:-}" ] && STYLE_HELPER="$ARIS_REPO/tools/extract_paper_style.py"; }
[ -f "$STYLE_HELPER" ] || {
  echo "ERROR: extract_paper_style.py not resolved at .aris/tools/, tools/, or \$ARIS_REPO/tools/." >&2
  echo "       Fix: rerun bash tools/install_aris.sh, export ARIS_REPO, or copy the helper to tools/." >&2
  echo "       --style-ref cannot be satisfied; aborting." >&2
  exit 1
}
STYLE_STATUS=0
CACHE=$(python3 "$STYLE_HELPER" --source "") || STYLE_STATUS=$?
case "$STYLE_STATUS" in
  0) ;;                                       # use $CACHE/style_profile.md as structural guidance
  2) echo "warning: style-ref skipped (missing optional dep)" >&2 ;;
  3) echo "error: --style-ref source failed; aborting draft" >&2 ; exit 1 ;;
  *) echo "error: helper failed unexpectedly; aborting draft" >&2 ; exit 1 ;;
esac

Sources accepted: local TeX dir / file, local PDF, arXiv id (2501.12345 or arxiv:2501.12345), http(s) URL. Overleaf URLs and project IDs are rejected — clone via /overleaf-sync setup first and pass the local clone path.

Strict rules (full contract in tools/extract_paper_style.py docstring):

  • Use style_profile.md as structural guidance only. Match section count, section ordering tendency, theorem-environment density, caption-length distribution, sentence cadence, math display ratio, citation style.
  • Never copy prose, claims, examples, or terminology from anything reachable through the cache. The profile is intentionally aggregate; if you need substance, use the user's own outline.
  • Never pass — style-ref (or the cache contents) to reviewer / auditor sub-agents. Cross-model review independence (../shared-references/reviewer-independence.md) requires reviewers see only the artifact and the user's prompt, not the author's stylistic context.

` markers (when GAP_REPORT.md` exists)

If /paper-plan ran with — style-ref: it will have emitted GAP_REPORT.md alongside PAPER_PLAN.md. This file lists structural slots (ablation tables, scaling experiments, failure-case analyses, …) the exemplar implies but the user has no evidence to fill.

When GAP_REPORT.md is present and a section slot is classified as status: missing:

  1. Do not fabricate numerical results, figure references, or qualitative claims to fill that slot.
  2. Emit an HTML-comment placeholder at the exact location the missing content would go:

```latex

```

  1. Slot ID and one-line description come straight from GAP_REPORT.md. Never invent Slot IDs. Never reword the description to be more confident than the report.
  2. The marker is intentionally an HTML comment so it is invisible in the rendered PDF but searchable via grep -r "DATA_NEEDED" sec/ for human triage / /experiment-bridge follow-up.
  3. For status: partial, write what the user has and emit `` at the gap point in the same paragraph (do not split the section).

Carve-out from "no placeholder" rule. The default /paper-write discipline (no placeholders such as "see supplementary" or "TBD") still applies for everything except GAP_REPORT-listed missing slots. The marker is the principled way to surface genuine evidence deficits without compromising claim integrity.

Original idea: @zhangpelf in #217.

Templates

Venue-Specific Setup

The skill includes conference templates in templates/. Select based on TARGET_VENUE:

ICLR:

\documentclass{article}
\usepackage{iclr2026_conference,times}
% \iclrfinalcopy  % Uncomment for camera-ready

NeurIPS:

\documentclass{article}
\usepackage[preprint]{neurips_2025}
% \usepackage[final]{neurips_2025}  % Camera-ready

ICML:

\documentclass[accepted]{icml2025}
% Use [accepted] for camera-ready

IEEE Journal (Transactions, Letters):

\documentclass[journal]{IEEEtran}
\usepackage{cite}  % IEEE uses \cite{}, NOT natbib
% Author block uses \author{Name~\IEEEmembership{Member,~IEEE}}

IEEE Conference (ICC, GLOBECOM, INFOCOM, ICASSP, etc.):

\documentclass[conference]{IEEEtran}
\usepackage{cite}  % IEEE uses \cite{}, NOT natbib
% Author block uses \IEEEauthorblockN / \IEEEauthorblockA

Project Structure

Generate this file structure:

paper/
├── main.tex                    # master file (includes sections)
├── iclr2026_conference.sty     # or neurips_2025.sty / icml2025.sty / IEEEtran.cls + IEEEtran.bst
├── math_commands.tex           # shared math macros
├── references.bib              # bibliography (filtered — only cited entries)
├── sections/
│   ├── 0_abstract.tex
│   ├── 1_introduction.tex
│   ├── 2_related_work.tex
│   ├── 3_method.tex            # or preliminaries, setup, etc.
│   ├── 4_experiments.tex
│   ├── 5_conclusion.tex
│   └── A_appendix.tex          # proof details, extra experiments
└── figures/                    # symlink or copy from project figures/

Section files are FLEXIBLE: If the paper plan has 6-8 sections, create corresponding files (e.g., 4_theory.tex, 5_experiments.tex, 6_analysis.tex, 7_conclusion.tex).

Workflow

Step 0: Backup and Clean

If paper/ already exists, back up to paper-backup-{timestamp}/ before overwriting. Never silently destroy existing work.

CRITICAL: Clean stale files. When changing section structure (e.g., 5 sections → 7 sections), delete section files that are no longer referenced by main.tex. Stale files (e.g., old 5_conclusion.tex left behind when conclusion moved to 7_conclusion.tex) cause confusion and waste space.

Step 1: Initialize Project

  1. Create paper/ directory
  2. Copy venue template from templates/ — the template already includes:
  • All standard packages (amsmath, hyperref, cleveref, booktabs, etc.)
  • Theorem environments with \crefname{assumption} fix
  • Anonymous author block
  1. Generate math_commands.tex with paper-specific notation
  2. Create section files matching PAPER_PLAN structure

Author block (anonymous mode):

\author{Anonymous Authors}

Step 2: Generate math_commands.tex

Create shared math macros based on the paper's notation:

% math_commands.tex — shared notation
\newcommand{\R}{\mathbb{R}}
\newcommand{\E}{\mathbb{E}}
\DeclareMathOperator*{\argmin}{arg\,min}
\DeclareMathOperator*{\argmax}{arg\,max}
% Add paper-specific notation here

Step 3: Write Each Section

Process sections in order. For each section:

  1. Read the plan — what claims, evidence, citations belong here
  2. Read NARRATIVE_REPORT.md — extract relevant content, findings, and quantitative results
  3. Draft content — write complete LaTeX (no fabricated placeholders). Exception: if GAP_REPORT.md exists and the section has slots with status: missing, emit `` at those points instead of inventing data — see the DATA_NEEDED markers subsection above.
  4. Insert figures/tables — use snippets from figures/latex_includes.tex
  5. Add citations — for ML conferences (ICLR/NeurIPS/ICML/CVPR/ACL/AAAI): use \citep{} / \citet{} (natbib). For IEEE venues: use \cite{} (numeric style via cite package). Never mix natbib and cite commands.

Before drafting the front matter, re-read the one-sentence contribution from PAPER_PLAN.md. The Abstract and Introduction should make that takeaway obvious before the reader reaches the full method.

Section-Specific Guidelines

§0 Abstract:

  • Use the 5-part flow from ../shared-references/writing-principles.md: what, why hard, how, evidence, strongest result
  • Must be self-contained (understandable without reading the paper)
  • Start with the paper's specific contribution, not generic field-level background
  • Include one concrete quantitative result
  • 150-250 words (check venue limit)
  • No citations, no undefined acronyms
  • No \begin{abstract} — that's in main.tex

§1 Introduction:

  • Open with a compelling hook (1-2 sentences, problem motivation)
  • State the gap clearly ("However, ...")
  • Give a brief approach overview before the reader gets lost in details
  • List 2-4 specific, falsifiable contributions as a numbered or bulleted list
  • Preview the strongest result early instead of saving it for the experiments section
  • End with a brief roadmap ("The rest of this paper is organized as...")
  • Include the main result figure if space allows
  • Target: 1-1.5 pages
  • Methods should begin by page 2-3 at the latest

§2 Related Work:

  • MINIMUM 1 full page (3-4 substantive paragraphs). Short related work sections are a common reviewer complaint.
  • Organize by category using \paragraph{Category Name.}
  • Organize methodologically, by assumption class, or by research question; do not write paper-by-paper mini-summaries
  • Each category: 1 paragraph summarizing the line of work + 1-2 sentences positioning this paper
  • Do NOT just list papers — synthesize and compare
  • End each paragraph with how this paper relates/differs

§3 Method / Preliminaries / Setup:

  • Define notation early (reference math_commands.tex)
  • Use \begin{definition}, \begin{theorem} environments for formal statements
  • For theory papers: include proof sketches of key results in main body, full proofs in appendix
  • For theory papers: include a comparison table of prior bounds vs. this paper
  • Include algorithm pseudocode if applicable (algorithm2e or algorithmic)
  • Target: 1.5-2 pages

§4 Experiments:

  • Start with experimental setup (datasets, baselines, metrics, implementation details)
  • Main results table/figure first
  • Then ablations and analysis
  • Every claim from the introduction must have supporting evidence here
  • For each major experiment, make explicit what claim it supports and what the reader should notice
  • Target: 2.5-3 pages

§5 Conclusion:

  • Summarize contributions (NOT copy-paste from intro — rephrase)
  • Limitations (be honest — reviewers appreciate this)
  • Future work (1-2 concrete directions)
  • Ethics statement and reproducibility statement (if venue requires)
  • Target: 0.5 pages

Appendix:

  • Proof details (full proofs of main-body theorems)
  • Additional experiments, ablations
  • Implementation details, hyperparameter tables
  • Additional visualizations

Step 3.5: Theory Paper Consistency Pass (theory papers only)

Run this pass after drafting all sections and before building the bibliography.

Trigger heuristic: treat the paper as theory-heavy if PAPER_PLAN.md labels it as theory/analysis, or if the drafted sections contain 5 or more formal result environments (\begin{theorem}, \begin{lemma}, \begin{proposition}, \begin{corollary}).

Proof source search: search the workspace for any standalone full-proof source file whose name or contents indicate a canonical proof version (proof, appendix, full, complete, supplement, supplementary). If such a file exists, prompt the user exactly:

Inline full proofs from {file}? [Y/n]

Default to Y.

If the user accepts:

  • import the full theorem/lemma statement plus proof block into the appendix source (A_appendix.tex or the appendix file named by the plan)
  • use the main-body theorem statement as the canonical public statement; the appendix copy must match it unless the main-body statement is being revised in the same pass
  • do not leave placeholders such as "see supplementary proof document" or "proof omitted for brevity"
  • preserve theorem labels, equation labels, and proof structure exactly
  • keep the main body proof sketches short, but never let the appendix be a sketch-only placeholder when a full proof source exists

If no standalone full-proof source exists:

  • use proof sketches only when they are actually written as proof sketches, not placeholders
  • do not fabricate an external proof document reference

Restatement audit:

  • Compare every theorem/lemma/proposition statement that is restated in the appendix against the main-body version
  • Do not diff proof bodies; only audit statements, hypotheses, case splits, quantifiers, domains, notation, variable names, and terminology for defined objects
  • Treat stationary vs terminal, changed assumption names, or missing case splits as mismatches unless explicitly documented
  • If the appendix needs different wording, add an explicit notation bridge instead of silently renaming concepts
  • Resolve all mismatches before Step 4

Empirical motivation: in a real theory-paper run, the default behavior gen

Source & license

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

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

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.