# Figure Style

Publication-grade figure correctness and legibility rules.

- Repository: https://github.com/HughYau/AcademicForge (2620 stars)
- Category: Testing
- License: Apache-2.0
- Last updated: 2026-08-30
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add HughYau/AcademicForge --skill figure-style -g -a claude-code -y`
Codex: `npx skills add HughYau/AcademicForge --skill figure-style -g -a codex -y`
Cursor: `npx skills add HughYau/AcademicForge --skill figure-style -g -a cursor -y`
Gemini CLI: `npx skills add HughYau/AcademicForge --skill figure-style -g -a gemini-cli -y`

## Description

Publication-grade figure correctness and legibility rules. Load before drawing any plot and call `apply_figure_style()`, sets a role-mapped font-size ladder, outward ticks, frameless legends, and 300-dpi output. The skill is a checklist, not a house look: data fidelity (claim-titles tested against every row, excluded data never enters summaries), label economy (floor and ceiling), colour threading, chart-choice-by-data-shape, layout, and a render-then-verify QA loop (bbox collision + per-panel perceptual check). Ships helpers: focal_palette, bar_with_points, strip_with_median, end_of_line_labels, panel_letter, set_frame, panel_crops. For multi-panel figures load `figure-composer`; for whole-paper figure arc load `paper-narrative`.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Publication-Grade Figure Rules

*A checklist for correct, legible, internally-consistent scientific figures. This
skill does not impose a visual house style, frame, font, and palette are
parameters. Load it and call `apply_figure_style()` before any plot.*

## §0 Scope

§1, §3, §8, and §9 are **correctness**, they apply to every plot, in every
context, and have no aesthetic content. §4, §7 are **guidance**, defaults that
produce a clean result but that a deliberate alternative can override
(individual rules inside §4, §7 that state a factual/perceptual invariant, e.g.
§4.4 semantic-zero centring, §4.5 CVD, §6.9 leader anchoring, still bind). On
its own, this skill is the inner tier (make one plot good); `figure-composer`
and `paper-narrative` supply multi-panel and whole-paper context.

---

## §1 Data fidelity & self-consistency

**1.1 Excluded rows.** A row marked excluded or flagged in the source data is
either omitted entirely or drawn with a visually distinct open/hatched marker
and named in the key. It **never** enters a summary statistic plotted alongside
the included rows.

**1.2 Comparable conditions only.** Arms measured under non-comparable
conditions (different N, epoch budget, initialisation, protocol) are not plotted
as visual peers. Separate them with a facet break or a marker on the label, and
state the difference once in the caption.

**1.3 Self-consistency.** Every key, threshold, and title inside the figure must
be satisfied by every plotted row. Before saving, walk each categorical outcome
label back to the rule that defines it; if a row's value contradicts its label
or the title, the figure is wrong, not the data.

**1.4 Claim-titles must be true.** A sentence-title (§5.1) is tested against
every category on the axis before rendering. If any contradicts it, qualify the
title ("on 3 of 4 pairs") or downgrade it to a description.

The rest: https://github.com/HughYau/AcademicForge/blob/HEAD/skills/claude-science/figure-style/SKILL.md
