CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

chart-image

Generate publication-quality PNG chart images from data, supporting line, bar, area, candlestick, pie, and heatmap charts. Triggers when the user asks to visualize data, create a graph, plot a time series, or generate a chart for a report, alert, or dashboard. Runs as a lightweight, headless Node.js process without a browser.

Quality

83%

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

SKILL.md
Quality
Evals
Security

Quality

Content

71%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 highly actionable — executable, example-driven commands covering every chart type and a thorough options reference — with a clear setup-to-delivery workflow. Its main weaknesses are padding (marketing section, duplicated option tables, a dated changelog footer) and the absence of any progressive disclosure, keeping the full CLI manual inline in SKILL.md.

Suggestions

Move the bulk of the Options Reference tables into a references/OPTIONS.md file, keeping only the most common flags inline in SKILL.md with a clearly signaled one-level-deep link.

Delete or compress the 'Why This Skill?' comparison section and remove the 'Updated: 2026-02-04' changelog footer (or relocate version notes to a dedicated old-patterns/changelog file) to cut padding and time-sensitive tokens.

Consolidate the duplicated dual-axis/volume documentation (Volume Overlay appears both as a chart-type example and as two separate option tables) into one section, and add a brief validation step (e.g., confirm the output PNG exists and report its path) after generation.

DimensionReasoningScore

Conciseness

The bulk is token-efficient commands and option tables, but padding is present: the 'Why This Skill?' section is deployment marketing ('~15MB total dependencies vs 400MB+ for Puppeteer'), volume/dual-axis options are documented twice, and the footer embeds time-sensitive metadata ('Updated: 2026-02-04') outside any old-patterns/deprecated section. This fits 'mostly efficient but includes some unnecessary explanation or could be tightened' rather than the minor-trims-only anchor 4.

3 / 5

Actionability

Nearly every example is a fully executable copy-paste command with realistic JSON payloads, flags, and outputs, spanning all chart types plus piping, custom specs, and delivery. The few '[...]' placeholders (alert-style, y-format, subtitle sections) reuse a data format already concretely established, so specific examples still cover the common cases — the top anchor.

5 / 5

Workflow Clarity

The sequence is clear: one-time 'npm install' setup, a single generation command, then explicit delivery guidance ('save the PNG in the user's project (not /tmp/...) and tell the user the file path'). It is not anchor 5 because there is no validation checkpoint or error-recovery guidance for the generation step (e.g., confirming the PNG was written or what to do on failure); no destructive/batch operations apply, so no cap is triggered.

4 / 5

Progressive Disclosure

Section structure is clean and the referenced bundle files exist (scripts/chart.mjs, scripts/package.json via ${CLAUDE_SKILL_DIR}/scripts), but there are no reference files at all — the entire ~100-line options reference is inlined in SKILL.md alongside a 54KB script whose detailed usage could be split out. This matches 'some structure but could be better organized; content that should be separate is inline' rather than anchor 4's 'most content is appropriately placed'.

3 / 5

Total

15

/

20

Passed

Description

88%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: third-person voice, explicit what-and-when structure, enumerated chart types, and natural trigger phrases covering reports, alerts, and dashboards. The only weaknesses are a few missing natural synonyms/extensions in the trigger list and slight overlap risk with general dataviz skills on generic charting terms.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — 'Generate publication-quality PNG chart images from data' — and comprehensively enumerates the supported capabilities ('line, bar, area, candlestick, pie, and heatmap charts') plus the runtime model ('lightweight, headless Node.js process without a browser'). It matches the anchor for multiple specific concrete actions with comprehensive coverage, exceeding the anchor below it, which only expects 'several specific actions; minor gaps'.

5 / 5

Completeness

Both questions are answered explicitly: the 'what' is the first sentence (PNG chart image generation with enumerated chart types and runtime characteristics), and the 'when' is explicit with concrete trigger phrases via 'Triggers when the user asks to...'. This matches the top anchor exactly; the anchor below it requires only that both be present with the 'when' less specific.

5 / 5

Trigger Term Quality

Trigger phrases 'visualize data, create a graph, plot a time series, or generate a chart for a report, alert, or dashboard' give good natural-language coverage with several synonyms (chart, graph, plot, visualize). It falls short of the comprehensive anchor because common variations like '.png', 'figure', 'diagram', or 'sparkline' are absent.

4 / 5

Distinctiveness Conflict Risk

The headless PNG/Node.js niche ('Runs as a lightweight, headless Node.js process without a browser') is mostly distinct from HTML/artifact-based dataviz skills. However, generic triggers like 'create a graph' or 'visualize data' overlap with any general charting skill, and there is no disambiguator for when to prefer this skill over those — minor overlap risk with closely related skills, matching anchor 4 rather than the clear-niche anchor 5.

4 / 5

Total

18

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository

zebbern/claude-code-guide

Path

skills/chart-image/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.