CtrlK
BlogDocsLog inGet started
Tessl Logo

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.

78

1.06x
Quality

70%

Does it follow best practices?

Impact

94%

1.06x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./scientific-skills/matplotlib/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

89%

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

This is a strong skill description that excels at disambiguation by explicitly contrasting itself with related skills (seaborn, plotly, scientific-visualization). The 'Use when' clause is well-constructed with clear trigger conditions. The main weakness is that the specific capabilities could be more concrete — listing actual plot types or specific customization actions rather than abstract phrases like 'fine-grained control over every plot element'.

Suggestions

Add more concrete action verbs and specific capabilities, e.g., 'Create custom scatter plots, bar charts, heatmaps, annotate axes, configure tick marks, build composite figures' instead of the abstract 'fine-grained control over every plot element'.

DimensionReasoningScore

Specificity

Describes the domain (low-level plotting) and some actions (full customization, creating novel plot types, export to PNG/PDF/SVG), but doesn't list multiple concrete specific actions like 'create bar charts, scatter plots, heatmaps, annotate axes'. The actions remain somewhat abstract ('fine-grained control over every plot element').

2 / 3

Completeness

Clearly answers both 'what' (low-level plotting library for full customization, export to PNG/PDF/SVG) and 'when' ('Use when you need fine-grained control over every plot element, creating novel plot types, or integrating with specific scientific workflows'). Also explicitly states when NOT to use it, which strengthens the 'when' guidance.

3 / 3

Trigger Term Quality

Includes strong natural keywords users would say: 'plotting', 'plot', 'customization', 'PNG', 'PDF', 'SVG', 'publication', 'scientific workflows', 'multi-panel figures'. Also references competing tools (seaborn, plotly, scientific-visualization) which helps with disambiguation. Users asking about matplotlib-style plotting would naturally use these terms.

3 / 3

Distinctiveness Conflict Risk

Excellent distinctiveness — explicitly differentiates itself from seaborn (quick statistical plots), plotly (interactive plots), and scientific-visualization (publication-ready multi-panel figures with journal styling). This clear boundary-setting makes it very unlikely to conflict with related visualization skills.

3 / 3

Total

11

/

12

Passed

Implementation

50%

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

This skill is comprehensive and highly actionable with excellent executable code examples, but it is far too verbose for a Claude skill. It explains many concepts Claude already knows (matplotlib hierarchy, what different plot types are for, basic interface differences) and includes sections like 'When to Use This Skill' and 'Additional Resources' that waste tokens. The content would benefit from aggressive trimming to focus only on project-specific conventions, preferred patterns, and non-obvious guidance.

Suggestions

Remove the 'Core Concepts' hierarchy explanation, 'When to Use This Skill' section, 'Integration with Other Tools', and 'Additional Resources' - Claude already knows all of this.

Trim the plot types section to just the code snippets without descriptions of what each plot type is for (e.g., remove 'Time series, continuous data, trends' annotations).

Move the detailed plot type examples and styling options entirely to the referenced files rather than partially duplicating them inline.

Condense the 'Best Practices' section to a compact checklist format rather than expanded subsections with explanations.

DimensionReasoningScore

Conciseness

The skill is extremely verbose, explaining concepts Claude already knows well (the matplotlib hierarchy, what a Figure/Axes/Artist is, what line plots vs scatter plots are, two interfaces). The 'When to Use This Skill' section lists obvious use cases. The 'Core Concepts' section explains basic matplotlib architecture that Claude has extensive training on. The 'Integration with Other Tools' and 'Additional Resources' sections add little value.

1 / 3

Actionability

The skill provides fully executable, copy-paste ready code examples throughout - from basic plots to subplots, 3D plots, saving figures, and styling. Code examples are complete with imports and realistic parameters.

3 / 3

Workflow Clarity

The workflows are presented as numbered sections with clear code, but there are no validation checkpoints or feedback loops. For a plotting library this is less critical than for destructive operations, but the skill doesn't address verifying output quality or handling common errors in the workflow itself.

2 / 3

Progressive Disclosure

The skill references external files (references/plot_types.md, references/styling_guide.md, etc.) which is good progressive disclosure, but the main file itself is a monolithic wall of content (~300 lines) with extensive inline material that could be split out. The detailed plot type catalog and styling options could live in the referenced files rather than being partially duplicated here.

2 / 3

Total

8

/

12

Passed

Validation

90%

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

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

10

/

11

Passed

Repository
K-Dense-AI/claude-scientific-skills
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.