CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

matplotlib

Low-level plotting library for full customization. Use when you need fine-grained control over every plot element, creating novel plot types, or integrating with specific scientific workflows. Export to PNG/PDF/SVG for publication. For quick statistical plots use seaborn; for interactive plots use plotly; for publication-ready multi-panel figures with journal styling, use scientific-visualization.

64

Quality

80%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./backend/cli/skills/visualization/matplotlib/SKILL.md

The canonical home for this skill is matplotlib in administrakt0r/AI-Agents-Safe-Coding-Skills

SKILL.md
Quality
Evals
Security

Quality

Content

67%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is a well-structured, largely executable matplotlib guide with good progressive disclosure to real one-level-deep reference files and scripts. Its main cost is token efficiency: roughly half the body (core concepts, interface comparison, basic plot-type one-liners, 3D basics, integration notes) restates knowledge Claude already has and duplicates the reference files.

Suggestions

Cut the 'Core Concepts' and 'Two Interfaces' sections down to a one-line recommendation to use the OO interface, and drop the trivial plot-type one-liners in favor of a pointer to references/plot_types.md — Claude already knows matplotlib basics.

Make the workflow snippets fully self-contained by defining the placeholder data (x, y, categories, values, X, Y, Z) or replacing them with a short numpy line so code is copy-paste runnable.

Trim the 'Integration with Other Tools' and 'Additional Resources' sections to two or three links; the matplotlib homepage/gallery/cheatsheet URLs are knowledge Claude already has.

DimensionReasoningScore

Conciseness

The body is code-dense with no fluffy prose, but it re-teaches baseline matplotlib knowledge Claude already has: the Figure/Axes/Artist hierarchy, pyplot vs OO interfaces with `plt.plot([1, 2, 3, 4])` examples, one-liner recipes for line/scatter/bar/hist plots, basic rcParams font sizes, and textbook 3D plotting — that is more than 'some unnecessary explanation' (the 3 anchor) but well short of the severely padded 1/2 anchors. It sits between 2 and 3 and above the midpoint because sections like Best Practices, Common Gotchas, and the DPI guidance are genuinely distilled.

3 / 5

Actionability

Most guidance is executable copy-paste code — the single-plot workflow, subplot_mosaic/GridSpec layouts, savefig options, and annotation examples are complete. It is not a 5 because several snippets depend on undefined placeholders (`x, y1, y2`, `categories, values`, `matrix`, `X, Y, Z`), so they are not fully runnable as-is.

4 / 5

Workflow Clarity

The single-plot workflow gives a clear create → plot → customize → save sequence and the subplot/styling/export sections follow a coherent order. This is a reference-style skill with no destructive or batch operations, so the validation cap does not apply, but explicit checkpoints (e.g., verifying the saved output) are absent, keeping it below the 5 anchor.

4 / 5

Progressive Disclosure

The bundle structure is solid: all four reference files and both scripts exist, are referenced from the body with inline pointers ("For comprehensive plot type examples... refer to references/plot_types.md", "For detailed styling options... see references/styling_guide.md"), are summarized in a Detailed References section, and nest exactly one level deep. It is not a 5 because the body still inlines substantial plot-type and styling content that duplicates what the reference files carry, which the 5 anchor would have split out.

4 / 5

Total

15

/

20

Passed

Description

87%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is strong: it explicitly answers both what and when with concrete trigger phrases, and its explicit redirects to seaborn/plotly/scientific-visualization make it highly distinct from sibling visualization skills. The only weakness is moderate keyword coverage — common user synonyms like "charts", "figures", or "visualization" never appear.

DimensionReasoningScore

Specificity

Phrases like "fine-grained control over every plot element", "creating novel plot types", and "Export to PNG/PDF/SVG for publication" list several concrete capabilities, matching the 'several specific actions; minor gaps in coverage' anchor. It is not a 5 because "full customization" is generic and the range of concrete actions is thinner than a comprehensive listing; not a 3 because well more than 1-2 concrete actions are named.

4 / 5

Completeness

Both halves are explicit: what — "Low-level plotting library for full customization... Export to PNG/PDF/SVG for publication"; when — "Use when you need fine-grained control over every plot element, creating novel plot types, or integrating with specific scientific workflows", directly mirroring the anchor-5 good example. A 4 would require the 'when' to be less explicit or specific, which it is not.

5 / 5

Trigger Term Quality

Natural terms users would say include "fine-grained control", "plot element", "plot types", "scientific workflows", "publication", and the concrete format keywords "PNG/PDF/SVG" — good coverage matching the 'a few natural terms missing' anchor. It falls short of 5 because common synonyms like "charts", "figures", "visualization", or the library name itself never appear in the description text.

4 / 5

Distinctiveness Conflict Risk

The description carves a clear low-level/customization niche and actively redirects neighboring use cases to other skills ("For quick statistical plots use seaborn; for interactive plots use plotly; for publication-ready multi-panel figures... use scientific-visualization"), minimizing wrong-skill triggers. This is the 'clear niche with distinct triggers; minimal conflict risk' anchor rather than the 4, which requires some residual overlap risk.

5 / 5

Total

18

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

14

/

16

Passed

Repository

synthetic-sciences/openscience

Path

backend/cli/skills/visualization/matplotlib/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.