Visualization
Sender ut ClickHouse chart-spec JSON for linje/stolpe/pai — gjengis kun inne i DataStoria-appen
Krever oppsett
Hva den gjør
Omgjør en ClickHouse SQL-spørring til en `chart-spec` JSON-blokk som velger diagramtype (linje, stolpe, pai, tabell) fra eksplisitte bruker-nøkkelord først og spørringsform deretter, og setter tittel, bredde og legendplassering etter faste regler. Utløses når brukeren ber om et diagram, en graf, en plot, en trend eller en tidsserie av ClickHouse-data. Det er en in-app-ferdighet for DataStoria web-grensesnittet: det obligatoriske `validate_sql`-trinnet og `chart-spec`-rendereren lever begge i den appen, så utenfor DataStoria forblir den utsendte blokken inert tekst.
Testrapport
Klonet til en midlertidig HOME og kopierte ferdighetskatalogen; frontmatter parset via PyYAML med name+description til stede, og de tre ressursene kroppen navngir (sql-expert/SKILL.md, clickhouse-system-queries/SKILL.md, references/system-query-log.md) returnerte alle HTTP 200 — ingen curl|sh, ingen base64, ingen hardkodede /Users-stier. Jeg skrev to artefakter for samme forespørsel (daglige commits februar 2021, SQL allerede levert, "as a line chart"): grunnlinjen sendte ut et ```python matplotlib-skript pluss en plassholder ```mermaid xychart, mens ferdighetsstyrt kjøring sendte ut en enkelt ```chart-spec JSON-blokk med type/titleOption/width/legendOption.placement:"none"/datasource.sql. Jeg kunne IKKE utføre arbeidsflytens obligatoriske trinn (b) `validate_sql` — grep plasserte den i src/lib/ai/tools/clickhouse/validate-sql.ts, et DataStoria-appverktøy som trenger en live ClickHouse, og grep fant `chart-spec` parset kun av src/components/chat/message/message-markdown.tsx — så utenfor den appen er ferdighetens utdata en urendret kodeblokk og sammenligningen er ikke en reell kapasitetsmåling. Utløserfraser bedømt: "Show me a line chart of query duration over the last 24h from system.query_log" (last, korrekt), "Visualize the top 10 tables by disk usage as a bar chart" (last, korrekt), "Give me a pie chart of ClickHouse queries by user" (last, korrekt), "Explain why my ClickHouse merge is slow" (hopp over, korrekt), "Plot my CSV sales data as a bar chart with matplotlib" (jeg ville lastet den — beskrivelsen sier bare "charts, graphs, plots" uten ClickHouse-kvalifikasjon, så den gir falske positiver på generisk diagramtegning) = 4/5.
Testet på: 2026-07-31 · Claude Code 2.x (agent harness)
Installer
git clone --depth 1 https://github.com/FrankChen021/datastoria.git /tmp/visualization-src mkdir -p ~/.claude/skills cp -R /tmp/visualization-src/resources/skills/visualization ~/.claude/skills/visualization cp -R /tmp/visualization-src/resources/skills/sql-expert ~/.claude/skills/sql-expert cp -R /tmp/visualization-src/resources/skills/clickhouse-system-queries ~/.claude/skills/clickhouse-system-queries # The last two copies are NOT optional: the visualization body orders the agent to load # `sql-expert` before generating SQL, and `clickhouse-system-queries` for system.query_log work. # HOST DEPENDENCY — this is a DataStoria in-app skill, not a standalone Claude Code skill. # Step (b) of the workflow is a mandatory `validate_sql` tool call; that tool is defined in # src/lib/ai/tools/clickhouse/validate-sql.ts and needs a live ClickHouse connection. # The `chart-spec` fenced block it outputs is parsed only by # src/components/chat/message/message-markdown.tsx. In a plain Claude Code terminal the block # renders as inert text and no chart is drawn. # To get the intended behaviour, run DataStoria itself (npm install && npm run dev in # /tmp/visualization-src) and configure a ClickHouse connection plus an AI model.
Kommandoer og eksempelprompter
/visualizationSender ut ClickHouse chart-spec JSON for linje/stolpe/pai — gjengis kun inne i DataStoria-appen
Skills utløses av vanlige forespørsler — ingen kommandoer å huske. Etter installasjonen aktiverer prompter som disse skillen (på engelsk):
Chart this data as a time seriesCreate a bar chart of quarterly revenueTurn this dataset into a pie chart