CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

matplotlib

Matplotlib is Python's foundational visualization library for creating static, animated, and interactive plots.

48

Quality

60%

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 ./plugins/AI-Agents-Safe-Coding-Skills/skills/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

52%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-organized, code-rich overview with genuinely useful best-practice guidance (colormaps, DPI, layout, accessibility), but it spends much of its ~350 lines teaching matplotlib fundamentals Claude already knows, and its progressive-disclosure architecture is illusory — all six referenced bundle files are missing. Tightening the tutorial material and either shipping or removing the dangling references would substantially improve it.

Suggestions

Create the referenced bundle files (references/plot_types.md, styling_guide.md, api_reference.md, common_issues.md, scripts/plot_template.py, style_configurator.py) or remove the references and the Quick Reference Scripts / Detailed References sections that point to them.

Cut sections that restate matplotlib knowledge Claude already has — the Figure/Axes/Artist/Axis hierarchy, the pyplot-vs-OO tutorial, and basic gotchas — and keep only the curated judgment calls (colormap selection, DPI by medium, constrained_layout, blitting).

Make code examples self-contained and copy-paste runnable by defining the data they use (e.g., generate x/y with numpy in the subplot and 3D examples) instead of referencing undefined variables.

DimensionReasoningScore

Conciseness

Noticeably verbose with several padded sections that restate matplotlib knowledge Claude already has: the Figure/Axes/Artist/Axis hierarchy tutorial, the pyplot-vs-OO two-interfaces walkthrough, and gotchas like 'figsize is in inches, not pixels'. Valuable curated guidance (colormap choice, DPI by medium, constrained_layout) is diluted by textbook explanation, fitting the 'several unnecessary explanations' anchor rather than the mostly-efficient one.

2 / 5

Actionability

Abundant concrete, runnable code across plot types, styling, saving, and 3D. Minor gaps keep it below fully copy-paste ready: several snippets use undefined variables (x, y1, categories, values, data, X/Y/Z, my_data) in the subplots, plot-types, and 3D sections.

4 / 5

Workflow Clarity

Common workflows are clearly sequenced with concrete steps (create figure/axes, plot, customize, save, show) and the code-organization section models a good reusable structure. No validation checkpoints are present, but there are no destructive or batch operations, so the workflow cap does not apply; only the implicitness of checkpoints separates it from a 5.

4 / 5

Progressive Disclosure

The body is well-sectioned and references are clearly signaled, but every referenced bundle path is broken: references/plot_types.md, references/styling_guide.md, references/api_reference.md, references/common_issues.md, scripts/plot_template.py, and scripts/style_configurator.py do not exist. Scoring against the actual bundle structure, navigation leads nowhere, which is a worse failure than buried references.

2 / 5

Total

12

/

20

Passed

Description

53%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 states a clear and concrete 'what' but entirely lacks a 'when to use' trigger clause, and its keyword coverage misses common user phrasings like 'charts', 'figures', or 'plotting'. It identifies the matplotlib niche well but reads more like a one-line encyclopedia entry than an invocable skill description.

Suggestions

Add an explicit trigger clause, e.g. 'Use when creating, styling, or exporting plots and charts with matplotlib, or when the user mentions matplotlib, figures, or plotting data.'

Broaden capability coverage beyond 'creating plots' to concrete actions like customizing styles and labels, building multi-panel subplot layouts, and exporting to PNG/PDF/SVG.

Include natural synonyms and trigger terms users actually say: 'charts', 'figures', 'graph', 'plotting data', 'publication-quality figures'.

DimensionReasoningScore

Specificity

Names the domain ('Python's foundational visualization library') and one concrete action ('creating static, animated, and interactive plots'), but coverage is narrow — no customization, subplot, export, or integration actions. This matches the anchor for domain plus 1-2 concrete actions, not the level above which requires several specific actions.

3 / 5

Completeness

The 'what' is clearly stated (foundational Python visualization library for static, animated, and interactive plots) but there is no 'Use when...' clause or equivalent trigger guidance, which the guidelines cap at 3. Not score 2 because the 'what' is concrete, not vague.

3 / 5

Trigger Term Quality

Relevant keywords are present ('Matplotlib', 'Python', 'visualization', 'plots') but common natural variations users actually say — 'charts', 'figures', 'graph', 'plotting data' — are missing. Falls at 'some relevant keywords but missing common variations or synonyms', not the good-coverage level above.

3 / 5

Distinctiveness Conflict Risk

Naming a specific library gives a clear niche with distinct triggers, but the generic phrasing 'creating static, animated, and interactive plots'/'visualization library' creates minor overlap risk with closely related plotting skills (seaborn, plotly). Mostly distinct rather than minimal-conflict.

4 / 5

Total

13

/

20

Passed

Validation

81%

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

Validation — 13 / 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

referenced_paths_exist

Referenced path issues: 8 missing

Warning

Total

13

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/AI-Agents-Safe-Coding-Skills/skills/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.