CtrlK
BlogDocsLog inGet started
Tessl Logo

create-viz

Create publication-quality visualizations with Python. Use when turning query results or a DataFrame into a chart, selecting the right chart type for a trend or comparison, generating a plot for a report or presentation, or needing an interactive chart with hover and zoom.

66

Quality

83%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

75%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.

A well-structured, actionable skill body: a clear six-step workflow, a concrete matplotlib template, and tight best-practice guidance with almost no padding. The main improvements are removing the redundancy between the Tips section and the workflow steps, adding a light validation checkpoint (e.g., confirming the data is non-empty and the chart file was written), and fixing the broken CONNECTORS.md link.

Suggestions

Remove the redundancy in the Tips section — 'If you want interactive charts... Claude will use plotly' duplicates §4 and 'Charts are saved to your current directory as PNG files' duplicates §6; consolidate these into the workflow steps once.

Add a light validation checkpoint in the workflow (e.g., verify the DataFrame is non-empty before plotting and confirm the PNG file was successfully written after savefig) to close the minor workflow-clarity gap.

Fix or remove the broken [CONNECTORS.md](../../CONNECTORS.md) link — the file does not exist at the resolved path, which breaks the skill's only external navigation.

DimensionReasoningScore

Conciseness

The body is dense and assumes competence — a lookup table for chart selection, a code template, and terse best-practice bullets with no explanation of what matplotlib or DataFrames are. Minor trimmable redundancy remains: the intro sentence restates the frontmatter description ('Create publication-quality data visualizations using Python. Generates charts with best practices...'), and the Tips section repeats §4 (interactive → plotly) and §6 (PNG output location). This fits anchor 4 ('efficient; minor instances of over-explanation that could be trimmed') rather than anchor 5, where every token earns its place.

4 / 5

Actionability

Concrete, near-executable guidance throughout: a complete matplotlib boilerplate with specific style ('seaborn-v0_8-whitegrid'), palette, figsize, dpi, and spine-removal calls, plus explicit number-formatting rules ('45.2%' not '0.452', '$1.2M' not '1200000'). The '[chart-specific code]' placeholder and lack of any plotly example keep it from anchor 5's 'copy-paste ready code covering common cases', but it is well above anchor 3's pseudocode level.

4 / 5

Workflow Clarity

The six-step workflow (understand → get data → select chart → generate → apply design → save/present) is clearly sequenced with branching input handling in step 2 and a decision table in step 3. No explicit validation checkpoints exist (e.g., verifying the DataFrame is non-empty or the PNG rendered correctly), but since this is a generative, non-destructive task, the destructive/batch cap does not apply — this matches anchor 4 ('clear sequence with most checkpoints present; minor validation gaps') rather than anchor 5's explicit validate/fix/retry loop.

4 / 5

Progressive Disclosure

As a single-file skill with no references/, scripts/, or assets/ directories, all content is inline and organized under clean section headers of appropriate length (~150 lines) — reasonable for a skill of this scope, fitting the well-organized-structure criterion. However, the only external navigation is a link to [CONNECTORS.md](../../CONNECTORS.md), which does not exist at the resolved path (verified broken), and no reference files offload the sizable chart-selection table or design best practices. This places it at anchor 4 ('good structure; most content appropriately placed; minor organization gaps') rather than anchor 5's cleanly split, well-signaled references.

4 / 5

Total

16

/

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.

A strong description: it states a concrete capability in third person and pairs it with an explicit, multi-scenario 'Use when' clause full of natural trigger phrases. The only weakness is that the action list concentrates on input scenarios rather than enumerating output capabilities (libraries, formats, export), leaving slight specificity and synonym coverage gaps.

DimensionReasoningScore

Specificity

Concrete actions are stated — 'Create publication-quality visualizations with Python', 'turning query results or a DataFrame into a chart', 'selecting the right chart type', 'interactive chart with hover and zoom' — but coverage has minor gaps (no mention of libraries, output formats, or saving/exporting). Anchor 5 requires comprehensive multi-action coverage; this lists several specific scenarios around one core action, fitting anchor 4 ('several specific actions; minor gaps').

4 / 5

Completeness

Explicitly answers both: what ('Create publication-quality visualizations with Python') and when, via a concrete 'Use when...' clause enumerating four trigger scenarios (query results/DataFrame to chart, chart type selection, plot for report/presentation, interactive chart with hover and zoom). Matches anchor 5 ('clearly and explicitly answers both what AND when with concrete trigger phrases') and clearly exceeds anchor 4, whose 'when' is less elaborated.

5 / 5

Trigger Term Quality

Natural user phrases like 'chart', 'plot', 'trend', 'comparison', 'query results', 'DataFrame', 'report or presentation', 'hover and zoom' are present, matching how users actually request charts. Common synonyms like 'graph', 'visualize', or 'data viz' are missing, so it falls just short of the comprehensive synonym coverage of anchor 5 but is clearly above the 'few natural terms missing' threshold of anchor 4's weaker neighbors.

4 / 5

Distinctiveness Conflict Risk

It carves out a clear niche — Python chart generation from query results/DataFrames with chart-type selection — and its triggers ('turning query results or a DataFrame into a chart', 'selecting the right chart type') would not naturally fire for file-manipulation or document skills. Minor theoretical overlap with presentation tools exists, but the trigger phrasing is visualization-specific, matching anchor 5's 'clear niche with distinct triggers; minimal conflict risk' better than anchor 4's generic overlap case.

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

frontmatter_unknown_keys

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

Warning

relative_links

Relative link issues: 1 suspicious

Warning

Total

14

/

16

Passed

Repository
anthropics/knowledge-work-plugins
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.