Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
29 KiB
Research Paper Writing: Implemented Claude Skills
Implementation record for 30 skills deployed at
~/.claude/skills/. Companion to SKILLS_DESIGN.md which contains the original design specifications.
Summary
| Category | Count | With Scripts | Prompt-Only |
|---|---|---|---|
| Research Discovery & Planning | 6 | 4 | 2 |
| Method Design | 4 | 0 | 4 |
| Experiment Pipeline | 4 | 2 | 2 |
| Paper Writing | 4 | 1 | 3 |
| Figures, Tables & Citations | 4 | 4 | 0 |
| LaTeX & Compilation | 3 | 3 | 0 |
| Review & Polish | 5 | 3 | 2 |
| Total | 30 | 17 | 13 |
Scripts total: 27 Python + 7 CJS (Excalidraw) across 15 skill directories.
Phase 0: Research Discovery & Planning
1. deep-research — Systematic Literature Survey
Design ref: Pre-dates SKILLS_DESIGN.md (not in S01-S28). Most script-heavy skill.
How it works:
- Prompt: Orchestrates a 6-phase literature survey: Frontier (latest conferences) → Survey (35-80 papers) → Deep Dive (8-15 detailed reads) → Code & Tools (GitHub extraction) → Synthesis (cross-paper analysis) → Compilation (final report).
- Scripts (7):
search_semantic_scholar.py— Semantic Scholar API search, returns JSONL with title/authors/year/venue/abstract/citationssearch_arxiv.py— arXiv API search viaarxivpackagedownload_papers.py— Download PDFs from URLs or arXiv IDsextract_pdf.py— Extract text from PDF using PyMuPDFpaper_db.py— Merge, deduplicate, and manage paper databases (JSONL format)bibtex_manager.py— Convert JSONL paper records to BibTeX entriescompile_report.py— Assemble final survey report from phase outputs
Usage pattern: Scripts handle API calls, PDF processing, and data management. Prompt guides Claude through analysis, synthesis, and gap identification at each phase.
2. literature-search — Academic Paper Search
Design ref: S03
How it works:
- Prompt: Expands user query into 2-4 complementary searches, runs across 3+ APIs, merges and deduplicates results, ranks by citations (0.3) + recency (0.3) + venue quality (0.2) + relevance (0.2).
- Scripts (4 own + shared from deep-research):
search_crossref.py— CrossRef API search with BibTeX generation, type mapping (article/inproceedings/book). Stdlib-only. New.download_arxiv_source.py— Search arXiv by title, download source tarball, extract .tex files. Stdlib-only (urllib + xml.etree). New.search_openalex.py— OpenAlex API with citation count and year filtering- Also uses:
deep-research/scripts/search_semantic_scholar.py,search_arxiv.py,paper_db.py,bibtex_manager.py
Usage pattern: Scripts call search APIs and return structured JSONL. Prompt handles query expansion, result ranking, and relevance filtering.
3. literature-review — Multi-Perspective Literature Review
Design ref: S04
How it works:
- Prompt: Generates 3-5 expert personas from different research perspectives. Each persona conducts a multi-turn grounded Q&A conversation (3-5 turns). All conversations are synthesized into a unified knowledge base with inline citations.
- Scripts: Shares search scripts from
literature-searchanddeep-research.
Usage pattern: Prompt-driven role-play simulation. Scripts provide the search backbone for grounding expert answers in real literature.
4. idea-generation — Research Idea Generation
Design ref: S02
How it works:
- Prompt: Generates 3-5 diverse research ideas, each with Name/Title/Experiment plan. Iterative reflection (up to 5 rounds) to refine. Scores each idea on Interestingness, Feasibility, Novelty (1-10 scale).
- Scripts (1):
novelty_check.py— Searches Semantic Scholar for similar work, evaluates overlap in multiple rounds
Usage pattern: Prompt generates and refines ideas. Script validates novelty against existing literature.
5. novelty-assessment — Research Novelty Evaluation
Design ref: S27
How it works:
- Prompt: Adopts a harsh critic persona. Runs up to 10 rounds of search-evaluate loops. Final output is a binary Novel/Not Novel decision with justification. Identifies the most similar existing papers and explains differentiation.
- Scripts: Shares
idea-generation/scripts/novelty_check.pyanddeep-research/scripts/search_semantic_scholar.py.
Usage pattern: Prompt drives the adversarial evaluation. Scripts perform iterative literature searches.
6. research-planning — Research Plan Design
Design ref: S01
How it works:
- Prompt: 4-stage planning framework: Overall Plan → Architecture Design (UML) → Logic Design (task list) → Configuration. Outputs paper structure, section-by-section plan, dependency-ordered task graph, baselines, datasets, metrics, and risk flags.
- Scripts: None.
Usage pattern: Purely prompt-driven. Claude produces structured research plans as JSON or Markdown.
Phase 1: Method Design
7. atomic-decomposition — Atomic Concept Decomposition
Design ref: S08
How it works:
- Prompt: Decomposes a complex research idea into atomic, self-contained concepts. For each concept, performs a Paper Survey (extract math formula from papers) and Code Survey (find implementation in repos). Creates bidirectional mapping:
math_formula ↔ code_implementation. - Scripts: None.
Usage pattern: Purely prompt-driven. Claude reads papers and code to build a structured knowledge base of atomic definitions.
8. algorithm-design — Algorithm Design & Pseudocode
Design ref: S07
How it works:
- Prompt: Formalizes algorithms with clear input/output/parameters. Generates LaTeX pseudocode using
algorithm+algpseudocodeenvironments. Creates Mermaid UML class diagrams and sequence diagrams. Verifies consistency: every pseudocode step maps to a code module. - Scripts: None.
Usage pattern: Purely prompt-driven. Outputs LaTeX algorithm environments and Mermaid diagram code.
9. math-reasoning — Mathematical Reasoning
Design ref: S06
How it works:
- Prompt: Six task modes:
derive— Step-by-step equation derivation with justifications, boxed final resultprove— Formal theorem proof using appropriate technique (induction, contradiction, construction)formalize— Problem setting formalization with variable definitions and assumptionsstats— Statistical test selection and proper reportingnotation— Generate notation table with all symbols used in the paperverify— Check mathematical correctness of existing derivations
- Scripts: None.
Usage pattern: Purely prompt-driven. Outputs LaTeX math notation.
10. symbolic-equation — Scientific Equation Discovery
Design ref: S28
How it works:
- Prompt: Implements the LLM-SR framework: LLM-guided evolutionary search over symbolic expression space. Multi-island algorithm with softmax-based cluster sampling for diversity. Island reset mechanism prevents premature convergence. LLM proposes candidate equations, evaluates fitness against data, iteratively improves.
- Scripts: None.
Usage pattern: Purely prompt-driven. Claude generates and evaluates candidate equations in an evolutionary loop.
Phase 2: Experiment Pipeline
11. experiment-design — Experiment Plan Design
Design ref: S11
How it works:
- Prompt: 4-stage progressive framework (from AI-Scientist-v2):
- Stage 1: Initial Implementation — basic working baseline on simple dataset
- Stage 2: Baseline Tuning — hyperparameters on 2+ datasets, no architecture changes
- Stage 3: Creative Research — novel improvements on 3+ datasets
- Stage 4: Ablation Studies — systematic component analysis
- Scripts (1):
design_experiments.py— Generates experiment design JSON/Markdown: baseline list, ablation matrix, hyperparameter grid, metric selection by task type (classification/regression/generation/detection/segmentation/retrieval), total run estimation. Stdlib-only. New.
Usage pattern: Script generates the structural experiment plan. Prompt fills in domain-specific details and rationale.
12. experiment-code — Experiment Code Writing
Design ref: S09
How it works:
- Prompt: Three actions:
generate— Create complete training/evaluation pipeline with logging and figure generationimprove— Read results, reflect on what worked, apply targeted edits, re-run and comparedebug— Identify root cause, apply minimal fix, up to 4 retries
- Enforces constraints: no placeholder code, must use real datasets, must generate figures, PyTorch/scikit-learn only.
- Scripts: None.
Usage pattern: Purely prompt-driven. Claude writes, executes, and iteratively improves experiment code.
13. code-debugging — Code Debugging
Design ref: S10
How it works:
- Prompt: Structured error analysis pipeline:
- Categorize error (SyntaxError, ImportError, RuntimeError, TimeoutError, OutputError, LogicError)
- Analyze root cause from traceback
- Apply targeted fix (up to 4 retries)
- Reflect: explain error, identify lines, describe fix, note patterns to avoid
- Scripts: None.
Usage pattern: Purely prompt-driven. Claude follows the categorize→analyze→fix→reflect workflow.
14. data-analysis — Statistical Data Analysis
Design ref: S12
How it works:
- Prompt: Generates analysis code in 7 sections (IMPORT → LOAD DATA → DATASET PREPARATIONS → DESCRIPTIVE STATISTICS → PREPROCESSING → ANALYSIS → SAVE). Then runs a 4-round code review: Round 1 (code flaws) → Round 2 (data handling) → Round 3 (per-table) → Round 4 (cross-table completeness). Statistical test selection table guides appropriate test choice.
- Scripts (2):
stat_summary.py— Loads CSV/JSON, detects data types, recommends statistical tests (t-test, Mann-Whitney, Wilcoxon, ANOVA, Kruskal-Wallis), computes effect sizes (Cohen's d), outputs significance stars. Requires numpy + scipy. New.format_pvalue.py— Formats p-values as text, significance stars (*/**/***/ns), LaTeX notation, or JSON. Supports batch processing from CLI values, CSV, or stdin. Stdlib-only. New.
Usage pattern: Scripts handle statistical computation and formatting. Prompt performs the 4-round review and generates the full analysis code.
Phase 3: Paper Writing
15. paper-writing-section — Section-by-Section Writing
Design ref: S15
How it works:
-
Prompt: Writes each paper section with section-specific guidance:
Section Guidance Abstract TL;DR → why hard → contribution → how verified. Single paragraph. Introduction Longer abstract; list contributions as bullet points. Background Problem setting with formal notation; define all symbols. Related Work Compare and contrast, not just describe. Organize by theme. Methods Precise equations; what we do AND why. Experiments Datasets, metrics, hyperparameters. No hallucinated numbers. Results Only from actual logs. Include ablations and all figures. Discussion Brief recap → limitations → future work. Two-pass refinement: Pass 1 (fix errors, unenclosed math, broken refs, hallucinated numbers) → Pass 2 (remove redundancies, compress, smooth transitions).
-
Scripts: None.
Usage pattern: Purely prompt-driven. Claude reads existing materials, writes the section, then self-refines in two passes.
16. related-work-writing — Related Work Section
Design ref: S05
How it works:
- Prompt: 4-step process:
- Analyze paper's key contributions and novelty claims
- Organize literature into thematic clusters
- Write each theme paragraph: topic sentence → describe key works → compare/contrast with this paper
- Refine: verify citation reasons are clear, novelty is explicit, all cite keys resolve
- Scripts: None.
Usage pattern: Purely prompt-driven. Focused specifically on the Related Work section with compare-and-contrast emphasis.
17. survey-generation — Survey Paper Generation
Design ref: S24
How it works:
- Prompt: AutoSurvey pipeline:
- Collect 50-200 papers via Semantic Scholar/arXiv
- Generate N outlines in parallel, merge best elements
- RAG-based subsection writing: retrieve relevant papers per subsection, generate with inline citations
- Validate citations: check titles match, verify claims are supported
- Enhance local coherence: read adjacent sections, refine transitions
- Convert paper title citations to BibTeX
\cite{key}format
- Scripts: Shares
deep-research/scripts/search_semantic_scholar.py.
Usage pattern: Prompt orchestrates the multi-step RAG pipeline. Script provides the search backend.
18. paper-to-code — Paper to Runnable Code
Design ref: S25
How it works:
- Prompt: Paper2Code 3-stage pipeline:
- Planning — Overall plan, architecture design (UML), task breakdown, configuration extraction
- Analysis — Per-file detailed logic analysis
- Coding — Dependency-ordered code generation, each file sees all previously generated files
- Debugging — If execution fails, identify root cause and apply fixes
- Scripts: None.
Usage pattern: Purely prompt-driven. Claude reads the paper, designs the architecture, then generates code file by file in dependency order.
Phase 4: Figures, Tables & Citations
19. figure-generation — Scientific Figure Generation
Design ref: S13
How it works:
- Prompt: 3-phase pipeline:
- Query Expansion — expand user description into step-by-step coding specifications
- Code Generation with Execution Loop — generate matplotlib/seaborn script, execute, fix errors (up to 4 retries)
- Visual Refinement — read generated PNG, inspect using VLM feedback, generate corrections
- Scripts (1):
figure_template.py— Generates starter matplotlib code for 10 figure types:bar,line,heatmap,scatter,training_curve,ablation,radar,violin,tsne,attention. The last 4 templates were added in the upgrade. Updated.
Usage pattern: Script generates code scaffolds for common figure types. Prompt handles the iterative refinement loop with VLM feedback.
20. table-generation — LaTeX Table Generation
Design ref: S14
How it works:
- Prompt: Converts JSON/CSV experiment results to publication-ready LaTeX tables with
booktabsstyling, bold best results, proper captions and labels. Supports comparison, ablation, descriptive, and multi-dataset table types. - Scripts (1):
results_to_table.py— Converts JSON/CSV data to LaTeX. 4 table types:comparison(methods × metrics),ablation(variants × metrics),descriptive(dataset stats),multi-dataset(methods × datasets × metrics). Flags:--bold-best,--significance(p-value stars),--underline-second(second-best results). Updated.
Usage pattern: Script handles the mechanical conversion. Prompt decides table layout and which results to include.
21. citation-management — BibTeX Citation Management
Design ref: S17
How it works:
- Prompt: Four actions:
harvest— Iterative citation harvesting: scan draft for uncited claims, search Semantic Scholar, add candidate BibTeX entries (up to 20 rounds)validate— Pre-compilation check: every\cite{key}must exist in.bib, every\includegraphicsmust existadd— Add a specific paper by title or DOIformat— Standardize and deduplicate.bibfile
- Scripts (2 own + shared):
harvest_citations.py— Scans .tex for sentences lacking\cite, searches Semantic Scholar API, outputs candidate BibTeX. Stdlib-only. New.validate_citations.py— Checks cite keys vs .bib, label vs ref consistency, figure file existence.--fixmode generates placeholder entries for missing keys. Updated.- Also uses:
deep-research/scripts/bibtex_manager.py,search_semantic_scholar.py
Usage pattern: Scripts automate search and validation. Prompt handles citation selection and integration into paper text.
22. backward-traceability — Numeric Value Traceability
Design ref: S23
How it works:
- Prompt: Ensures every number in the final PDF traces to the exact code line that produced it. Workflow:
- Tag code outputs with
\hypertarget{label}{value} - Reference in paper with
\hyperlink{label}{value} - Use
\num{formula}for derived values (compile-time evaluation) - Generate appendix code listing with hypertarget anchors
- Verify all hyperlinks resolve correctly
- Tag code outputs with
- Scripts (1):
ref_numeric_values.py— Two modes:--scan(report all hypertarget/hyperlink usage, orphan references, unreferenced numbers) and--verify(cross-reference integrity between .tex and code output, value mismatch detection). Stdlib-only. New.
Usage pattern: Script scans and verifies traceability. Prompt guides how to add hypertarget/hyperlink tags.
Phase 5: LaTeX & Compilation
23. latex-formatting — LaTeX Formatting & Templates
Design ref: S16
How it works:
- Prompt: Three actions:
setup— Create project directory with conference template (ICML, ICLR, NeurIPS, AAAI, ACL)fix— Fix common LaTeX issues: unescaped characters, math mode errors, float placement, cross-referencescheck— Pre-submission validation: word count, section structure, anonymization, citation consistency
- Scripts (2):
latex_checker.py— Checks word count, section completeness (flags missing expected sections), citation/figure/equation counts, venue-specific rules, anonymization.--fixmode callsclean_latex.pyafter checking. Updated.clean_latex.py— Replaces special characters with LaTeX equivalents (28 special chars + 20 non-UTF8 chars). Skips math environments, comments, command definitions, tabular environments, and LaTeX commands. Stdlib-only. New.
Usage pattern: Scripts handle automated checking and cleaning. Prompt does venue-specific template setup and complex formatting fixes.
24. paper-compilation — LaTeX Compilation
Design ref: S22
How it works:
- Prompt: Full compilation pipeline: pdflatex → bibtex → pdflatex → pdflatex. Pre-compilation validation, up to 5 rounds of error correction, post-compilation report (page count, warnings, style issues).
- Scripts (2):
compile_paper.py— Runs the full pdflatex+bibtex pipeline, optionalchktexstyle checking.--auto-fixflag runsfix_latex_errors.py+ recompile up to 3 rounds automatically. Updated.fix_latex_errors.py— Parses pdflatex.logfiles, classifies errors (undefined commands, missing math mode, mismatched environments, missing files), applies automated fixes: HTML tag conversion, environment balancing, missing figure commenting.--dry-runmode for preview. Stdlib-only. New.
Usage pattern: Scripts automate the compile-fix-recompile cycle. Prompt handles complex errors that require understanding paper content.
25. excalidraw-skill — Excalidraw Diagramming
Design ref: Not in S01-S28. Uses MCP tools, not traditional scripts.
How it works:
- Prompt: Programmatic canvas control via MCP Server tools. Mandatory quality gate after every diagram: check text truncation, element overlap, arrow crossing, spacing, and readability. Workflows include: Draw (plan grid → create elements → bind arrows → verify), Iterative Refinement (screenshot → evaluate → fix), File I/O (export/import .excalidraw), and Sharing (export to excalidraw.com URL).
- Scripts (7 CJS): MCP server implementation files (not called directly by users).
Usage pattern: Claude calls MCP tools (create_element, batch_create_elements, describe_scene, get_canvas_screenshot) to manipulate a live Excalidraw canvas in the browser.
Phase 6: Review & Polish
26. self-review — Automated Paper Review
Design ref: S18
How it works:
- Prompt: Simulates peer review using the NeurIPS review form. Three independent reviewer personas (harsh-fair, harsh-critical, open-minded) each produce a full review. Reflection refinement loop (up to 3 rounds). Reviews are aggregated into a meta-review with averaged scores. Scores: Originality, Quality, Clarity, Significance, Soundness, Presentation, Contribution (1-4), Overall (1-10).
- Scripts (2):
extract_pdf_text.py— Extracts raw text from PDF, outputs as plain text or markdownparse_pdf_sections.py— Parses PDF into structured sections using PyMuPDF font-size analysis. Detects title (largest font), headings (ALL CAPS or larger font), and body text. Outputs{title, pages, sections: [{name, text, page}]}. Requires pymupdf. New.
Usage pattern: Scripts extract paper content from PDF. Prompt runs 3 independent reviews, refines, and aggregates.
27. paper-revision — Paper Revision from Reviews
Design ref: S20
How it works:
- Prompt: 5-step process:
- Parse reviewer concerns — extract, classify (major/minor), map to specific paper sections, prioritize
- Plan revisions — create mapping: Concern → Section → Action → New Content
- Execute revisions — read section, apply edits, run additional experiments if needed, mark changes with
\revised{} - Verify improvements — re-run self-review, check all concerns addressed, check page count
- Write revision summary — list all changes with cross-references to reviewer concerns
- Scripts: None.
Usage pattern: Purely prompt-driven. Claude systematically addresses each reviewer concern.
28. rebuttal-writing — Rebuttal Writing
Design ref: S19
How it works:
- Prompt: Extracts reviewer concerns one by one. For each concern, generates a response following the pattern: Acknowledge → Respond with evidence → Describe what was done (not what will be done). Outputs formatted rebuttal with
## Reviewer #N/**Concern #N**/**Author Response**structure. - Scripts: None.
Usage pattern: Purely prompt-driven. Emphasis on evidence-based responses to specific concerns.
29. slide-generation — Presentation Slide Generation
Design ref: S26
How it works:
- Prompt: Converts a completed paper into Beamer LaTeX slides or poster. Standard flow: extract key content → design 15-20 slide structure → generate Beamer code → simplify for presentation (max 1 key message per slide, max 6 bullets, large figures). Optional poster layout with 4-column structure.
- Scripts (1):
extract_paper_elements.py— Parses .tex (resolves\input{}directives), extracts title, authors, abstract, sections (with hierarchy), figures (path + caption + label), equations, and tables. Generates complete Beamer skeleton or raw JSON. Supports theme selection. Stdlib-only. New.
Usage pattern: Script extracts paper structure and generates slide skeleton. Prompt fills in content and optimizes the narrative flow.
30. paper-assembly — End-to-End Paper Orchestrator
Design ref: S21
How it works:
- Prompt: Manages the full 9-phase paper pipeline: literature → planning → code → results → figures → tables → bibliography → sections → compilation. Supports checkpointing after each phase and resumption. Quality gates verify outputs before proceeding. State propagation passes results to downstream phases.
- Scripts (1):
assembly_checker.py— Scans a paper project directory, checks completeness of all 9 pipeline phases, analyzes .tex section coverage (abstract, introduction, method, experiment, conclusion), verifies citation cross-references, reports missing artifacts, suggests next steps with skill recommendations. Stdlib-only. New.
Usage pattern: Script assesses current pipeline state. Prompt orchestrates calls to other skills in dependency order.
Skill Dependency Graph
Every SKILL.md includes a ## Related Skills section linking upstream, downstream, and complementary skills. The full graph:
deep-research ──→ literature-search ──→ citation-management ──→ paper-compilation
literature-review related-work-writing latex-formatting
novelty-assessment survey-generation
idea-generation ──→ research-planning ──→ experiment-design ──→ experiment-code
atomic-decomposition code-debugging
experiment-code ──→ data-analysis ──→ figure-generation ──→ paper-writing-section
table-generation related-work-writing
backward-traceability
paper-writing-section ──→ latex-formatting ──→ paper-compilation ──→ self-review
citation-management paper-revision
rebuttal-writing
paper-assembly (orchestrator) ──→ all skills above ──→ slide-generation
Scripts Inventory
New Scripts (12)
| Script | Skill | Lines | Dependencies | Source |
|---|---|---|---|---|
search_crossref.py |
literature-search | ~260 | stdlib | data-to-paper crossref.py |
download_arxiv_source.py |
literature-search | ~230 | stdlib | AI-Researcher arxiv.py |
harvest_citations.py |
citation-management | ~245 | stdlib | AI-Scientist citation loop pattern |
clean_latex.py |
latex-formatting | ~240 | stdlib | data-to-paper clean_latex.py |
fix_latex_errors.py |
paper-compilation | ~305 | stdlib | data-to-paper + AI-Scientist patterns |
parse_pdf_sections.py |
self-review | ~260 | pymupdf | ChatReviewer get_paper_from_pdf.py |
ref_numeric_values.py |
backward-traceability | ~265 | stdlib | data-to-paper ref_numeric_values.py |
stat_summary.py |
data-analysis | ~320 | numpy, scipy | data-to-paper 4-round review pattern |
format_pvalue.py |
data-analysis | ~145 | stdlib | data-to-paper pvalue.py |
design_experiments.py |
experiment-design | ~275 | stdlib | AI-Scientist-v2 4-stage pattern |
assembly_checker.py |
paper-assembly | ~290 | stdlib | New |
extract_paper_elements.py |
slide-generation | ~270 | stdlib | New |
Updated Scripts (5)
| Script | Skill | Change |
|---|---|---|
validate_citations.py |
citation-management | Added --fix auto-fix mode |
compile_paper.py |
paper-compilation | Added --auto-fix flag (fix + recompile 3 rounds) |
latex_checker.py |
latex-formatting | Added --fix flag (calls clean_latex.py) |
figure_template.py |
figure-generation | Added 4 templates: radar, violin, tsne, attention |
results_to_table.py |
table-generation | Added multi-dataset type, --significance, --underline-second |
Pre-existing Scripts (17)
| Skill | Scripts |
|---|---|
| deep-research | search_semantic_scholar.py, search_arxiv.py, download_papers.py, extract_pdf.py, paper_db.py, bibtex_manager.py, compile_report.py |
| literature-search | search_openalex.py |
| citation-management | validate_citations.py (pre-upgrade) |
| figure-generation | figure_template.py (pre-upgrade) |
| idea-generation | novelty_check.py |
| latex-formatting | latex_checker.py (pre-upgrade) |
| paper-compilation | compile_paper.py (pre-upgrade) |
| self-review | extract_pdf_text.py |
| table-generation | results_to_table.py (pre-upgrade) |
| excalidraw-skill | 7 CJS files (MCP server) |
Verification Results
Tested against real paper: RIGID metamaterials (OpenResearcher/2401.00003, with main.tex + references.bib + 14 figures).
| Test | Script | Result |
|---|---|---|
| CrossRef API search | search_crossref.py --query "attention mechanism transformer" --rows 3 |
PASS — 3 results |
| LaTeX error fixer | fix_latex_errors.py --tex main.tex --dry-run |
PASS — no fixes needed |
| PDF section parser | parse_pdf_sections.py --pdf report.pdf --format json |
PASS — title + 7 sections |
| Citation validator | validate_citations.py --tex main.tex --bib references.bib |
PASS — 71 citations, 7 unused entries |
| Beamer skeleton | extract_paper_elements.py --tex main.tex --format beamer |
PASS — 19 sections, 12 figures, 3 equations |
| Assembly checker | assembly_checker.py --dir paper/ --verbose |
PASS — 2/9 phases complete |
| LaTeX cleaner | clean_latex.py --input main.tex --dry-run |
PASS — 2 legitimate changes |
| LaTeX checker | latex_checker.py main.tex |
PASS — 7515 words, 12 sections |
| Traceability scan | ref_numeric_values.py --scan main.tex |
PASS — 0 targets (paper has none) |
| P-value formatter | format_pvalue.py --values "0.0001 0.003 0.012 0.048 0.067 0.5" --format latex |
PASS |
| Experiment design | design_experiments.py --method "inverse design" --task classification |
PASS |
| Element extraction | extract_paper_elements.py --tex main.tex --format json |
PASS |
Bugs found and fixed during verification:
parse_pdf_sections.py:len(doc)called afterdoc.close()— fixed by saving page count before closingclean_latex.py: Escaped%in comments and#in\newcommand— fixed by adding comment/command-definition skip patterns; removed~from escape chars (it's a valid LaTeX tie); addedtabular/arrayto skip environments