Tikz Figure Code
0xE1337/thesis-figure-skill
写出高质量、一次过编译、编辑安全的 TikZ/LaTeX 配图代码的工程基础技能. An agent skill from 0xE1337/thesis-figure-skill.
Inspect a cleanly compiling LaTeX document for source pathologies and rendered visual defects by linting and viewing selected PDF pages.
$ npx skills add flonat/flonat-research --skill latex-polish -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install flonat/flonat-research latex-polish --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/flonat/flonat-research.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/latex-polish .claude/skills/latex-polish && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "latex-polish" agent skill from https://github.com/flonat/flonat-research/tree/main/skills/latex-polish into .claude/skills/latex-polish/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "latex-polish", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/flonat/flonat-research/tree/main/skills/latex-polishType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add flonat/flonat-research --skill latex-polish -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install flonat/flonat-research latex-polish --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/flonat/flonat-research.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/latex-polish .agents/skills/latex-polish && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "latex-polish" agent skill from https://github.com/flonat/flonat-research/tree/main/skills/latex-polish into .agents/skills/latex-polish/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "latex-polish", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add flonat/flonat-research --skill latex-polish -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install flonat/flonat-research latex-polish --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/flonat/flonat-research.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/latex-polish .cursor/skills/latex-polish && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "latex-polish" agent skill from https://github.com/flonat/flonat-research/tree/main/skills/latex-polish into .cursor/skills/latex-polish/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "latex-polish", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/flonat/flonat-research.git --path skills/latex-polish--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add flonat/flonat-research --skill latex-polish -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install flonat/flonat-research latex-polish --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/flonat/flonat-research.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/latex-polish .gemini/skills/latex-polish && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "latex-polish" agent skill from https://github.com/flonat/flonat-research/tree/main/skills/latex-polish into .gemini/skills/latex-polish/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "latex-polish", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install flonat/flonat-research latex-polishInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add flonat/flonat-research --skill latex-polish -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/flonat/flonat-research.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/latex-polish .github/skills/latex-polish && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "latex-polish" agent skill from https://github.com/flonat/flonat-research/tree/main/skills/latex-polish into .github/skills/latex-polish/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "latex-polish", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add flonat/flonat-research --skill latex-polish -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install flonat/flonat-research latex-polish --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/flonat/flonat-research.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/latex-polish .opencode/skills/latex-polish && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "latex-polish" agent skill from https://github.com/flonat/flonat-research/tree/main/skills/latex-polish into .opencode/skills/latex-polish/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "latex-polish", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
latex-polishInspect a cleanly compiling LaTeX document for source pathologies and rendered visual defects by linting and viewing selected PDF pages.
Latex Polish is an agent skill from flonat/flonat-research. Inspect a cleanly compiling LaTeX document for source pathologies and rendered visual defects by linting and viewing selected PDF pages. Use when compilation succeeds but title pages, floats, tables, figures, or layout still need publication-quality review. Not for basic compilation health; use $latex-health-check.
Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/quality-rubric.md` and `references/vision-prompts.md`).
It sits in Documents & Office, covering LaTeX and Linting and formatting. It works with LaTeX. The repository describes itself as: Shareable Claude Code + Codex infrastructure for PhD researchers — skills, agents, hooks, and rules for academic workflows. The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit da27600. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
Bash(ls*mkdir*cp*pdftoppm*pdftocairo*pdfinfo*grep*sed*awk*find*…and 15 more on the same allowed-tools line.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pdftoppmbrewFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Latex Polish loads about 2.3k tokens when it runs, and up to ~5k if it reads all its reference files. Until then it costs about 82 tokens; SKILL.md has 913 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from flonat/flonat-research at commit da27600, republished under its MIT licence (© flonat). 913 words, ~2,279 tokens.
.claude/skills/latex-polish/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Heavier-weight visual-quality review than
latex. Combines the Phase 4 source-pathology lint with vision-model inspection of selected rendered PDF pages. Designed to catch the failure class thatlatexPhase 4 source-grep misses: blank pages, clipped tables, illegible shrunken figures, weird title-page line spacing that the regex couldn't fingerprint, bad float placement, overlap.
latex reports a clean build but something still "looks weird"| Need | Use instead |
|---|---|
| Compile-fix loop | latex |
| Citation audit | latex (Phase 5) or bib-validate |
| Prose / academic-argument review | proofread |
| Single-figure analysis | figure-feedback |
| Continuous integration | This skill renders + vision-inspects pages; too expensive to run on every save |
.tex path — auto-discovered or user-provided. Prefer the user's argument.<project>/<basename>.pdf (per latex convention). If absent or older than .tex, the skill aborts and suggests latex first.--no-vision — skip the vision-rendering phases (Page rendering onward), run the source-pathology lint only.--pages auto|N,N,N — page selection override. Default auto.latex first..tex path. If a directory was given, find main.tex or single .tex inside.<dirname>/<basename without .tex>.pdf. If missing or older than .tex, abort with: "Stale or missing PDF — run latex first."pdftoppm is on PATH. If not, abort with install hint (brew install poppler on macOS).mktemp -d /tmp/latex-polish.XXXXXX. Track this as $RENDER_DIR.latex)Run the 9 grep-based source-pathology detectors from <skills-root>/latex/references/source-pathologies.md, plus chktex and latexindent -k if installed. Collect findings into a structured list.
This phase is identical to latex Phase 4 and is rerun here for self-containment (so latex-polish can be invoked without a prior latex run).
Determine which pages to vision-inspect. Default auto:
| Page | Why | Mandatory if available |
|---|---|---|
| 1 | Title / cover — high-stakes visual real estate; title-page failure mode is common | Yes |
| Page containing any overfull vbox > 50pt | Vertical overflow is almost always visually broken | Yes |
| Page containing the largest overfull hbox | The "worst" horizontal overflow seen | Yes |
| First page containing a table | Tables produce the most common visual pathologies | Yes |
| First page containing a figure | Same | If figures exist |
| Last body page before bibliography | Catches widow/orphan and end-of-content layout issues | If pages > 5 |
| Bibliography page 1 | Citation formatting + hanging indent regressions | If bib exists |
If overfull-box locations are not known (no log file or out/main.log missing), skip those entries. Cap total at 8 pages; if the selection would exceed 8, drop the lowest-priority entries.
Pull overfull-box page locations by reading <project>/out/<basename>.log:
awk '/Overfull \\(v|h)box/ { for(i=1;i<=NF;i++) if($i ~ /\[[0-9]+\]/) print substr($i,2,length($i)-2) }' out/main.log | sort -uFor each candidate page, also record WHY it was selected (used to pick the right vision-prompt later).
for P in $SELECTED_PAGES; do
pdftoppm -r 150 -f $P -l $P -png "$PDF" "$RENDER_DIR/page-$P"
done150 DPI is enough for layout analysis without ballooning file sizes. Each PNG lands at $RENDER_DIR/page-<N>-<P>.png (pdftoppm pads the page number).
For each rendered page, Read the PNG and apply the per-page-type prompt from references/vision-prompts.md:
Each Read produces a structured finding list per page. Output schema per page:
Page N (selection reason: "title page" | "overfull at L<line>" | …):
- Finding 1: <one-sentence description> [Tier: Major/Moderate/Minor]
- Finding 2: …
Verdict: PASS / NOTES / REVISEIf --no-vision was passed, skip Phases 3–5 entirely.
Write the polish report to <project>/reviews/<paper-slug>/latex-polish/<YYYY-MM-DD-HHMM>.md (per rules/review-artefact-routing.md), where <paper-slug> is the paper being reviewed (e.g. paper-jtp, paper-philtech):
# LaTeX Polish Report — YYYY-MM-DD HH:MM
**Document:** <path>
**PDF age:** <minutes/hours since last build>
**Pages rendered for vision:** N
**Source detectors run:** 9 grep + chktex + latexindent
## Source pathologies (Phase 2)
<table from Phase 4 spec>
## Per-page vision findings (Phase 5)
### Page 1 — title
<verdict and findings>
### Page <N> — <reason>
<verdict and findings>
...
## Consolidated verdict
PASS / NOTES / REVISE — based on the worst finding tier across both phases.
## Suggested remediations
<prioritised list, max 10 items>Read references/quality-rubric.md. Compute deductions across:
latex rubric)Verdict thresholds per skills/shared/quality-scoring.md. Append the Score Block to the report.
If Phase 2 detects a Pattern-1 (spacing-hack) issue, the report includes an **Offer:** block:
**Offer:** Wrap `<env-name>` in `\begin{singlespace}…\end{singlespace}` and delete the negative kerns at L<N1>, L<N2>. Apply? (Y/N)Wait for explicit user approval. If yes, apply via narrow Edit calls and recompile via latexmk. If no, leave the report as-is. Do not silently apply.
This is the only auto-fix offered. All other findings are report-only.
latex-polish does NOT dolatex first)proofread covers that)latex Phase 5 or bib-validate)figure-feedback for standalone figure-file analysis| Skill / File | Relationship |
|---|---|
latex | Compile + Phase 4 grep lint + citation audit. latex-polish is the deeper sibling for visual-quality review. |
figure-feedback | Vision pattern this skill reuses for per-page analysis |
proofread | Prose / argument review; non-overlapping concern |
<skills-root>/latex/references/source-pathologies.md | Shared detector catalogue |
rules/review-artefact-routing.md | Where the polish report is filed |
rules/manuscript-edit-budget.md | Why this skill is report-only by default |
© flonat, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in skills/latex-polish of flonat/flonat-research.
Open the folder on GitHubat commit da27600
Latex Polish next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Latex Polish this skillflonat/flonat-research | 146 | — | ~2.3k | Automated safety check: Pass | MIT | |
| Tikz Figure Code0xE1337/thesis-figure-skill | 144 | 1 repos | ~1.2k | Automated safety check: Pass | MIT | |
| Research Writingalfonso0512/research-writing-skill | 490 | 1 repos | ~818 | Automated safety check: Pass | MIT | |
| Paper WritingMLNLP-World/Paper-Writing-Tips | 4.7k | — | ~630 | Automated safety check: Pass | None | |
| Evomath TaoEvoScientist/EvoSkills | 478 | 2 repos | ~3.8k | Automated safety check: Pass | Apache-2.0 | |
| PaperjurySpark-To-Paper-Skills/paperjury | 1.2k | — | ~5.3k | Automated safety check: Pass | MIT |
0xE1337/thesis-figure-skill
写出高质量、一次过编译、编辑安全的 TikZ/LaTeX 配图代码的工程基础技能. An agent skill from 0xE1337/thesis-figure-skill.
alfonso0512/research-writing-skill
科研论文写作助手,提供 30 个 Prompt 模板覆盖论文写作全流程. An agent skill from alfonso0512/research-writing-skill.
MLNLP-World/Paper-Writing-Tips
学术论文写作检查与优化助手。基于 MLNLP-World 社区整理的论文写作技巧,帮助检查和优化学术论文。Use when: (1) 检查论文 LaTeX 格式和排版, (2) 优化公式符号使用, (3) 改进图表设计, (4) 润色英文学术表达, (5) 检查参考文献格式, (6) 投稿前终稿检查, (7) 用户询问论文写作技巧或规范。
EvoScientist/EvoSkills
A skill your agent uses whenever the user submits a non-trivial mathematical claim that needs a rigorous proof or audit.
Spark-To-Paper-Skills/paperjury
Three modes for CS-conference papers (CVPR/ICCV/ECCV vision, ACL/EMNLP/NAACL NLP, ICLR/NeurIPS/ICML/AAAI ML).
zouchenzhen/thesis-defense-pptx-skill
Builds an editable thesis defense PowerPoint from a thesis PDF or LaTeX project while preserving a supplied university or lab template, then runs a visual quality check.
flonat/flonat-research
Create a large-format academic poster in LaTeX using beamerposter, tikzposter, or baposter.
flonat/flonat-research
Create, revise, and evaluate reusable AI workflow skills, including trigger-quality tests.
flonat/flonat-research
Create, read, edit, or convert Microsoft Word documents while preserving professional document structure.
flonat/flonat-research
Read, create, combine, split, rotate, OCR, watermark, secure, or extract content from PDF files.
flonat/flonat-research
Create or migrate project-level agents, repeatable project workflows, and planning state from one client-neutral contract, then render repository-scoped adapters for both Claude Code and Codex.
flonat/flonat-research
Deliver a fast pre-commit safety scan: file size, anonymity (author / affiliation strings in tex/bib), hardcoded secrets, and invisible-Unicode carriers.
Works with
Categories
Inspect a cleanly compiling LaTeX document for source pathologies and rendered visual defects by linting and viewing selected PDF pages. Latex Polish is an agent skill from flonat/flonat-research. Inspect a cleanly compiling LaTeX document for source pathologies and rendered visual defects by linting and viewing selected PDF pages.
Latex Polish fits situations like: compilation succeeds but title pages; layout still need publication-quality review.
Run `npx skills add flonat/flonat-research --skill latex-polish -a claude-code`. Or copy the skill folder (skills/latex-polish in flonat/flonat-research) into .claude/skills/latex-polish in your project. Claude Code loads it when a task matches its description.
Run `npx skills add flonat/flonat-research --skill latex-polish -a codex`. Or copy the skill folder (skills/latex-polish in flonat/flonat-research) into .agents/skills/latex-polish in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add flonat/flonat-research --skill latex-polish -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/latex-polish, .gemini/skills/latex-polish, .github/skills/latex-polish and .opencode/skills/latex-polish in your project.
Going by SKILL.md and its folder, Latex Polish needs the command-line tools its instructions call (pdftoppm and brew). Its frontmatter pre-approves these tools: Bash(ls*, mkdir*, cp*, pdftoppm*, pdftocairo*, pdfinfo*, grep*, sed*, awk*, find*, chktex*, latexindent*, cat*, head*, tail*, wc*, sort*, uniq*, rm*, mktemp*), Read, Write, Edit, Glob, Grep.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Latex Polish is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.7k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Latex Polish: Tikz Figure Code (0xE1337/thesis-figure-skill, 144 stars), Research Writing (alfonso0512/research-writing-skill, 490 stars), Paper Writing (MLNLP-World/Paper-Writing-Tips, 4.7k stars) and Evomath Tao (EvoScientist/EvoSkills, 478 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
flonat (a GitHub user) maintains it in flonat/flonat-research, which has 146 GitHub stars. The repository holds 83 skills in this directory. The repository was last updated on September 29, 2026.
Source: flonat/flonat-research on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.