visual-data-dictionary

Generate an interactive HTML data dashboard driven by an LLM-inferred JSON Schema data dictionary from CSV files.

3.8k|108|Updated Dec 11, 2020
One-click install
npx skills add https://github.com/dathere/qsv --skill visual-data-dictionary
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: visual-data-dictionary
Source: https://github.com/dathere/qsv/tree/main/.claude/skills/visual-data-dictionary
Command: npx skills add https://github.com/dathere/qsv --skill visual-data-dictionary

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Turning a raw CSV into a documented, explorable dashboard normally requires manual data cleaning, schema writing, and chart configuration. This Skill automates that pipeline: it cleans null sentinels, infers a JSON Schema data dictionary with an LLM, and renders a self-contained HTML Data Schematic with the dictionary embedded beside the charts.

Core Features & Use Cases

  • Dictionary-driven dashboards: Runs qsv describegpt to infer roles, concepts, and labels per column, then renders a qsv viz smart dashboard whose panels are chosen from that dictionary.
  • Data cleaning first: Uses qsv denull to blank null sentinels so numeric columns chart as numbers, with an optional curses TUI (edit_dictionary.py) to hand-correct the dictionary before rendering.
  • Optional GeoJSON binning and guided tour: Bins rows into GeoJSON regions via point-in-polygon mapping and refines an audience-targeted guided tour narration using a browser-automation pass.
  • Use Case: Given a city 311 complaints CSV, produce a single shareable HTML file with KPI tiles, charts, a choropleth map, an embedded searchable data dictionary, and a guided tour explaining each panel.

Quick Start

Use the visual-data-dictionary skill to build a documented interactive dashboard from my data.csv file.

Frequently Asked Questions about visual-data-dictionary

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a data dictionary dashboard from a CSV file?▼

Run the visual-data-dictionary workflow: clean nulls with qsv denull, infer a JSON Schema dictionary with qsv describegpt, then render with qsv viz smart using the dictionary. The output is a self-contained HTML file with charts and an embedded dictionary drawer.

What LLM endpoints work with qsv describegpt?▼

Any OpenAI-compatible endpoint works, including local servers like LM Studio on port 1234 or ollama on port 11434, plus hosted APIs configured via QSV_LLM_BASE_URL or API key environment variables. The skill probes local servers and lists available models before generating.

Can I edit the inferred data dictionary before rendering the dashboard?▼

Yes, the included edit_dictionary.py curses TUI lets you adjust role, concept, label, description, and aggregation per column with a live routing preview. It must run in your own terminal since it requires a real TTY, and changes are saved back to the same schema file.

Does the dashboard support mapping CSV rows to GeoJSON regions?▼

Yes, qsv viz smart bins rows into GeoJSON regions using point-in-polygon testing when you pass --geojson with a feature id key. The data must contain latitude and longitude columns, and the skill includes a script to discover a unique, meaningful feature id key.

Why are some columns skipped in the rendered dashboard?▼

qsv viz smart skips columns whose inferred role or concept does not map to a chartable panel, such as identifiers or unresolved columns, and reports them on stderr. Editing the dictionary's role and concept fields and re-rendering fixes misrouted columns without re-calling the LLM.