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
- Chanw-research/claude-code-paper-writingedited, first seen May 10, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 1
- Chanw-research/claude-code-paper-writing★ 4294% same
Wrote their own version · 0
None found.
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 repository26 other files it gives its agents.
- anti-defensive-writingSkill
- citation-verifierSkill
- claim-source-verificationSkill
- data-availabilitySkill
- draft-marker-disciplineSkill
- manuscript-optimizerSkill
- paper-bootstrapSkill
- paper-workflowSkill
- rebuttal-responseSkill
- results-section-revisionSkill
- review-article-architectureSkill
- scientific-prose-styleSkill
- scientific-writingSkill
- stats-reporting-auditSkill
- submission-auditSkill
- write-scientific-manuscriptSkill
- figure-styleSkill
- nature-figureSkill
- academic-presentationsSkill
- conference-paper-writingSkill
- reference-audit-guideSkill
- academic-researcherSkill
- paper-analyzerSkill
- results-analysisSkill
- paper-reviewerSkill
- nature-portfolio-playbookSkill
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
- Distinctive: line 10
Use this skill when the bottleneck is no longer sentence writing but figure logic.
- Distinctive: line 16
Use this skill when:
- Distinctive: line 23
Do not use this skill for:
- Distinctive: line 32
If a figure cannot be summarized by one clean sentence, either:
- Distinctive: line 49
Do not let one panel pretend to do three jobs at once.
- Distinctive: line 53
Write the single-sentence claim of the figure.
- Distinctive: line 63
Check that the Results subsection matches the same panel logic.
- Distinctive: line 67
Keep in the main figure:
- Distinctive: line 90
avoid interpretation that is stronger than the plotted evidence
- Distinctive: line 107
After the figure logic is stable, run one visual-hygiene pass:
- Distinctive: line 109
keep figure-internal fonts consistent and close to the manuscript's reading scale
- Distinctive: line 110
prefer vector graphics for plots, diagrams, and schematic panels when possible
- Distinctive: line 111
use a restrained palette; keep the same category in the same color family
- Distinctive: line 112
avoid accidental salience from one panel or module being much darker or brighter unless that emphasis is deliberate
- Distinctive: line 115
keep arrow direction and symbol conventions consistent when the figure is showing flow or process
- Very specific: line 152
Use text.usetex = True only when LaTeX is installed and math-rich labels are required.
- Very specific: line 165
Never mix regimes in one script.
- Distinctive: line 173
When a figure needs a fixed, print-friendly palette, this warm Nature-style set works well for Nature Communications and similar journals.
- Distinctive: line 225
When using this skill, produce:
≈ “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.
Files
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
- Write the single-sentence claim of the figure.
- List the minimum panels needed to support that claim.
- Assign each panel one role.
- Decide which panel is the anchor panel:
- the panel the Results paragraph should revolve around
- Move secondary detail to:
- another figure
- the supplement
- the legend
- Rewrite the figure title and legend to match the actual claim.
- 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 doubleUse 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 blueNATURE_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 resultWhen 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
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.

