Light Typesetting
Compiles LaTeX manuscripts to a submission PDF and runs a desk-reject preflight gate
Test report
- Verdict
- Tested · Works
- Score
- 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-typesettingCompiles 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.