CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

grammar-of-graphics-and-declarative-visualization

Build data visualizations with declarative grammars. Use when the user needs Vega-Lite, Vega, Observable Plot, or grammar-of-graphics reasoning, especially for tabular charts that do not require bespoke rendering.

62

Quality

78%

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/build-web-data-visualization/skills/grammar-of-graphics-and-declarative-visualization/SKILL.md
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.

A clean, well-structured routing skill that assumes Claude's intelligence and uses its reference bundle correctly — all referenced files exist and content is appropriately split. The main gap is actionability: the workflow describes what to decide but never shows a concrete example spec or an executable step, leaving the guidance one level more abstract than the task it routes to.

Suggestions

Include one minimal example artifact (a short Vega-Lite JSON spec or an Observable Plot cell) in the body or in references/vega-lite-and-vega.md so the Working Pattern has a concrete anchor.

Add concrete guidance to Working Pattern step 1 ('Normalize the table shape') — e.g., what a normalized tabular shape means (long vs wide format) and when reshaping is needed.

Turn the advisory checkpoints (instance count, mobile behavior) into explicit validation criteria with pass/fail conditions and a fallback action, e.g., 'if simultaneous instances exceed N, route to the D3/Canvas skill'.

DimensionReasoningScore

Conciseness

The ~50-line body is lean: no re-explanation of what Vega-Lite or the grammar of graphics is, no padded sections, and every section carries decision content. Not a 5 because there is redundant repetition — 'Default to the highest-level tool that cleanly expresses the needed chart' (Overview) restates Selection Rules and Working Pattern step 3 ('Choose the highest-level grammar that supports the chart without contortions'), and 'Use declarative composition before custom code' repeats the same idea a third time.

4 / 5

Actionability

Selection Rules are genuinely usable routing criteria ('Use Observable Plot for fast exploratory... charts', 'Use Vega-Lite for portable, declarative specs, multi-view composition'), but the Working Pattern stays abstract — 'Normalize the table shape', 'Name the mark, encodings, transforms' are directions rather than executable steps. For a chart-building skill, not even one example spec (Vega-Lite JSON or a Plot call) is shown, leaving the gap between anchor 3 ('some concrete guidance but incomplete') and anchor 4; it is not a 2 because the selection guidance itself is specific and actionable, and not a 4 because no concrete artifact or example accompanies the instructions.

3 / 5

Workflow Clarity

The Working Pattern is a clearly sequenced 7-step process with checkpoints embedded ('Check whether the declarative approach still fits the expected number of simultaneous chart instances', 'Check mobile portrait and optional landscape behavior'). Not a 5 because the checkpoints are advisory 'check whether...' prompts rather than explicit validation steps with pass/fail criteria or an error-recovery loop, and the Output Expectations list is not tied back into the workflow sequence.

4 / 5

Progressive Disclosure

The body is a concise overview with well-organized sections (Overview, Selection Rules, Working Pattern, Output Expectations, References) and clearly signaled one-level-deep references. All three skill-referenced bundle files (references/vega-lite-and-vega.md, references/observable-plot.md, references/when-to-stay-declarative.md) exist and are properly split, and shared-theory references are grouped separately. This matches the anchor-5 example: clear overview, well-signaled references, easy navigation.

5 / 5

Total

16

/

20

Passed

Description

73%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 well-formed description with an explicit 'Use when' clause, concrete tool-name triggers, and good boundary signaling against bespoke-rendering skills. Its main weakness is that the capability statement is a single generic action, leaving the 'what' side thinner than the 'when' side.

DimensionReasoningScore

Specificity

The description names the domain ("Build data visualizations with declarative grammars") and anchors it with concrete tools ("Vega-Lite, Vega, Observable Plot"), but the action side is a single generic verb — it does not enumerate what the skill actually does (compose specs, transforms, faceting, embedding). It sits between anchor 2 ('names domain, minimal actions') and anchor 4 ('several specific actions'): above 2 because the tool enumeration makes the domain concrete, below 4 because only one action is stated.

3 / 5

Completeness

Both parts are present: the what ("Build data visualizations with declarative grammars") and an explicit when ("Use when the user needs Vega-Lite, Vega, Observable Plot, or grammar-of-graphics reasoning, especially for tabular charts"). The when clause is more specific than the anchor-4 example, but the what is a single thin action rather than the comprehensive multi-action coverage of the anchor-5 example, so it lands between the two anchors — noticeably above the midpoint.

4 / 5

Trigger Term Quality

Strong natural triggers users would actually say: "Vega-Lite", "Vega", "Observable Plot", "grammar-of-graphics", "tabular charts". Not a 5 because common phrasings like "chart spec", "declarative chart", or a comparison trigger ("Vega-Lite vs D3") are absent.

4 / 5

Distinctiveness Conflict Risk

A clear niche with explicit boundary language — "especially for tabular charts that do not require bespoke rendering" actively excludes the adjacent D3/Canvas/WebGL skills. Tool names (Vega-Lite, Vega, Observable Plot) are distinct triggers with minimal overlap risk.

5 / 5

Total

16

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

openai/plugins

Path

plugins/build-web-data-visualization/skills/grammar-of-graphics-and-declarative-visualization/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.