$npx -y skills add Boom5426/Nature-Paper-Skills --skill figure-stylePublication-grade figure correctness and legibility rules for final-deliverable figures — not every plot. Quick look or iterating on the analysis (EDA scatters, sanity-check histograms)? Plot plainly without this skill. Producing a figure that ships — report, paper, export, or ke
| 1 | # Publication-Grade Figure Rules |
| 2 | |
| 3 | *A checklist for correct, legible, internally-consistent scientific figures. This |
| 4 | skill does not impose a visual house style — frame, font, and palette are |
| 5 | parameters. Once loaded, call `apply_figure_style()` before plotting.* |
| 6 | |
| 7 | ## Dependencies |
| 8 | |
| 9 | The prose checklist (§0–§9) is dependency-free: it is guidance you apply by hand. |
| 10 | The `kernel.py` helpers require `matplotlib`, `numpy`, and `scipy` |
| 11 | (`scipy.stats.t`, used by `bar_with_points(errorbar="ci95")` for the |
| 12 | t-distribution 95% CI). In a plain skill install the helpers are **not** |
| 13 | auto-loaded by a host kernel; load them explicitly before calling |
| 14 | `apply_figure_style()` and the other helpers, e.g. `exec(open("kernel.py").read())` |
| 15 | or import the module (`import kernel`). |
| 16 | |
| 17 | ## §0 Scope |
| 18 | |
| 19 | **Load trigger:** this skill is for **final-deliverable figures** — those |
| 20 | shipping in a report, paper, or export, or saved as an artifact the user will |
| 21 | keep — not for exploratory/intermediate plots (quick looks, EDA, sanity checks), |
| 22 | which are drawn plainly without it. Once loaded, "every plot" below means every |
| 23 | plot you render toward the deliverable. |
| 24 | |
| 25 | §1–§3, §8, and §9 are **correctness** — they apply to every plot, in every |
| 26 | context, and have no aesthetic content. §4–§7 are **guidance** — defaults that |
| 27 | produce a clean result but that a deliberate alternative can override |
| 28 | (individual rules inside §4–§7 that state a factual/perceptual invariant — e.g. |
| 29 | §4.4 semantic-zero centering, §4.5 CVD, §6.9 leader anchoring — still bind). On |
| 30 | its own, this skill is the inner tier (make one plot good); `figure-planner` |
| 31 | supplies per-figure planning (one claim per figure, panel roles) and |
| 32 | `nature-figure` supplies the full multi-panel, whole-paper production workflow. |
| 33 | |
| 34 | --- |
| 35 | |
| 36 | ## §1 Data fidelity & self-consistency |
| 37 | |
| 38 | **1.1 Excluded rows.** A row marked excluded or flagged in the source data is |
| 39 | either omitted entirely or drawn with a visually distinct open/hatched marker |
| 40 | and named in the key. It **never** enters a summary statistic plotted alongside |
| 41 | the included rows. |
| 42 | |
| 43 | **1.2 Comparable conditions only.** Arms measured under non-comparable |
| 44 | conditions (different N, epoch budget, initialization, protocol) are not plotted |
| 45 | as visual peers. Separate them with a facet break or a marker on the label, and |
| 46 | state the difference once in the caption. |
| 47 | |
| 48 | **1.3 Self-consistency.** Every key, threshold, and title inside the figure must |
| 49 | be satisfied by every plotted row. Before saving, walk each categorical outcome |
| 50 | label back to the rule that defines it; if a row's value contradicts its label |
| 51 | or the title, the figure is wrong, not the data. |
| 52 | |
| 53 | **1.4 Claim-titles must be true.** A sentence-title (§5.1) is tested against |
| 54 | every category on the axis before rendering. If any contradicts it, qualify the |
| 55 | title ("on 3 of 4 pairs") or downgrade it to a description. |
| 56 | |
| 57 | **1.5 State n and what was held fixed.** Every panel that draws a summary mark |
| 58 | states `n` and the unit of replication, and every small-multiple that holds a |
| 59 | variable fixed states the fixed value — in the panel or, when §2 budget is |
| 60 | tight, in the caption. |
| 61 | |
| 62 | **1.6 Reference structure is reference.** A tree, ordering, or topology drawn as |
| 63 | *context* (a scale bar, a category strip) uses an established reference, not |
| 64 | one inferred from the plotted data. Infer the structure only when the structure |
| 65 | *is* the result. |
| 66 | |
| 67 | **1.7 One number per claim.** A quantitative claim (runtime, accuracy, count) |
| 68 | has exactly one canonical value across every panel, caption, and the abstract. |
| 69 | Define what it measures and use that value everywhere. |
| 70 | |
| 71 | --- |
| 72 | |
| 73 | ## §2 Label economy — floor and ceiling |
| 74 | |
| 75 | The figure shows the pattern; the **caption** carries the context. Design for a |
| 76 | general scientific reader, not the author. |
| 77 | |
| 78 | **2.1 Floor (non-removable).** Every distinct mark, series, glyph, or comparator |
| 79 | must be identifiable from the figure alone. The caption explains *why it |
| 80 | matters*, not *what it is*. A label is non-remov |