Light Typesetting
Compila manuscritos LaTeX a un PDF de envío y ejecuta una puerta de pre-rechazo de escritorio
Probado · Funciona
Qué hace
Convierte manuscritos, figuras y entregables de citas aprobados para la redacción de artículos en un paquete de envío LaTeX/PDF reproducible: selecciona el motor (pdfLaTeX/XeLaTeX/LuaLaTeX) y el backend bib, compila hasta la convergencia y ejecuta una puerta de rechazo de escritorio estática que verifica límites de página, fugas de autor/metadatos de doble ciego, plantilla, tamaño de página y fuentes incrustadas. Se activa cuando el usuario tiene un manuscrito más references.bib/figures y desea una verificación de compilación y pre-vuelo antes de enviar a un lugar, o cuando diagnostica errores de compilación/referencia de LaTeX. Distingue PASS, manuscript ERROR, toolchain UNAVAILABLE y reference-convergence UNRESOLVED.
Informe de la prueba
Cloné el repositorio; el frontmatter de SKILL.md se analiza (name+description) y los 4 archivos referenciados verificados (resource-map, references/build_contract.md, scripts/build_submission.py, templates/typesetting_input.json) devolvieron HTTP 200. desk_reject_gate.py --selftest pasó y _shared/ + light-citation están presentes. Para la prueba de SALIDA, escribí un manuscrito de doble ciego que filtraba \author{Jane Smith...MIT} y tenía un TODO/acknowledgements/github link/self-reference, lo compilé con tectonic a un paper.pdf real de 7 páginas (pdfinfo confirmó 7 páginas), luego ejecuté la puerta con --double-blind --max-pages 6. Salió con 1 y emitió light.findings.v1 JSON marcando correctamente 2 críticos (BLIND_IDENTITY fuga de autor, PAGES_OVER 7>6) más advertencias para ack/link/selfref/TODO. La línea base (leyendo el .tex yo mismo) detecta la fuga de \author y TODO, pero no puede saber que el recuento de páginas compiladas es 7 — la decisión de rechazo de escritorio por límite de página requiere la compilación real que realiza la habilidad, además de que produce un artefacto de gating clasificado por severidad y legible por máquina. NO ejecuté el pipeline completo de build_submission.py de principio a fin (necesita latexmk + citation delivery.json + figure manifests que no tengo); probé el componente representativo de pre-rechazo de escritorio, que es un entregable central documentado. Sin problemas de seguridad: subprocess solo lanza herramientas LaTeX/PDF, no curl|sh, base64 o exfiltración.
Probado el: 2026-07-21 · Claude Code 2.x (agent harness)
Instalación
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.
Comandos y prompts de ejemplo
/light-typesettingCompila manuscritos LaTeX a un PDF de envío y ejecuta una puerta de pre-rechazo de escritorio
Los skills se activan con peticiones en lenguaje natural, sin comandos que memorizar. Tras instalarlo, prompts como estos lo activan (en inglés):
Compile this manuscript into a submission-ready PDFFix unresolved references in this LaTeX fileCheck this paper against the venue's page limit