CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

visual-data-dictionary

Build a Data Schematic with its Data Dictionary beside it — an interactive qsv viz smart dashboard driven by an LLM-inferred JSON Schema data dictionary, browsable in-page next to the charts. Use when the user asks for a Data Schematic, a visual data dictionary, a documented dashboard or a dictionary-driven dashboard, or wants to explore and document a CSV at the same time. Optionally bins rows into GeoJSON regions.

Quality

80%

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 ./.claude/skills/visual-data-dictionary/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

70%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 an exceptionally well-sequenced, validation-rich workflow with genuinely copy-paste-ready commands — workflow clarity is near-textbook. Its two real weaknesses are verbosity from repeated qsv-lore passages (three restatements of the geocode distinction, duplicated tour/denominator rules) and a monolithic structure with no progressive disclosure, compounded by referencing an edit_dictionary.py script that is not present in the bundle.

Suggestions

Split deep reference material out of SKILL.md into one-level-deep files — e.g. references/dictionary-keys.md for the seven-key x-qsv table and the #4528 aggregation exceptions, and references/geojson-key-discovery.md for the ranking script — leaving SKILL.md a stage-by-stage overview that links to them.

State the geocode-enabled-build vs --geocode-flag distinction once (Stage 3a) and cut the restatements in the probe script's printed output and the Guardrails section; likewise state the x-qsv.tour version/language rules once instead of in both Stage 2.5 and Guardrails.

Ship edit_dictionary.py (as scripts/edit_dictionary.py) or remove the Stage 2.5 TUI stage — as bundled, the skill directs the user to run a script that does not exist beside SKILL.md, breaking the workflow at its reproducibility step.

DimensionReasoningScore

Conciseness

Most of the ~880-line body is genuinely non-obvious qsv-specific knowledge (flag semantics, refusal modes, precedence rules) rather than concepts Claude already knows, so it is not anchor-2 padding — but several passages are padded or repeated: the geocode-enabled-build vs --geocode-flag distinction is explained three times (Stage 3a bullets, the probe script's printed output, Guardrails), the x-qsv.tour "version must stay the integer 1" rule appears in both Stage 2.5's table and Guardrails, and the denominator derivation story is told twice. This lands on anchor 3: mostly efficient but with unnecessary explanation that could be tightened — notably by deduplicating the geo-routing lore and trimming issue-number asides (#4401, #4528, #4547).

3 / 5

Actionability

The guidance is overwhelmingly executable — exact qsv invocations with flags, parameter expansions like ${GEOJSON:+--geojson "$GEOJSON"}, complete copy-paste python heredocs for the dictionary coverage check and GeoJSON key ranking, and specified AskUserQuestion prompts with defaults. It falls short of 5 on real gaps: Stage 2.5's centerpiece `edit_dictionary.py` is described as living "beside this SKILL.md" but no such file exists in the bundle, and the Stage 2 endpoint resolution block leaves $MODEL unresolved until an interactive prompt Claude must fabricate structure for.

4 / 5

Workflow Clarity

Stages 0–6 are explicitly ordered ("The order is load-bearing. Clean first, then describe, then draw.") with rationale for the ordering, and validation is woven throughout: Stage 0 preconditions, Stage 1's report-before-apply with a rows_affected-vs-nullcount sanity check, the Stage 2 dictionary coverage check gated before Stage 4 spend, Stage 5's verify-then-report with an explicit "Never claim success without checking", and Stage 6's capped two-loop refine→re-render→re-verify cycle. This matches the anchor-5 example's validate→fix→retry structure with feedback loops at every risky step.

5 / 5

Progressive Disclosure

The stage-based headers make the document navigable, but it is a single ~880-line monolith with no reference files at all: the seven-row x-qsv hints table, the ~90-line GeoJSON feature-id ranking script, and the Stage 6 tour-refinement protocol are exactly the material the rubric expects split into one-level-deep referenced files. Worse, the one bundle file the body does reference — edit_dictionary.py "beside this SKILL.md" — is absent, so the reference is dangling in the bundle as shipped. Anchor 3 fits: real structure, but content that should be separate is inline and the sole script reference is not actually present.

3 / 5

Total

15

/

20

Passed

Description

83%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 explicitly answers both what and when with concrete trigger phrases in third-person imperative voice, matching the best reference examples. Its only weaknesses are heavy reliance on qsv-internal coined terminology for both the actions and the triggers, and a couple of missing natural-language synonyms.

DimensionReasoningScore

Specificity

The description lists several concrete actions — "Build a Data Schematic", "driven by an LLM-inferred JSON Schema data dictionary", "browsable in-page next to the charts", "Optionally bins rows into GeoJSON regions" — which sits between anchor 4 (several specific actions, minor gaps) and anchor 5. It falls short of 5 because the actions are phrased through qsv-internal coinage ("Data Schematic", "qsv viz smart") rather than plainly named operations, and coverage of the pipeline (clean → infer → render) is implicit rather than listed.

4 / 5

Completeness

Both halves are explicit: what — "Build a Data Schematic with its Data Dictionary beside it — an interactive qsv viz smart dashboard driven by an LLM-inferred JSON Schema data dictionary" — and when — a full "Use when the user asks for..." clause with four concrete trigger phrasings plus the combined-goal case. This matches the anchor-5 good example structure exactly; nothing below 5 fits since neither half is missing or vague.

5 / 5

Trigger Term Quality

"Use when the user asks for a Data Schematic, a visual data dictionary, a documented dashboard or a dictionary-driven dashboard, or wants to explore and document a CSV" gives good keyword coverage including the core noun phrases plus "CSV" and "GeoJSON". It is not 5 because common natural variations are missing — e.g. ".csv" extension forms, "data dictionary", "document a dataset", "data profiling" — and most triggers are the skill's own coined terms rather than phrases an uninitiated user would spontaneously say.

4 / 5

Distinctiveness Conflict Risk

The niche is distinct — a dictionary-driven qsv dashboard with GeoJSON binning is unlikely to be the intended skill for generic charting or data-cleaning requests, and the triggers are mostly coined, unambiguous terms. It is not 5 because "documented dashboard" and "explore and document a CSV" are broad enough to overlap with generic data-documentation or dashboarding skills.

4 / 5

Total

17

/

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 (886 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

dathere/qsv

Path

.claude/skills/visual-data-dictionary/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.