Ccf Figuresmith Skills banner
jackiectl2 jackiectl2

Ccf Figuresmith Skills

Data community

Description

A Claude Code skill for producing paper-submission figures: matplotlib data figures driven by a results JSON, and conceptual diagrams generated into draw.io. Enforces true-printed-size layout, an automatic QA gate, mandatory visual inspection, and verification on the compiled LaTeX page.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

ccf-figuresmith-skills

A Claude Code skill for producing the figures that go into a real paper submission. Built and debugged on an actual TRB submission, so every rule in it traces to a failure that reached a draft at least once.

![data figures](examples/data-track.png) ![diagram](examples/diagram-track.png)

*Both produced by the bundled templates: `assets/figstyle.py` and `assets/build_drawio_skeleton.py`, each run as its own smoke test.*

What it covers

Both figure populations a paper has, which need completely different tools but the same discipline:

  • Data figures (Results): matplotlib, driven by a results file, laid out at the true printed size and gated by a bounding-box QA check that measures every label's rendered box, every panel's alignment, and the palette's actual colour-vision separation.
  • Conceptual diagrams (Intro / Method): a script that emits draw.io XML, gated by a text-fit check, with an icon set and helpers for grouping, branching, and feedback loops.

Deliverable for both is a **PNG** — 400 dpi from matplotlib, or exported from an editable `.drawio` source. Vector output is one flag away when a venue demands it.

The shared discipline is what makes it work: generate rather than hand-make, lay out at the true printed size, gate automatically, **look at the rendered raster**, iterate more than once, then verify on the compiled page.

It also covers the part before any of that: `references/results-repertoire.md` is about enumerating how many different true things one results file can say, because a results section with three near-identical bar charts usually failed at that step rather than at the drawing.

**Delivery branches inside the skill, and the default is local.** It checks the git remote. For an ordinary local or GitHub repo it finishes at a local commit and does not push. If it finds `git.overleaf.com` it says so and asks, defaulting to not publishing, and only then reads `references/overleaf.md`. A project wi