agentleFS
Boom5426Boom5426/Nature-Paper-Skills/skills/core/figure-planner/SKILL.md

figure-planner

Skill661 starsChanged 35 days agoMITView on GitHub

Use when designing, restructuring, or auditing manuscript figures and you need to define one main claim per figure, assign panel roles, align legends with the text, or decide what belongs in main figures versus supplement.

1 other project uses a version of this, 1 of them edited.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

19 rules. About 0 are common, 17 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈17

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use this skill when the bottleneck is no longer sentence writing but figure logic.

    line 10
  2. Distinctive:

    Use this skill when:

    line 16
  3. Distinctive:

    Do not use this skill for:

    line 23
  4. Distinctive:

    If a figure cannot be summarized by one clean sentence, either:

    line 32
  5. Distinctive:

    Do not let one panel pretend to do three jobs at once.

    line 49
  6. Distinctive:

    Write the single-sentence claim of the figure.

    line 53
  7. Distinctive:

    Check that the Results subsection matches the same panel logic.

    line 63
  8. Distinctive:

    Keep in the main figure:

    line 67
  9. Distinctive:

    avoid interpretation that is stronger than the plotted evidence

    line 90
  10. Distinctive:

    After the figure logic is stable, run one visual-hygiene pass:

    line 107
  11. Distinctive:

    keep figure-internal fonts consistent and close to the manuscript's reading scale

    line 109
  12. Distinctive:

    prefer vector graphics for plots, diagrams, and schematic panels when possible

    line 110
  13. Distinctive:

    use a restrained palette; keep the same category in the same color family

    line 111
  14. Distinctive:

    avoid accidental salience from one panel or module being much darker or brighter unless that emphasis is deliberate

    line 112
  15. Distinctive:

    keep arrow direction and symbol conventions consistent when the figure is showing flow or process

    line 115
  16. Very specific:

    Use text.usetex = True only when LaTeX is installed and math-rich labels are required.

    line 152
  17. Very specific:

    Never mix regimes in one script.

    line 165
  18. Distinctive:

    When a figure needs a fixed, print-friendly palette, this warm Nature-style set works well for Nature Communications and similar journals.

    line 173
  19. Distinctive:

    When using this skill, produce:

    line 225

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Figure Planner

Overview

Use this skill when the bottleneck is no longer sentence writing but figure logic. The goal is to make each figure carry a defensible scientific job, keep the panel set coherent, and ensure that the legend and Results text tell the same story.

This skill is narrower than manuscript-optimizer. Use manuscript-optimizer when the whole paper structure is unstable. Use figure-planner when the central issue is what each figure should prove and how each panel should function.

When To Use

Use this skill when:

  • a figure feels overloaded, fragmented, or hard to summarize
  • the paper has too many Results subsections driven by panel count
  • it is unclear what belongs in the main figure versus the supplement
  • legends, panel letters, and Results text may have drifted apart
  • you need to redesign figure titles or panel grouping around claims rather than around plotting convenience

Do not use this skill for:

  • low-level visual styling only
  • final proofreading without figure changes
  • manuscript-wide claim restructuring that exceeds the figures themselves

Core Rule

Each main figure should earn its place by carrying one dominant claim.

If a figure cannot be summarized by one clean sentence, either:

  • split it,
  • demote part of it to the supplement,
  • or rewrite the figure around a clearer claim.

Panel Roles

Assign each panel one primary role before writing the legend or Results paragraph:

  • claim-supporting evidence
  • methodological bridge or definition
  • validation under a new regime
  • ranking or benchmark comparison
  • translational or practical consequence
  • case illustration
  • null or negative result, stated as a finding

Do not let one panel pretend to do three jobs at once.

Planning Order

  1. Write the single-sentence claim of the figure.
  2. List the minimum panels needed to support that claim.
  3. Assign each panel one role.
  4. Decide which panel is the anchor panel:
    • the panel the Results paragraph should revolve around
  5. Move secondary detail to:
    • another figure
    • the supplement
    • the legend
  6. Rewrite the figure title and legend to match the actual claim.
  7. Check that the Results subsection matches the same panel logic.

Main Figure Versus Supplement

Keep in the main figure:

  • the panels required to establish the core claim
  • the key comparison readers must see immediately
  • the panel that defines a new metric, decomposition, or evaluation regime when that definition is part of the argument

Move to the supplement:

  • robustness variants
  • denser method-by-method comparisons
  • extended cases
  • secondary ablations
  • additional examples that support but do not define the main claim
  • interface, compatibility or eligibility matrices (which methods accept which inputs, which cohorts pass a check): an SI table or one Methods sentence. They explain why a bar is missing; a main panel answers a scientific question

Legend Rules

Legends should do more than decode axes.

Each legend should:

  • define the role of each panel
  • preserve the key quantitative anchors omitted from the compressed main text
  • stay consistent with panel letters, metrics, datasets, and baselines
  • avoid interpretation that is stronger than the plotted evidence
  • carry no interpretation defences ("not selected by", "listed for completeness", "should not be compared"); state the fact that sets comparability instead (a different panel, a different n)
  • explain a counterintuitive value positively, by saying what the quantity is (for example, an inclusion-exclusion overlap can be slightly negative)
  • name a Source Data file only if one is supplied

Figure Arc

