CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

plotly

Interactive visualization library. Use when you need hover info, zoom, pan, or web-embeddable charts. Best for dashboards, exploratory analysis, and presentations. For static publication figures use matplotlib or scientific-visualization.

56

Quality

71%

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/plotly/SKILL.md
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.

A well-structured overview with genuinely useful progressive disclosure: every section points to a real, one-level-deep reference file, and code examples are concrete and mostly executable. The main cost is token efficiency — the chart-type catalog and Common Workflows sections restate what Claude already knows and duplicate reference-file content.

Suggestions

Trim the Common Workflows section to one-line pointers into the relevant reference files, or make its snippets self-contained (defined variables) so they earn their inline tokens.

Replace the enumerated chart-type catalog with a brief summary plus the existing pointer to references/chart-types.md, since Claude already knows plotly's chart families.

Make later code examples copy-paste ready by defining the data they use (df, z_data, correlation_matrix), which would raise actionability to fully executable.

DimensionReasoningScore

Conciseness

The body is code-forward rather than padded prose, but the chart-type catalog ('Basic Charts: scatter, line, bar, pie...'), built-in template names, and the ~70-line Common Workflows section restate knowledge plotly-literate Claude already has and duplicate content in chart-types.md and export-interactivity.md. This fits 'mostly efficient but includes some unnecessary explanation or could be tightened' rather than the minor-trimming level of anchor 4.

3 / 5

Actionability

Concrete, near-executable guidance throughout: install commands ('uv pip install plotly'), a runnable quick start, hovertemplate usage, write_html/write_image exports with the kaleido dependency, and a Dash app skeleton. Not anchor 5 because later snippets reference undefined variables (df, z_data, correlation_matrix, data), making them illustrative rather than copy-paste ready.

4 / 5

Workflow Clarity

A clear decision workflow is present: explicit px-vs-go selection criteria, a note on combining them, and when to reach for Dash, sequenced from install through quick start to export. The domain is non-destructive so validation checkpoints are not required, but there are minor gaps (e.g., no render/verification step after export), keeping it below the explicit-validation anchor 5.

4 / 5

Progressive Disclosure

All five referenced files exist, are signaled inline at each point of use ('See references/plotly-express.md for complete guide'), are indexed in a Reference Files section, and are verified one level deep with no nested pointers. It falls short of anchor 5 because the inlined Common Workflows and Dash code largely duplicates the reference files' material — a minor organization gap.

4 / 5

Total

15

/

20

Passed

Description

65%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 solid description with an explicit 'Use when...' trigger clause and good disambiguation against static-figure tools. Its main weaknesses are the vague 'what' (a library label rather than concrete actions) and second-person voice in the trigger clause, which the rubric penalizes on specificity.

Suggestions

Rewrite in third person with concrete actions, e.g., 'Creates interactive charts and dashboards with hover tooltips, zoom/pan, and standalone HTML export' instead of the generic 'Interactive visualization library' label.

Remove the second-person 'you' from the trigger clause (e.g., 'Use when a task needs hover info, zoom, pan, or web-embeddable charts') to comply with third-person voice.

Add natural synonyms such as 'graphs', 'plots', or 'plotting' to the trigger terms to broaden keyword coverage toward the comprehensive level.

DimensionReasoningScore

Specificity

The description names the domain ("Interactive visualization library") and features ("hover info, zoom, pan, or web-embeddable charts") but lists no concrete creation actions (e.g., creates scatter plots, builds dashboards, exports standalone HTML), matching the anchor for domain-named with minimal actions. The second-person phrasing "Use when you need..." triggers the rubric's -1 specificity penalty for non-third-person voice.

2 / 5

Completeness

Both components are present: what ("Interactive visualization library") and an explicit when ("Use when you need hover info, zoom, pan, or web-embeddable charts. Best for dashboards...") plus a negative boundary. Not anchor 5 because the 'what' is thin — it does not enumerate concrete capabilities with concrete trigger phrases the way the anchor-5 example does.

4 / 5

Trigger Term Quality

Natural user terms are well covered: "hover info, zoom, pan, web-embeddable charts, dashboards, exploratory analysis, presentations". It falls short of anchor 5 because common synonyms like "graphs", "plots", or "plotting" are missing, but coverage clearly exceeds the 'some relevant keywords' level.

4 / 5

Distinctiveness Conflict Risk

"For static publication figures use matplotlib or scientific-visualization" explicitly disambiguates from the closest neighboring skills. Minor overlap risk remains with other interactive-visualization libraries, so it fits 'mostly distinct; minor overlap risk' rather than the minimal-conflict anchor 5.

4 / 5

Total

14

/

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/plotly/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.