Statistical visualization with pandas integration. Use for quick exploration of distributions, relationships, and categorical comparisons with attractive defaults. Best for box plots, violin plots, pair plots, heatmaps. Built on matplotlib. For interactive plots use plotly; for publication styling use scientific-visualization.
84
75%
Does it follow best practices?
Impact
90%
2.81xAverage score across 6 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./scientific-skills/seaborn/SKILL.mdQuality
Discovery
100%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 an excellent skill description that concisely covers specific capabilities (plot types, pandas integration), clear trigger conditions, and explicit differentiation from related skills. It uses third person voice appropriately and includes natural keywords that data practitioners would use. The negative routing guidance ('For interactive plots use plotly; for publication styling use scientific-visualization') is a particularly strong feature for disambiguation.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions and plot types: 'exploration of distributions, relationships, and categorical comparisons' plus explicit chart types like 'box plots, violin plots, pair plots, heatmaps'. Also mentions pandas integration and matplotlib foundation. | 3 / 3 |
Completeness | Clearly answers 'what' (statistical visualization with pandas integration, specific plot types) and 'when' ('Use for quick exploration of distributions, relationships, and categorical comparisons'). Also includes negative triggers distinguishing from plotly and scientific-visualization skills. | 3 / 3 |
Trigger Term Quality | Includes strong natural keywords users would say: 'box plots', 'violin plots', 'pair plots', 'heatmaps', 'distributions', 'relationships', 'categorical comparisons', 'pandas', 'matplotlib'. These are terms data scientists and analysts naturally use. | 3 / 3 |
Distinctiveness Conflict Risk | Explicitly differentiates itself from related skills by stating 'For interactive plots use plotly; for publication styling use scientific-visualization.' This creates clear boundaries and reduces conflict risk with other visualization skills. | 3 / 3 |
Total | 12 / 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 reads like a comprehensive seaborn tutorial/documentation page rather than a concise skill file. While the code examples are excellent and fully executable, the content is far too verbose for a skill file—it explains many concepts Claude already knows (data structures, design philosophy, what different plot types are for) and inlines extensive reference material that should be in separate files. The biggest improvement would be cutting this to ~25% of its current length and moving detailed function catalogs, palettes, and theming into reference files.
Suggestions
Cut the content to ~100-150 lines by removing explanations of concepts Claude already knows (design philosophy, data structure definitions, 'when to use' guidance for basic plot types) and keeping only the actionable code patterns and non-obvious tips.
Move the detailed function-by-category listings, color palette reference, and theming/styling sections into the referenced files (function_reference.md, etc.) and keep only a brief summary with links in the main SKILL.md.
Remove the 'Data Structure Requirements' section entirely—Claude knows what tidy data is and how pd.melt works.
Consolidate the 'Best Practices' and 'Common Patterns' sections into a single concise section focusing on the non-obvious patterns (e.g., figure-level vs axes-level gotchas, the legend positioning workaround).
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely verbose at ~500+ lines. Extensively explains concepts Claude already knows well (what long-form vs wide-form data is, what each plot type does, design philosophy, when to use axes-level vs figure-level). Much of this is standard seaborn documentation that Claude has in its training data. The 'Design Philosophy' section, data structure explanations, and extensive 'when to use' guidance are unnecessary padding. | 1 / 3 |
Actionability | Nearly all guidance includes executable, copy-paste-ready Python code examples. Function parameters are listed concretely, and examples cover real use cases with actual seaborn API calls. The troubleshooting section provides specific solutions to common problems. | 3 / 3 |
Workflow Clarity | The skill is primarily a reference/catalog rather than a multi-step workflow, so workflow clarity is less critical. However, the 'Common Patterns' section provides reasonable sequences for EDA and publication figures. There are no validation checkpoints or feedback loops for the multi-step processes like creating publication figures (e.g., no 'verify the output looks correct' steps). | 2 / 3 |
Progressive Disclosure | References to external files (function_reference.md, objects_interface.md, examples.md) are mentioned at the end, but the main file is a monolithic wall of content that should have been split. The color palettes, theming, troubleshooting, and detailed per-category function listings would be better as separate reference files, with the SKILL.md serving as a concise overview. | 2 / 3 |
Total | 8 / 12 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 — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
skill_md_line_count | SKILL.md is long (672 lines); consider splitting into references/ and linking | Warning |
metadata_version | 'metadata.version' is missing | Warning |
Total | 9 / 11 Passed | |
086de41
Table of Contents
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.