Across a paper, Figure 1 renders the paper's one-sentence pitch as data: scope, not architecture. Later figures carry mechanism, evidence, robustness and application. Judge each panel against the paper's pitch as well as its own figure's claim, and move content between figures when that is where the story needs it. figure-style rule 7.5 points here (figure-style is part of the figure stack, installed with --figure).

Visual Hygiene Pass

After the figure logic is stable, run one visual-hygiene pass:

  • keep figure-internal fonts consistent and close to the manuscript's reading scale
  • prefer vector graphics for plots, diagrams, and schematic panels when possible
  • use a restrained palette; keep the same category in the same color family
  • avoid accidental salience from one panel or module being much darker or brighter unless that emphasis is deliberate
  • trim dead margins and unnecessary whitespace around panels
  • reduce text load inside the figure; let shapes, alignment, and grouping do more of the explanatory work
  • keep arrow direction and symbol conventions consistent when the figure is showing flow or process
  • borrow proven table or panel arrangements as layout references when useful, but do not inherit conference-template clutter by default

Common Failure Modes

  • one figure trying to carry multiple unrelated claims
  • panel order following plotting chronology instead of argument logic
  • methodological bridge panels described as generic motivation
  • Results text claiming something the legend or panel does not support
  • supplementary figures cited too vaguely when one panel is doing the real work
  • keeping weak auxiliary metrics at headline level instead of demoting them
  • inconsistent figure typography, whitespace, or color logic making the scientific comparison harder to read

Nature-Style Enhancements

Matplotlib Figure Standards

For figures targeting Nature or similar high-impact journals, apply the following rcParams:

import matplotlib.pyplot as plt

MM = 1 / 25.4

plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['font.sans-serif'] = ['Arial']
plt.rcParams['svg.fonttype'] = 'none'          # editable text in SVG
plt.rcParams['pdf.fonttype'] = 42              # editable TrueType text in PDF
plt.rcParams['font.size'] = 7                  # 5-7 pt at final printed size
plt.rcParams['axes.spines.right'] = False
plt.rcParams['axes.spines.top'] = False
plt.rcParams['axes.linewidth'] = 0.8           # 0.75-1 pt at final printed size
plt.rcParams['legend.frameon'] = False

fig = plt.figure(figsize=(89 * MM, 60 * MM))   # single column; 183 mm double

Use text.usetex = True only when LaTeX is installed and math-rich labels are required.

Print scale versus design scale

The numbers above are print scale: the canvas is the printed panel, so every size is the size the reader sees. This is the default and the safer regime.

You will also meet figures authored at design scale, where the canvas is S times the printed width and the export is downscaled into the column. A common choice is S around 4, which turns font.size = 24 into 6.1 pt on the page and axes.linewidth = 3 into 0.76 pt. Those values are legal, but only after the division. Two rules follow:

  • Never mix regimes in one script. Pick S, state it in a comment, and divide every absolute size by it.
  • Design scale only exports raster. If the figure is line art, use print scale and export vector, because a downscaled PNG of a bar chart is a raster of something that should have stayed a vector.

Nature-Style Palette

When a figure needs a fixed, print-friendly palette, this warm Nature-style set works well for Nature Communications and similar journals. Give the baseline or reference series terracotta, then walk down the list for the remaining categories, keeping one category in one color family:

#C96144  terracotta (baseline / reference)   #99C290  light green
#E99D4E  amber                                #C0BEDC  light purple
#5185C0  blue                                 #8EA9D4  light blue
#8281B9  purple                               #F2CB9F  light amber
#55966B  green                                #99AABB  grey-blue
#FFB3C1  pink        #FFD3E0  light pink       #87CEEB  sky blue
NATURE_PALETTE = [
    "#C96144", "#E99D4E", "#5185C0", "#8281B9", "#55966B",
    "#99C290", "#C0BEDC", "#8EA9D4", "#F2CB9F", "#99AABB",
    "#FFB3C1", "#FFD3E0", "#87CEEB",
]

def nature_assign(labels, baseline=None):
    """Map labels to palette colors, one distinct color per label.

    The baseline/reference series gets terracotta and the rest walk the palette
    in order. Raises rather than reusing a color: two series sharing one color
    silently breaks the figure's color threading.
    """
    has_baseline = baseline is not None and baseline in labels
    available = NATURE_PALETTE[1:] if has_baseline else NATURE_PALETTE
    others = [label for label in labels if label != baseline]
    if len(others) > len(available):
        raise ValueError(
            f"{len(others)} series but only {len(available)} distinct colors "
            "available; group related series into one color family, or move "
            "some of them to a separate panel"
        )
    result, idx = {}, 0
    for label in labels:
        if has_baseline and label == baseline:
            result[label] = NATURE_PALETTE[0]
        else:
            result[label] = available[idx]
            idx += 1
    return result

When to Use

  • Figures for papers, slides, or reports targeting Nature, NeurIPS, ICLR, or similar venues.
  • Requests involving grouped bars, trend lines, heatmaps, radar plots, multi-panel grids, or PDF/SVG/high-DPI output.
  • Any mention of "Nature style", "publication figure", "paper figure", or "high-quality scientific plot".

Output Standard

When using this skill, produce:

  • the figure's one-sentence claim
  • the proposed panel list with roles
  • what stays in the main figure versus what moves to supplement
  • the legend logic
  • the visual-hygiene notes that still need attention
  • the matching Results subsection title or topic sentence

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.