skills/latex-layout-issue-bundler/SKILL.md
Create repo-local LaTeX layout issue bundles from a PDF page, crop, source snippet, and compile log. Use when the user wants to avoid manual PDF screenshots, capture page-specific layout problems, or hand Codex/Claude Code a reproducible paper layout debugging artifact.
npx skillsauth add a-green-hand-jack/ml-research-skills latex-layout-issue-bundlerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create a reproducible layout issue bundle instead of relying on one-off manual screenshots.
Use this skill when:
This skill produces evidence for another skill to consume; it does not directly fix the paper.
Bundles live under the paper repo:
.agent/layout-issues/<issue-id>/
├── prompt.md
├── manifest.json
├── page-<NN>.png # when a PDF renderer is available
├── crop.png # when rendering and crop tools are available
├── page-<NN>.txt # when pdftotext is available
├── source-snippet.tex # when a source file and line range are provided
└── compile-log-excerpt.txt # when a log path is provided or detected
These are agent-private artifacts by default. Do not commit them to author-visible, anonymous-submission, arXiv, camera-ready, or publisher-visible paper source unless the user explicitly wants a sanitized debug artifact published.
Resolve the installed skill directory, then run:
python3 <latex-layout-issue-bundler-skill-dir>/scripts/create_layout_issue_bundle.py \
--paper-dir "$PAPER_DIR" \
--pdf "$PAPER_DIR/main.pdf" \
--page 7 \
--title "Algorithm 2 bottom gap" \
--problem "Large blank space after Algorithm 2 before the following paragraph." \
--object "Algorithm 2 and lines 247-255" \
--source "$PAPER_DIR/sections/method.tex:247-255" \
--crop bottom
The script prints the bundle path.
--paper-dir: paper repo root or paper worktree root.--pdf: rendered PDF path.--page: 1-indexed PDF page number.--title: short issue title used for the issue id when --issue-id is omitted.--problem: what looks wrong visually.--object: affected object or paragraph, such as Algorithm 2, Table 1, or lines 247-255.--source: optional path:start-end source pointer.--crop: optional crop preset or rectangle:
top, bottom, left, right, centerx,y,w,h in pixels--log: optional compile log path. If omitted, the script tries <pdf-stem>.log..agent/layout-issues/<issue-id>/prompt.md.submit-paper, paper-writing-assistant, or a fresh reviewer/sidecar session.The script uses tools only when available:
pdftoppm renders a PDF page to PNG.pdftotext extracts page text.magick or convert crops the rendered PNG.Missing tools are recorded in manifest.json; they are not treated as fatal if the bundle still has useful context.
Do not record local absolute tool paths or machine-specific TeX installation facts in the paper repo. Tool availability is runtime state.
When consuming a bundle, follow the submit-paper layout debugging policy:
\sloppy, \emergencystretch, global paragraph, or global float-spacing changes unless the whole paper has a documented style issuetesting
Bootstrap project-local ml-research-skills. Use from global installs when creating a new ML research project, enabling this collection in an existing ML research repo, or deciding whether to install the full bundle locally. Route to project-init for new projects; do not handle paper or experiment work directly.
development
Route project operations tasks — git, memory, bootstrap, remote, workspace, code review, timeline, ops — to the correct skill. Use when the task involves commits, pushes, worktrees, project memory, enabling project-local skills, SSH/server coordination, sidecar runners, or audits. Do not solve the ops task directly.
testing
Route ML/AI paper writing tasks to the correct skill — contract planning, prose drafting, section writing, consistency editing, review simulation, rebuttal, submission, or citation work. Use when the task involves writing, revising, reviewing, or submitting a paper instead of guessing between paper-writing-assistant, paper-writing-contract-planner, paper-reviewer-simulator, auto-paper-improvement-loop, or citation skills. Do not draft prose directly.
data-ai
Project-local router for ML research skill selection. Use inside an initialized ML research project, or while maintaining this skill repo, when the user describes an ML research/paper/experiment/discovery/ops/release workflow and may not know the skill; route to a domain router or high-signal leaf. Do not use for generic non-ML projects.