Light Typesetting
Compila manoscritti LaTeX in un PDF di sottomissione ed esegue un controllo preliminare di rifiuto
Promosso
Cosa fa
Trasforma manoscritti, figure e materiali di citazione approvati per la scrittura di articoli in un bundle di sottomissione LaTeX/PDF riproducibile: seleziona il motore (pdfLaTeX/XeLaTeX/LuaLaTeX) e il backend bib, compila fino alla convergenza ed esegue un controllo preliminare statico di rifiuto che verifica i limiti di pagina, le fughe di autore/metadati in doppio cieco, il template, la dimensione della pagina e i font incorporati. Si attiva quando l'utente ha un manoscritto più references.bib/figure e desidera un controllo di compilazione e pre-volo prima di inviare a una sede, o quando diagnostica errori di compilazione/riferimento LaTeX. Distingue PASS, ERROR del manoscritto, UNAVAILABLE della toolchain e UNRESOLVED della convergenza dei riferimenti.
Rapporto di test
Ho clonato il repository; il frontmatter di SKILL.md si analizza (name+description) e tutti e 4 i file di riferimento controllati a campione (resource-map, references/build_contract.md, scripts/build_submission.py, templates/typesetting_input.json) hanno restituito HTTP 200. desk_reject_gate.py --selftest è passato e _shared/ + light-citation sono presenti. Per il test OUTPUT ho scritto un manoscritto in doppio cieco che rivela \author{Jane Smith...MIT} e ha un TODO/acknowledgements/github link/self-reference, l'ho compilato con tectonic in un vero paper.pdf di 7 pagine (pdfinfo ha confermato 7 pagine), quindi ho eseguito il gate con --double-blind --max-pages 6. È uscito con codice 1 e ha emesso light.findings.v1 JSON segnalando correttamente 2 criticità (fuga di autore BLIND_IDENTITY, PAGES_OVER 7>6) più avvisi per ack/link/selfref/TODO. La base (leggendo il .tex da solo) cattura la fuga di \author e il TODO ma non può sapere che il conteggio delle pagine compilate è 7 — la decisione di rifiuto del limite di pagina richiede la compilazione effettiva che la skill esegue, inoltre produce un artefatto di gating classificato per gravità leggibile dalla macchina. NON ho eseguito l'intera pipeline build_submission.py end-to-end (richiede latexmk + citation delivery.json + manifest di figure che non ho); ho testato il componente rappresentativo di pre-volo di rifiuto, che è un deliverable fondamentale documentato. Nessun problema di sicurezza: il subprocess avvia solo strumenti LaTeX/PDF, nessun curl|sh, base64 o esfiltrazione.
Testato il: 2026-07-21 · Claude Code 2.x (agent harness)
Installazione
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.
Comandi e prompt di esempio
/light-typesettingCompila manoscritti LaTeX in un PDF di sottomissione ed esegue un controllo preliminare di rifiuto
Gli skill si attivano con richieste in linguaggio naturale, senza comandi da ricordare. Dopo l'installazione, prompt come questi lo attivano (in inglese):
Compile this manuscript into a submission-ready PDFFix unresolved references in this LaTeX fileCheck this paper against the venue's page limit