nice-figures AGENTS.md

A style guide and helper for making research and scientific figures with Matplotlib and NumPy. It defines a visual register with pastel colours, bold titles, softened trends, rounded bars, and publication-ready output.

In plain words
What is it for?
Use it to create trend charts, bar charts, heatmaps, receiver-operating-characteristic plots, distributions, scaling laws, forest plots, and other listed research figures.
Why use it?
It gives agents consistent rules and reusable plotting recipes instead of requiring each figure to be designed from scratch. The guidance helps produce charts suitable for papers, conferences, and research blogs.

Instructions file for CodexOpenCode

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/mapika/nice-figures/agents-md
Clone the repo
git clone --depth 1 https://github.com/Mapika/nice-figures

Made for: Codex, OpenCode.

Per session 837 This file is loaded in full into every session.
When invoked 837 The same file — it is already loaded in full.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00837 $0.00837
Opus 5 $0.00418 $0.00418
Sonnet 5 $0.00167 $0.00167
Haiku 4.5 $0.00084 $0.00084

Measured 2d ago against content hash 09401de341aa, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

nice-figures AGENTS.md scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

curl -O https://raw.githubusercontent.com/Mapika/nice-figures/main/plugins/nice-figures/skills/nice-figures/scripts/soft_style.py
AGENTS.md · 73 lines

How it starts

The opening of the file, as written. The whole thing — 73 lines — stays where its author put it; the contents beside it link to each section on GitHub.

nice-figures — instructions for AI agents

This repo provides a matplotlib visual register for scientific and research-blog figures: bold display titles, soft pastel palettes, smoothed trends with shaded bands, signature rounded bars, minimal axes. White background by default — output is conference- and paper-ready (PDFs embed Type 42 fonts).

If you are an agent asked to produce a plot in this style — or just a good-looking research figure — follow this file. It is the agent-agnostic equivalent of the Claude Code skill in plugins/nice-figures/skills/nice-figures/SKILL.md.

Get the style helper

Either of:

pip install git+https://github.com/Mapika/nice-figures   # import soft_style
# or copy the single file (matplotlib + numpy only):
curl -O https://raw.githubusercontent.com/Mapika/nice-figures/main/plugins/nice-figures/skills/nice-figures/scripts/soft_style.py

Workflow

  1. Pick the closest archetype from chart_recipes.md — 16 tested, copy-paste-runnable recipes (trend bands, rounded bars, heatmaps, ROC, distributions, scaling laws, forest plots, Pareto fronts, …). Copy it and adapt only what's necessary.
  2. Call configure_style() before any plotting (scale=0.75 for single-column paper figures).
  3. Export with save_figure(fig, name) → PDF + PNG at 300 dpi.
  4. Render, then look at the PNG with your vision capability before delivering. Check: legend not covering data (top_legend() exists for this), every multi-series plot has a legend or colorbar, nothing clipped, tick labels not colliding. Fix and re-render until clean. This step catches what running the code cannot.

Hard rules of the register

  • Bar charts use rounded_bars() / rounded_hbars(), never plain ax.bar() — and axis limits are set before calling them.
  • Titles via figure_title() (bold), panel labels via panel_subtitle().
  • One palette per figure (LINE_PALETTE, BAR_PALETTE, MULTILINE_PALETTE); CMAP_GRADIENT + colorbar for 6+ ordered series.
  • No grid; bottom + left spines only; no pure-black text (use NEUTRAL["ink"] for error bars and emphasis lines).
  • White background unless the user explicitly wants the cream blog look.

Read the full file on GitHub · 73 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 73 lines · 837 tokens per session scan A 09401de341aa

Subscribe to this mod's changes

nice-figures AGENTS.md is an instructions file published in the GitHub repository Mapika/nice-figures (10 stars, last pushed 2mo ago), licensed MIT. It adds 837 tokens to every session, about $0.0042 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.