paper-figures
Skill15 starsChanged 9 days agoMITView on GitHub
Produce publication-quality figures for a cryptography paper in the house style (LNCS/ACM/IEEE sizes, Computer Modern or Times fonts, vector PDF, colour-blind-safe palette), starting from the pattern catalog and templates in figures/. Use when a paper needs a plot, a results table or a TikZ diagram, or when auditing existing figures before submission.
8 other projects use a version of this.
Adopted by
Most recently taken up by
- 70asunflower/70asunflower-skillstheir own version, first seen Nov 8, 2026
- eunomia-bpf/research-skillstheir own version, first seen Nov 8, 2026
- berkeley-humanoids/Skillstheir own version, first seen Oct 13, 2026
- berkeley-humanoids/skillstheir own version, first seen Oct 13, 2026
- Muuuun/luxastheir own version, first seen Oct 12, 2026
- xzAscC/xz_skillstheir own version, first seen Oct 3, 2026
Other versions8 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 8
- Muuuun/luxas★ 1.2ksame name
- EvoScientist/EvoSkills★ 481same name
- eunomia-bpf/research-skills★ 8same name
- berkeley-humanoids/skills★ 4same name
- berkeley-humanoids/Skills★ 4same name
- alfredzhang98/research-obsidian-skill★ 2same name
- 70asunflower/70asunflower-skills★ 1same name
- xzAscC/xz_skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository29 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- abstract-craftSkill
- anonymize-checkSkill
- artifact-packSkill
- baseline-pinSkill
- bench-protocolSkill
- bib-verifySkill
- camera-readySkill
- eprint-searchSkill
- experiments-writingSkill
- falsifySkill
- figure-harvestSkill
- idea-mining-loopSkill
- lean-bridgeSkill
- lit-matrixSkill
- log-to-evidenceSkill
- mock-reviewSkill
- paper-playbookSkill
- param-estimationSkill
- phase-gateSkill
- polish-writingSkill
- reading-notesSkill
- rebuttalSkill
- related-work-writingSkill
- sage-checkSkill
- technique-overviewSkill
- textbook-indexSkill
- venue-calibrationSkill
The file
We split this skill into the rules it gives an agent
4 rules. 0 are common, 3 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 7 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 18
State the claim first: Write the one sentence the figure must prove.
- Very specific: line 39
Size and font by venue: Call P.figure(venue, width="column"|"full"|fraction, aspect=...).
- Distinctive: line 47
Every series gets a marker or dash in addition to its colour.
- Distinctive: line 59
Link to evidence: Add the figure script path and the input data file to each EVIDENCE row whose number appears in the figure.
“Common” is measured: kept by at least 6 in 10 of the 7 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
paper-figures
Make every figure at final size, in vector, from logged data, with a stated
take-away. The toolkit lives in figures/: style sheets, palette.py,
16 matplotlib templates, 5 TikZ templates and PATTERNS.md.
When to use
- Phase P7 (Writing + Figures): turning
results/and EVIDENCE rows into figures. - Phase P8 (camera-ready): re-rendering for a different venue class, or fixing reviewer complaints ("figure unreadable in print", "legend covers data").
- Any time a figure is drafted with default matplotlib settings.
Procedure
- State the claim first. Write the one sentence the figure must prove. It becomes the first sentence of the caption. If no claim exists, the answer is probably a table (C16) or no figure at all.
- Pick the pattern from
figures/PATTERNS.md:- ratio vs. a reference → C1
- where the time goes → C2
- asymptotics → C3
- parameters → C4 or C14
- two competing costs → C5
- noise or depth → C6 or C7
- S-box properties → C8
- rounds and security margin → C9
- failure probability → C10
- approximation quality → C11
- regime change → C12
- linear-transform structure → C13
- a speed-up claim a sceptic may doubt → add C15
- a protocol or pipeline → D1 or D2
- Copy the template (
figures/templates/pNN_*.pyortikz/*.tex) into the project'spaper/figs/src/. Replace the synthetic arrays with loaders that readresults/*.csv|json. Never type numbers by hand. - Size and font by venue. Call
P.figure(venue, width="column"|"full"|fraction, aspect=...).- LNCS: 4.80 in (12.2 cm), Computer Modern.
- ACM: 3.33 / 7.00 in, Libertine or STIX.
- IEEE: 3.50 / 7.16 in, Times or STIX.
- In LaTeX,
\includegraphics[width=\textwidth](or\columnwidth) with no further scaling.
- Encode redundantly.
- Ours is
P.OURSand baselines useP.baseline_style(i). - Every series gets a marker or dash in addition to its colour.
- Categorical colours go in fixed order and never cycle past 8.
- Sequential data uses one hue. Diverging data is blue↔red with a grey midpoint.
- Ours is
- Label directly. End-of-line labels beat legends. Use one reference line with its name, not a bar. Print values only on the bars that carry the claim. Use a log axis once the range exceeds about 30×.
- Render and inspect.
python3 paper/figs/src/fig_x.py, then open the PNG. Check for:- label collisions and clipped text
- a legend covering data
- greyscale readability (
pdftoppm -gray -r 150 fig.pdf /tmp/g) - tick labels shown as
2^kfor powers of two
- Link to evidence. Add the figure script path and the input data file to each EVIDENCE row whose number appears in the figure.
- Run the checklist at the end of
PATTERNS.md, then commit the figure's PDF, its script and its data pointer.
Checklist (quick)
- Vector PDF with fonts embedded (
pdffonts fig.pdfshows no Type 3 fonts, unless usetex was used). - Final size, and 7–8 pt text that matches the caption font family.
- One y-axis, with units in both axis labels.
- Ours is blue, baselines are grey, and every series has a marker or dash.
- Readable in greyscale and by colour-blind readers. The palette passes
python3 figures/style/palette.py. - No pies, no 3-D, no rainbow colormaps, no coloured plot backgrounds, no titles inside the axes that duplicate the caption.
- Every number traces to EVIDENCE, and synthetic or toy content is labelled as such.
- The caption's first sentence is the take-away, and it defines all abbreviations.
- Tables use booktabs, mark the best value in bold, and use consistent decimals.
Tools
figures/style/palette.py:use,figure,size,line_style,baseline_style,direct_label,save,check_palette.figures/templates/run_all.pyrenders every template, which is useful as a smoke test after style edits.make -C figures/templates/tikzbuilds the TikZ diagrams.crypto-tikz.stycan be\usepackaged in a paper.
Anti-patterns seen in published crypto papers (in the harvested corpus)
- Pie charts used for stage breakdowns. Use C2 instead.
- Coloured plot backgrounds, bold sans-serif titles inside the axes, and default-library colours.
- Raster screenshots of plots that print at under 150 dpi.
- Speed-up claims shown without any run-to-run spread. Add C15.
- "Before" and "after" pipelines drawn with different layouts. Keep the layout identical and tint only the changed stage.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

