Agent skill

Latex Health Check

by flonat in flonat/flonat-research

Compile all LaTeX projects and report cross-project build consistency.

MITAuto-check passedDocuments & Office

Install Latex Health Check

skills CLI
$ npx skills add flonat/flonat-research --skill latex-health-check -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install flonat/flonat-research latex-health-check --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/flonat/flonat-research.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/latex-health-check .claude/skills/latex-health-check && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
latex-health-check
GitHub stars
146
Token cost
~2k tokens
SKILL.md length
824 words
Files
1
Skills in repo
83
Repo updated
First seen
Licence
MIT

At a glance

Compile all LaTeX projects and report cross-project build consistency.

  • Works in 4 steps: Discover LaTeX Projects → Build Loop (per project) → Cross-Project Checks → …
  • Checking whether a collection of papers builds cleanly
  • SKILL.md covers When to Use, Modes, Phase 1: Discover LaTeX Projects and Phase 2: Build Loop (per…, plus 4 more sections
  • Calls uv

What it does

Latex Health Check is an agent skill from flonat/flonat-research. Compile all LaTeX projects and report cross-project build consistency. Use when checking whether a collection of papers builds cleanly. Not for rendered visual inspection after a clean build; use $latex-polish.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Documents & Office, covering LaTeX. It works with LaTeX. The repository describes itself as: Shareable Claude Code + Codex infrastructure for PhD researchers — skills, agents, hooks, and rules for academic workflows. The licence is MIT.

When your agent uses it

  • Checking whether a collection of papers builds cleanly
  • Tasks that involve LaTeX

Example prompts

  • “/latex-health-check”

Requirements

  • Python 3
  • Pre-approved tools (allowed-tools): Read, Edit, Write, Glob, Grep, Bash(latexmk*), Bash(pdflatex*), Bash(biber*), Bash(bibtex*), Bash(ls*), Bash(mkdir*), Bash(cp*), Bash(cmp*), Bash(head*), Bash(ln*), Bash(wc*), Bash(readlink*)

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Discover LaTeX Projects
  2. Build Loop (per project)
  3. Cross-Project Checks
  4. Report

What it can do on your machine

Read from SKILL.md and the folder at commit da27600. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Edit
    • Write
    • Glob
    • Grep
    • Bash(latexmk*)
    • Bash(pdflatex*)
    • Bash(biber*)
    • Bash(bibtex*)
    • Bash(ls*)

    …and 7 more on the same allowed-tools line.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • uv

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use uv, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Latex Health Check loads about 2k tokens when it runs. Until then it costs about 57 tokens; SKILL.md has 824 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~57
When it runs · the whole SKILL.md, loaded when a task matches
~2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from flonat/flonat-research at commit da27600, republished under its MIT licence (© flonat). 824 words, ~1,993 tokens.

Download SKILL.mdSave it as .claude/skills/latex-health-check/SKILL.md (or your agent's skills folder).
name
latex-health-check
description
Compile all LaTeX projects and report cross-project build consistency. Use when checking whether a collection of papers builds cleanly. Not for rendered visual inspection after a clean build; use $latex-polish.
allowed-tools
Read, Edit, Write, Glob, Grep, Bash(latexmk*), Bash(pdflatex*), Bash(biber*), Bash(bibtex*), Bash(ls*), Bash(mkdir*), Bash(cp*), Bash(cmp*), Bash(head*), Bash(ln*), Bash(wc*), Bash(readlink*)
argument-hint
[project-path | 'all' | 'quick']

LaTeX Health Check: Self-Healing Build Agent

Compile all LaTeX projects, auto-fix known errors iteratively, and verify cross-project consistency (symlinks, shared bibliographies, Overleaf separation).

When to Use

  • Periodically (weekly) to catch build rot before it becomes debugging sessions
  • After major infrastructure changes (template updates, symlink reorganisation)
  • Before submission season to verify all papers compile cleanly
  • When the user says "check my LaTeX", "build health", "compile everything"

Modes

ModeTriggerWhat it does
Single projectPath argumentCompile + fix + verify one project
All projectsall argumentDiscover and compile every LaTeX project
Quickquick argumentCompile only, no fixes, report errors

Phase 1: Discover LaTeX Projects

Find all directories containing a \documentclass in a .tex file:

Search locations in this order, checking that each exists:

  • an explicit path argument;
  • the current project;
  • project roots declared by the current repository or client guidance;
  • ~/Projects/ as a portable fallback for all mode.

For each discovered project, record:

  • Project name (directory name)
  • Main .tex file path
  • Whether it has a .latexmkrc
  • Whether it has an out/ directory
  • Whether it's inside a paper/ subdirectory (Overleaf-linked)

Phase 2: Build Loop (per project)

For each project:

2a. Pre-flight
  • Resolve the byte-identical templates/build-config/.latexmkrc bundle from the installed latex skill; stop if it is unavailable.
  • If .latexmkrc is missing, copy the resolved canonical verbatim. If it exists, compare it byte-for-byte; report divergence and do not overwrite it without explicit migration approval.
  • Allow .latexmkrc.local for project-specific paths, dependencies, $bibtex_use, $clean_ext, or @default_files, but flag any $pdf_mode assignment.
  • Create out/ directory if missing
2b. Compile
bash
cd <project-dir> && latexmk -interaction=nonstopmode <main.tex> 2>&1

Engine selection: Do NOT hardcode -pdf. The canonical recursively infers pdfLaTeX, XeLaTeX, or LuaLaTeX from the requested driver and local dependencies. Passing -pdf overrides this and breaks Unicode-engine projects. Let latexmk read .latexmkrc.

2c. Parse log

Extract from out/*.log:

  • Error count (lines starting with !)
  • LaTeX/package warning count (Warning-tagged lines)
  • Overfull/underfull box count — use the detection recipes in ../shared/overfull-boxes.md, NOT a Warning grep (box lines carry no Warning token)
  • Undefined citation count
  • Missing package count
2d. Auto-fix (up to 3 iterations)

For each error, apply the known fix from the database:

Error patternFix
Missing package XAdd \usepackage{X} — but NEVER try xltabular or ltablex (use longtable instead)
Undefined citation keyCheck .bib file exists and is referenced; check for typos via edit distance
Overfull/underfull boxFlag location + width per ../shared/overfull-boxes.md — do NOT auto-fix prose (only safe auto-fix is adding microtype when absent)
tcolorbox = or , in titleWrap title in braces: title={...}
Font encoding warningAdd \usepackage[T1]{fontenc} if missing
Missing \begin{document}Check for corrupted preamble
Broken symlink in \input{} or \includegraphics{}Find the target and report
Build artifacts in source dirFlag — offer to move to out/

After each fix, recompile. Max 3 iterations per project.

Why 3 iterations (not 5)? latex runs up to 5 iterations on a single project with deep error analysis. This skill trades depth for breadth — 3 iterations is enough to catch the common fleet-wide issues (missing packages, broken symlinks, stale cache) without spending excessive time on any one project. If a project still has errors after 3 iterations, mark it as ERROR and recommend running latex on it directly for deeper diagnosis.

Show full SKILL.md (313 more words)Show less
2e. Record result
json
{
  "project": "project-name",
  "path": "/full/path",
  "status": "OK | FIXED | ERROR",
  "errors_initial": 3,
  "errors_final": 0,
  "fixes_applied": ["added fontenc", "fixed tcolorbox title"],
  "warnings": 2,
  "undefined_citations": 0
}

Phase 3: Cross-Project Checks

After all projects are compiled:

  1. Symlink integrity — verify all symlinks in skills/, agents/, rules/, hooks/ resolve
  2. Shared .bib consistency — if multiple projects reference the same .bib file (e.g., via symlink), verify they're all pointing to the same version
  3. Overleaf separation — scan every paper/ directory for forbidden file types (.py, .R, .csv, .ipynb, etc.)
  4. Template consistency — check if projects using the working paper template have diverged from the current template version

Phase 4: Report

Generate a summary report:

LaTeX Health Check — YYYY-MM-DD

Projects scanned:  N
Compiled OK:       N (list)
Fixed and OK:      N (list + fixes applied)
Still broken:      N (list + remaining errors)
Skipped:           N (list + reason)

Cross-project issues:
  Broken symlinks:        N
  Overleaf violations:    N
  Template drift:         N

Warnings (not auto-fixed):
  Overfull hboxes:        N across M projects
  Underfull hboxes:       N across M projects

Print to stdout. If --save flag or 10+ projects scanned, also write to log/latex-health/YYYY-MM-DD.md.

4.1 Output verification (before commit)

When writing the report file, emit an outputs manifest and run the shared verifier per _shared/verify-outputs.md:

  1. Write manifest to <project>/.claude/state/outputs-manifest-<UTC-timestamp>.json listing every file written this invocation, paths relative to the project root.

  2. Run:

    bash
    uv run python "<skills-root>/_shared/verify_outputs.py" \
        --manifest "$MANIFEST" \
        --project-root "$PROJECT_ROOT"
  3. If the verifier exits non-zero, do not commit. Surface the missing-files list and stop.

Closes the "hallucinated outputs" failure class (commit b2cff75, 2026-04-18). Skip this sub-step entirely if --save was not passed and no log file was written.

What This Skill Does NOT Do

  • Does NOT fix overfull/underfull boxes (requires human judgment on rewording)
  • Does NOT modify paper content (only build configuration and missing packages)
  • Does NOT push to git (compilation fixes should be reviewed first)
  • Does NOT touch Overleaf-synced files without permission (per overleaf-separation rule)

Cross-References

SkillRelationship
latexSingle-project deep fix (5 iterations). This skill runs a lighter version (3 iterations) at fleet scale. For ERROR projects, recommend running latex directly.
latexCanonical .latexmkrc resolution, migration rules, and single-project deep compilation.
audit-project-researchChecks project structure (directories, files). This skill checks build health.
bib-validateValidates bibliography entries. This skill checks if citations compile.
latex-templateChecks preamble alignment with the working paper template. Complementary: run after health-check to ensure preamble consistency.

© flonat, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/latex-health-check of flonat/flonat-research.

Open the folder on GitHubat commit da27600

Compare with similar skills

Latex Health Check next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Latex Health Check compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Latex Health Check this skillflonat/flonat-research146—~2kAutomated safety check: PassMIT
Research Writingalfonso0512/research-writing-skill4901 repos~818Automated safety check: PassMIT
Paper WritingMLNLP-World/Paper-Writing-Tips4.7k—~630Automated safety check: PassNone
Evomath TaoEvoScientist/EvoSkills4782 repos~3.8kAutomated safety check: PassApache-2.0
PaperjurySpark-To-Paper-Skills/paperjury1.2k—~5.3kAutomated safety check: PassMIT
PDFzai-org/ZCode7.7k—~18kAutomated safety check: NotesProprietary

Similar skills

  • Research Writing

    alfonso0512/research-writing-skill

    科研论文写作助手,提供 30 个 Prompt 模板覆盖论文写作全流程. An agent skill from alfonso0512/research-writing-skill.

    490 GitHub starsUsed in 1 repo~818 tokens
    Documents & OfficeAuto-check passed
  • Paper Writing

    MLNLP-World/Paper-Writing-Tips

    学术论文写作检查与优化助手。基于 MLNLP-World 社区整理的论文写作技巧,帮助检查和优化学术论文。Use when: (1) 检查论文 LaTeX 格式和排版, (2) 优化公式符号使用, (3) 改进图表设计, (4) 润色英文学术表达, (5) 检查参考文献格式, (6) 投稿前终稿检查, (7) 用户询问论文写作技巧或规范。

    4.7k GitHub stars~630 tokensUpdated 15 days ago
    Documents & OfficeAuto-check passed
  • Evomath Tao

    EvoScientist/EvoSkills

    A skill your agent uses whenever the user submits a non-trivial mathematical claim that needs a rigorous proof or audit.

    478 GitHub starsUsed in 2 repos~3.8k tokens
    Documents & OfficeAuto-check passed
  • Paperjury

    Spark-To-Paper-Skills/paperjury

    Three modes for CS-conference papers (CVPR/ICCV/ECCV vision, ACL/EMNLP/NAACL NLP, ICLR/NeurIPS/ICML/AAAI ML).

    1.2k GitHub stars~5.3k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check passed
  • PDF

    zai-org/ZCode

    Professional PDF toolkit covering four production workflows: reports, creative visuals, academic LaTeX, and existing PDF processing.

    7.7k GitHub stars~18k tokensUpdated yesterday
    Documents & OfficeAuto-check: notes
  • Thesis Defense PPTX Builder

    zouchenzhen/thesis-defense-pptx-skill

    Builds an editable thesis defense PowerPoint from a thesis PDF or LaTeX project while preserving a supplied university or lab template, then runs a visual quality check.

    266 GitHub stars~2.4k tokensUpdated 4 mo ago
    Documents & OfficeAuto-check passed

More from flonat/flonat-research

All 83 skills in this repo
  • Latex Posters

    flonat/flonat-research

    Create a large-format academic poster in LaTeX using beamerposter, tikzposter, or baposter.

    146 GitHub stars~1.5k tokensUpdated 12 days ago
    Auto-check: notes
  • Skill Creator

    flonat/flonat-research

    Create, revise, and evaluate reusable AI workflow skills, including trigger-quality tests.

    146 GitHub stars~4.4k tokensUpdated 12 days ago
    Auto-check passed
  • DOCX

    flonat/flonat-research

    Create, read, edit, or convert Microsoft Word documents while preserving professional document structure.

    146 GitHub stars~1.2k tokensUpdated 12 days ago
    Auto-check passed
  • PDF

    flonat/flonat-research

    Read, create, combine, split, rotate, OCR, watermark, secure, or extract content from PDF files.

    146 GitHub stars~488 tokensUpdated 12 days ago
    Auto-check passed
  • Init Project Orchestration

    flonat/flonat-research

    Create or migrate project-level agents, repeatable project workflows, and planning state from one client-neutral contract, then render repository-scoped adapters for both Claude Code and Codex.

    146 GitHub stars~1.6k tokensUpdated 12 days ago
    Auto-check passed
  • Pre Commit Audit

    flonat/flonat-research

    Deliver a fast pre-commit safety scan: file size, anonymity (author / affiliation strings in tex/bib), hardcoded secrets, and invisible-Unicode carriers.

    146 GitHub stars~2.8k tokensUpdated 12 days ago
    Auto-check: notes

Works with

Questions about Latex Health Check

What does Latex Health Check do?

Compile all LaTeX projects and report cross-project build consistency. Latex Health Check is an agent skill from flonat/flonat-research. Compile all LaTeX projects and report cross-project build consistency.

When should I use Latex Health Check?

Latex Health Check fits situations like: checking whether a collection of papers builds cleanly; tasks that involve LaTeX.

How do I install Latex Health Check in Claude Code?

Run `npx skills add flonat/flonat-research --skill latex-health-check -a claude-code`. Or copy the skill folder (skills/latex-health-check in flonat/flonat-research) into .claude/skills/latex-health-check in your project. Claude Code loads it when a task matches its description.

How do I install Latex Health Check in Codex?

Run `npx skills add flonat/flonat-research --skill latex-health-check -a codex`. Or copy the skill folder (skills/latex-health-check in flonat/flonat-research) into .agents/skills/latex-health-check in your project. Codex loads it when a task matches its description.

Can I use Latex Health Check in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add flonat/flonat-research --skill latex-health-check -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/latex-health-check, .gemini/skills/latex-health-check, .github/skills/latex-health-check and .opencode/skills/latex-health-check in your project.

What does Latex Health Check need to run?

Going by SKILL.md and its folder, Latex Health Check needs the command-line tools its instructions call (uv). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Edit, Write, Glob, Grep, Bash(latexmk*), Bash(pdflatex*), Bash(biber*), Bash(bibtex*), Bash(ls*), Bash(mkdir*), Bash(cp*), Bash(cmp*), Bash(head*), Bash(ln*), Bash(wc*), Bash(readlink*).

Does Latex Health Check access the network?

SKILL.md contains no URLs. Its commands use uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Latex Health Check safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Latex Health Check use?

Latex Health Check is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Latex Health Check use?

About 2k tokens (SKILL.md is roughly 8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Latex Health Check?

Skills that share tags, products or a category with Latex Health Check: Research Writing (alfonso0512/research-writing-skill, 490 stars), Paper Writing (MLNLP-World/Paper-Writing-Tips, 4.7k stars), Evomath Tao (EvoScientist/EvoSkills, 478 stars) and Paperjury (Spark-To-Paper-Skills/paperjury, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Latex Health Check?

flonat (a GitHub user) maintains it in flonat/flonat-research, which has 146 GitHub stars. The repository holds 83 skills in this directory. The repository was last updated on September 29, 2026.

Source: flonat/flonat-research on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.