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.
npx agentmods add skills/muuuun/luxas/matplotlib-figuresnpx skills add Muuuun/luxas --skill matplotlib-figuresgit clone --depth 1 https://github.com/Muuuun/luxasWhat 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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00079 | $0.01464 |
| Opus 5 | $0.00039 | $0.00732 |
| Sonnet 5 | $0.00016 | $0.00293 |
| Haiku 4.5 | $0.00008 | $0.00146 |
Grade A, and why
matplotlib-figures scanned grade A with 0 findings 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 3d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 100 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Matplotlib Figures Skill
Step 0 — data figures go through figspec (mandatory for agents)
python3 <luxas_root>/skills/matplotlib-figures/scripts/figspec <name>.figspec.json renders a
declarative spec (series as CSV references, one highlight, reference lines, bands) through a fixed
template that owns style, marker policy, occupancy-aware label placement and legends. Grammar:
references/figspec_schema.md. The archetype/figlint workflow below remains for figure classes
the spec cannot express (dot matrices, comparison planes); a plain y(x) figure written in raw
matplotlib by an agent is a defect.
All generated figures MUST be publication-quality: load a venue-matched style, save as vector PDF, use colorblind-safe palettes.
3-step workflow
Step 1 — Set up the figure style (once per project)
When you have determined the target venue, copy BOTH the matching matplotlib style template AND the domain style guide to your project (half-upgrading only the mplstyle recreates the figstyle/guide palette divergence). Your brain prompt supplies the venue-specific directory as {{VENUE_SPECIFIC_DIR}}:
cp {{VENUE_SPECIFIC_DIR}}figstyles/<style>.mplstyle report/figstyle.mplstyle
cp <luxas_root>/skills/figure/style_guides/<domain>.md report/figures/style_guide.md
Style map:
| Venue | Style file | Notes |
|---|---|---|
| Physics (PRL, PRX, APS journals) | physics-aps.mplstyle |
CM fonts, LaTeX, 600 DPI |
| CS conferences (NeurIPS, ICML, ICLR) | cs-conferences.mplstyle |
sans-serif, 300 DPI |
| Nature / Science / Cell / PNAS | nature-science.mplstyle |
Arial, compact, 300 DPI |
| Chemistry (JACS, ACS journals) | chemistry-acs.mplstyle |
Arial, 300 DPI |
Step 2 — Use the style in all plotting code
import matplotlib.pyplot as plt
plt.style.use('report/figstyle.mplstyle')
Step 3 — Save as PDF (vector), not PNG
fig.savefig('report/figures/fig_name.pdf')
Archetype-first workflow (mandatory)
Do NOT write a figure from scratch. references/ holds polished archetypes —
each embodies the design language (references/DESIGN.md) and passes figlint:
What ships with it
11 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- lint_hook/figlint_core.py 8.9 KB runs code
- lint_hook/figplace.py 5.2 KB runs code
- lint_hook/sitecustomize.py 3.0 KB runs code
- references/archetype_comparison.py 4.6 KB runs code
- references/archetype_matrix.py 2.3 KB runs code
- references/archetype_scan.py 2.3 KB runs code
- references/DESIGN.md 2.4 KB
- references/figspec_schema.md 4.1 KB
- scripts/figlint 2.7 KB
- scripts/figlint-pdf 14 KB
- scripts/figspec 22 KB
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.
- 3d ago First seen · 100 lines · 79 tokens per session scan A 2300ad2c8bf4
matplotlib-figures is a skill published in the GitHub repository Muuuun/luxas (924 stars, last pushed 3d ago), licensed MIT. It adds 79 tokens to every session and 1,464 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
research-rigor
蒙多科研辩证思维引擎 — 将顶级期刊(Nature/Science/Cell)级别的科研严谨性注入蒙多的每一个任务。 核心方法论:盲假设协议 + 证据质量Rubric + 跨模型对审 + 观察生命周期 + 校准反馈循环。 适用场景:论文写作、实验设计、数据分析、方案论证、技术选型、架构评审、任何需要严谨推理的任务。 触发词:科研/辩证/严谨/论证/假设/验证/实验/review/peer review/方案对比/技术选型/架构评审。 灵感来源:cheat-on-content (XBuilderLAB) 的校准预测循环方法论。.
nature-academic-search
Multi-source literature search, citation verification, MeSH search strategy, citation file management (.nbib/.ris/.bib conversion), and reference management (BibTeX, related articles, ID conversion) via MCP tools (PubMed, CrossRef, arXiv). Use when the user needs coordinated multi-step literature workflows beyond a…
nature-response
Draft, audit, or revise point-by-point reviewer response letters for Nature-family manuscript revisions. Use when the user provides reviewer comments, editor decision letters, revision notes, response drafts, or asks how to respond to major/minor revision requests, rebuttal letters, response to reviewers, peer-review…
nature-writing
Draft, restructure, or plan Nature-style manuscript sections from author-provided claims, results, figures, notes, or Chinese drafts. Use when the user wants to write or rebuild an abstract, introduction, results narrative, discussion, conclusion, title, or full manuscript argument rather than only polish finished…
sparse-autoencoder-training
Provides guidance for training and analyzing Sparse Autoencoders (SAEs) using SAELens to decompose neural network activations into interpretable features. Use when discovering interpretable features, analyzing superposition, or studying monosemantic representations in language models.
jupyter-live-kernel
Use a live Jupyter kernel for stateful, iterative Python execution via hamelnb. Load this skill when the task involves exploration, iteration, or inspecting intermediate results — data science, ML experimentation, API exploration, or building up complex code step-by-step. Uses terminal to run CLI commands against a…