Light Typesetting
Kompiliert LaTeX-Manuskripte zu einem Einreichungs-PDF und führt eine Desk-Reject-Vorabprüfung durch
Getestet · Funktioniert
Was es kann
Wandelt genehmigte Manuskripte, Abbildungen und Zitationslieferungen in ein reproduzierbares LaTeX/PDF-Einreichungspaket um: wählt die Engine (pdfLaTeX/XeLaTeX/LuaLaTeX) und das Bib-Backend aus, kompiliert bis zur Konvergenz und führt eine statische Desk-Reject-Prüfung durch, die Seitenbegrenzungen, Double-Blind-Autor/Metadaten-Lecks, Vorlage, Seitengröße und eingebettete Schriftarten überprüft. Wird ausgelöst, wenn der Benutzer ein Manuskript plus references.bib/Abbildungen hat und eine Kompilierungs- und Vorabprüfung vor der Einreichung bei einem Veranstaltungsort wünscht oder wenn LaTeX-Kompilierungs-/Referenzfehler diagnostiziert werden. Unterscheidet PASS, Manuskript ERROR, Toolchain UNAVAILABLE und Referenz-Konvergenz UNRESOLVED.
Testbericht
Das Repository geklont; SKILL.md Frontmatter wird geparst (name+description) und alle 4 stichprobenartig überprüften referenzierten Dateien (resource-map, references/build_contract.md, scripts/build_submission.py, templates/typesetting_input.json) lieferten HTTP 200. desk_reject_gate.py --selftest bestand und _shared/ + light-citation sind vorhanden. Für den OUTPUT-Test schrieb ich ein Double-Blind-Manuskript, das \author{Jane Smith...MIT} preisgibt und einen TODO/Danksagungen/GitHub-Link/Selbstreferenz enthält, kompilierte es mit tectonic zu einem echten 7-seitigen paper.pdf (pdfinfo bestätigte 7 Seiten) und führte dann das Gate mit --double-blind --max-pages 6 aus. Es beendete mit Exit-Code 1 und gab light.findings.v1 JSON aus, das korrekt 2 kritische Fehler (BLIND_IDENTITY Autoren-Leak, PAGES_OVER 7>6) sowie Warnungen für Danksagungen/Link/Selbstreferenz/TODO kennzeichnete. Die Basislinie (das .tex selbst lesen) fängt das \author-Leak und TODO ab, kann aber die kompilierte Seitenzahl von 7 nicht kennen – die Desk-Reject-Entscheidung zur Seitenbegrenzung erfordert die tatsächliche Kompilierung, die der Skill durchführt, und liefert ein maschinenlesbares, nach Schweregrad klassifiziertes Gating-Artefakt. Die vollständige build_submission.py-Pipeline wurde NICHT End-to-End ausgeführt (benötigt latexmk + citation delivery.json + Abbildungsmanifeste, die ich nicht habe); der repräsentative Desk-Reject-Preflight-Komponente wurde getestet, die ein dokumentiertes Kernlieferobjekt ist. Keine Sicherheitsmängel: subprocess startet nur LaTeX/PDF-Tools, kein curl|sh, base64 oder Exfiltration.
Getestet am: 2026-07-21 · Claude Code 2.x (agent harness)
Installation
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.
Befehle & Beispiel-Prompts
/light-typesettingKompiliert LaTeX-Manuskripte zu einem Einreichungs-PDF und führt eine Desk-Reject-Vorabprüfung durch
Skills reagieren auf normale Anfragen — keine Slash-Befehle nötig. Nach der Installation aktivieren Prompts wie diese den Skill (auf Englisch):
Compile this manuscript into a submission-ready PDFFix unresolved references in this LaTeX fileCheck this paper against the venue's page limit