CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

claude-d3js-skill

This skill provides guidance for creating sophisticated, interactive data visualisations using d3.js.

Quality

60%

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 ./plugins/AI-Agents-Safe-Coding-Skills-claude/skills/claude-d3js-skill/SKILL.md

The canonical home for this skill is claude-d3js-skill in sickn33/agentic-awesome-skills

SKILL.md
Quality
Evals
Security

Quality

Content

56%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 well-structured with a clear workflow and largely executable code examples, plus a genuinely useful bundle of reference and asset files that are real and one level deep. Its main weaknesses are verbosity — it re-teaches d3 basics Claude already knows and inlines detail that duplicates the reference files — and snippets that are not fully self-contained.

Suggestions

Cut the inlined 'Scales reference' and 'Common visualisation patterns' sections down to a few lines per pattern and point to references/scale-reference.md and references/d3-patterns.md, which already contain that material.

Make snippet examples self-contained or explicitly label them as fragments that plug into the drawVisualization structure (e.g., note which variables like g and xScale come from step 3 of the core workflow).

Replace the 'Best practices → Performance optimisation' comment-only block with one concrete example (e.g., a canvas-rendering snippet for >1000 points), since comments alone are not executable guidance.

DimensionReasoningScore

Conciseness

At ~815 lines the body inlines several sections teaching d3 basics Claude already knows — a full 'Scales reference' covering scaleLinear/scaleBand/scaleOrdinal, basic pie/line patterns, and elementary .transition() usage — much of which also duplicates references/scale-reference.md and references/d3-patterns.md. This matches anchor 2 ('Noticeably verbose; several unnecessary explanations or padded sections'); it is not a 3 because the duplication is extensive rather than occasional.

2 / 5

Actionability

Most guidance is concrete, executable code (complete drawBarChart, drawChordDiagram, drawHeatmap functions, drag handlers, responsive setups with cleanup), matching anchor 4 ('Mostly executable guidance... with minor gaps'). It is not a 5 because several snippets (line chart, pie chart, scatter, tooltip) reference undefined variables like g, circles, and xScale and are not copy-paste self-contained.

4 / 5

Workflow Clarity

The core workflow is a clear numbered sequence (set up d3 → choose integration pattern → structure drawing function → responsive sizing), extended with an 'Adding interactivity' section and a 'Common issues and solutions' recovery section — anchor 4 ('Clear sequence with most checkpoints present'). It is non-destructive so heavy validation is not required, but it lacks the explicit validation checkpoints and feedback loops of anchor 5.

4 / 5

Progressive Disclosure

The bundle structure is solid — all six referenced files (three references, three assets) exist, are one level deep with no nested references, and are described in a Resources section — but ~500 lines of pattern and scale detail are inlined in SKILL.md that belong in the already-existing reference files (d3-patterns.md, scale-reference.md). This matches anchor 3 ('Some structure... content that should be separate is inline'); it is not a 4 because the inlining is substantial rather than minor.

3 / 5

Total

13

/

20

Passed

Description

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

The description is short and names a specific library, but it is padded ('This skill provides guidance for'), states no concrete capabilities beyond generically 'creating visualisations', and omits any 'when to use' trigger guidance. It would benefit from listing 2-3 concrete actions (e.g., building custom charts, network diagrams, choropleths) and a 'Use when...' clause.

Suggestions

Replace the filler opening ('This skill provides guidance for creating') with third-person concrete actions, e.g., 'Builds custom interactive visualisations with d3.js: bar/line/scatter charts, chord diagrams, heatmaps, force-directed networks, with transitions, zoom, and tooltips.'

Add an explicit trigger clause, e.g., 'Use when the user asks for custom charts, graphs, or data visualisations built with d3.js, or needs chart types not available in standard libraries.'

Include natural synonyms users actually say ('chart', 'graph', 'plot', 'dashboard') so the skill triggers reliably instead of only on the term 'd3.js'.

DimensionReasoningScore

Specificity

The description names the domain ('data visualisations using d3.js') but its only action is the generic 'creating' wrapped in filler ('This skill provides guidance for'), matching the score-2 anchor ('Names the domain but actions are minimal or generic'). It never states concrete capabilities like building charts, scales, transitions, or network diagrams, so it falls short of anchor 3's '1-2 concrete actions'.

2 / 5

Completeness

It has a clear 'what' (guidance for creating d3.js visualisations) but no 'when' clause or equivalent trigger guidance whatsoever, capping it at 3 per the judging guidelines. It is not a 4 because there is no 'Use when...' phrasing at all, and not a 2 because the 'what' is genuinely stated rather than vague.

3 / 5

Trigger Term Quality

'd3.js' and 'interactive data visualisations' are natural terms a user would say, but common variations like 'chart', 'graph', 'plot', and 'dashboard' are absent — the score-3 anchor ('Some relevant keywords but missing common variations or synonyms'). 'd3.js' is a strong, specific keyword, so it is above anchor 2's 'only generic keywords'.

3 / 5

Distinctiveness Conflict Risk

Naming the specific library d3.js gives a clear, distinct trigger, but the generic phrase 'sophisticated, interactive data visualisations' overlaps with general dataviz and chart-library skills — 'Mostly distinct; minor overlap risk with closely related skills'. It lacks the fully distinct triggers of anchor 5 because no exclusive use-cases are enumerated.

4 / 5

Total

12

/

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

skill_md_line_count

SKILL.md is long (824 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/AI-Agents-Safe-Coding-Skills-claude/skills/claude-d3js-skill/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.