Light Typesetting
Kompilerar LaTeX-manuskript till en inlämnings-PDF och kör en desk-reject preflight-grind
Testad · Fungerar
Vad den gör
Omvandlar godkända manuskript, figurer och citeringsleveranser till ett reproducerbart LaTeX/PDF-inlämningspaket: väljer motor (pdfLaTeX/XeLaTeX/LuaLaTeX) och bib-backend, kompilerar till konvergens och kör en statisk desk-reject-grind som kontrollerar sidgränser, dubbelblinda författar-/metadata-läckor, mall, sidstorlek och inbäddade typsnitt. Utlöses när användaren har ett manuskript plus references.bib/figurer och vill ha en kompilering-och-preflight-kontroll innan inlämning till en plats, eller vid diagnos av LaTeX-kompilerings-/referensfel. Skiljer mellan PASS, manuskript ERROR, toolchain UNAVAILABLE och reference-convergence UNRESOLVED.
Testrapport
Klonade arkivet; SKILL.md frontmatter parsas (name+description) och alla 4 punktkontrollerade refererade filer (resource-map, references/build_contract.md, scripts/build_submission.py, templates/typesetting_input.json) returnerade HTTP 200. desk_reject_gate.py --selftest passerade och _shared/ + light-citation finns. För OUTPUT-testet skrev jag ett dubbelblint manuskript som läcker \author{Jane Smith...MIT} och har en TODO/acknowledgements/github-länk/självreferens, kompilerade det med tectonic till en verklig 7-sidig paper.pdf (pdfinfo bekräftade 7 sidor), och körde sedan grinden med --double-blind --max-pages 6. Det avslutades med 1 och sände ut light.findings.v1 JSON som korrekt flaggade 2 kritiska (BLIND_IDENTITY författarläcka, PAGES_OVER 7>6) plus varningar för ack/länk/självreferens/TODO. Baslinjen (att läsa .tex själv) fångar \author-läckan och TODO men kan inte veta att det kompilerade sidantalet är 7 — beslutet om sidgränsens desk-reject kräver den faktiska kompilering som färdigheten utför, plus att den ger en maskinläsbar allvarlighetsklassificerad gating-artefakt. Körde INTE hela build_submission.py-pipelinen från början till slut (behöver latexmk + citation delivery.json + figurmanifest som jag inte har); testade den representativa desk-reject preflight-komponenten, som är en dokumenterad kärnleverans. Inga säkerhetsbrister: subprocess startar endast LaTeX/PDF-verktyg, ingen curl|sh, base64 eller exfiltrering.
Testad: 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.
Kommandon och exempelprompter
/light-typesettingKompilerar LaTeX-manuskript till en inlämnings-PDF och kör en desk-reject preflight-grind
Skills triggas av vanliga förfrågningar — inga kommandon att memorera. Efter installationen aktiverar prompter som dessa skillen (på engelska):
Compile this manuscript into a submission-ready PDFFix unresolved references in this LaTeX fileCheck this paper against the venue's page limit