Light Typesetting

Compiles LaTeX manuscripts to a submission PDF and runs a desk-reject preflight gate

Tested · Works

Test report

Verdict
Tested · Works
Score
8.4/10
Tested
Jul 21, 2026
Environment
Claude Code 2.x (agent harness)
Upstream re-checked
Aug 10, 2026 · 454b3db

Cloned the repo; SKILL.md frontmatter parses (name+description) and all 4 spot-checked referenced files (resource-map, references/build_contract.md, scripts/build_submission.py, templates/typesetting_input.json) returned HTTP 200. desk_reject_gate.py --selftest passed and _shared/ + light-citation are present. For the OUTPUT test I wrote a double-blind manuscript that leaks \author{Jane Smith...MIT} and has a TODO/acknowledgements/github link/self-reference, compiled it with tectonic to a real 7-page paper.pdf (pdfinfo confirmed 7 pages), then ran the gate with --double-blind --max-pages 6. It exited 1 and emitted light.findings.v1 JSON correctly flagging 2 criticals (BLIND_IDENTITY author leak, PAGES_OVER 7>6) plus warnings for ack/link/selfref/TODO. Baseline (reading the .tex myself) catches the \author leak and TODO but cannot know the compiled page count is 7 — the page-limit desk-reject decision requires the actual compile the skill performs, plus it yields a machine-readable severity-classified gating artifact. Did NOT run the full build_submission.py pipeline end-to-end (needs latexmk + citation delivery.json + figure manifests I don't have); tested the representative desk-reject preflight component, which is a documented core deliverable. No security smells: subprocess only launches LaTeX/PDF tools, no curl|sh, base64, or exfiltration.

Scored on four weighted criteria — install, triggering, output vs. baseline, docs. How scoring works

  • Installs cleanly 5/5
  • Triggers reliably 5/5
  • Output vs. baseline 7/10
  • Docs & honesty 4/5

What Light Typesetting does

Turns approved paper-writing manuscripts, figures, and citation deliverables into a reproducible LaTeX/PDF submission bundle: selects the engine (pdfLaTeX/XeLaTeX/LuaLaTeX) and bib backend, compiles to convergence, and runs a static desk-reject gate that checks page limits, double-blind author/metadata leaks, template, page size, and embedded fonts. Triggers when the user has a manuscript plus references.bib/figures and wants a compile-and-preflight check before submitting to a venue, or when diagnosing LaTeX compile/reference errors. Distinguishes PASS, manuscript ERROR, toolchain UNAVAILABLE, and reference-convergence UNRESOLVED.

How to install Light Typesetting

git clone --depth 1 https://github.com/Light0305/Light-skills.git /tmp/light-typesetting-src
mkdir -p ~/.claude/skills
cp -R /tmp/light-typesetting-src/skills/light-typesetting ~/.claude/skills/light-typesetting
# Requires: python3 + a LaTeX distro (TeX Live / MacTeX / MiKTeX / TinyTeX) OR `tectonic`; optional pdfinfo/pdffonts (poppler) for page-count/font checks.
# submission_check.py + desk_reject_gate.py run on Python stdlib alone (no LaTeX needed for the static desk-reject scan).
# NOTE: full desk-reject findings JSON and the cross-skill \cite<->.bib audit resolve `_shared/` and `skills/light-citation/` by walking UP the repo tree. Copying only this dir degrades those gracefully (submission_check critical scan still runs). For full functionality clone the whole repo into your skills dir instead:
#   cp -R /tmp/light-typesetting-src ~/.claude/skills/light-skills   # then reference skills/light-typesetting/SKILL.md
# Script command examples in SKILL.md are written in PowerShell (backtick line-continuation); on macOS/Linux use `\` continuations.

Skills live in ~/.claude/skills/ (global) or .claude/skills/ (per-project). Restart Claude Code after installing.

Commands — how to trigger Light Typesetting

  • /light-typesetting Compiles LaTeX manuscripts to a submission PDF and runs a desk-reject preflight gate

It also activates on plain-language prompts like these:

  • Compile this manuscript into a submission-ready PDF
  • Fix unresolved references in this LaTeX file
  • Check this paper against the venue's page limit

Frequently asked questions

Is the Light Typesetting skill free?
Yes. The skill itself is free from Light0305/Light-skills. SkillProof publishes the install command and an independent test verdict at no cost.
Does Light Typesetting work with Claude Code?
We tested it with Claude Code 2.x (agent harness) on Jul 21, 2026. Verdict: Tested · Works. Cloned the repo; SKILL.md frontmatter parses (name+description) and all 4 spot-checked referenced files (resource-map, references/build_contract.md, scripts/build_submission.py, templates/typesetting_input.json) returned HTTP 200. desk_reject_gate.py --selftest passed and _shared/ + light-citation are present. For the OUTPUT test I wrote a double-blind manuscript that leaks \author{Jane Smith...MIT} and has a TODO/acknowledgements/github link/self-reference, compiled it with tectonic to a real 7-page paper.pdf (pdfinfo confirmed 7 pages), then ran the gate with --double-blind --max-pages 6. It exited 1 and emitted light.findings.v1 JSON correctly flagging 2 criticals (BLIND_IDENTITY author leak, PAGES_OVER 7>6) plus warnings for ack/link/selfref/TODO. Baseline (reading the .tex myself) catches the \author leak and TODO but cannot know the compiled page count is 7 — the page-limit desk-reject decision requires the actual compile the skill performs, plus it yields a machine-readable severity-classified gating artifact. Did NOT run the full build_submission.py pipeline end-to-end (needs latexmk + citation delivery.json + figure manifests I don't have); tested the representative desk-reject preflight component, which is a documented core deliverable. No security smells: subprocess only launches LaTeX/PDF tools, no curl|sh, base64, or exfiltration.
What is the Light Typesetting SkillProof Score?
8.4/10 — installs cleanly 5/5, triggers reliably 5/5, output vs. baseline 7/10, docs & honesty 4/5.
How do I install Light Typesetting?
Copy the install command from this page, run it in your terminal, and restart Claude Code. Skills live in ~/.claude/skills/ (global) or .claude/skills/ inside a project.
Can I use Light Typesetting with Cursor, Copilot, Gemini CLI, Codex or other AI tools?
The SKILL.md format is native to Claude (Claude Code, Desktop, claude.ai). The instructions inside adapt to other assistants: Cursor rules, GitHub Copilot instructions, Windsurf rules, Custom GPTs, AGENTS.md for OpenAI Codex, and GEMINI.md for Google Gemini CLI — our conversion guides cover each, and the free converter on the tools page does the wrapping for you.