SQL Expert
ClickHouse SQL regels: leidende-PK filters, gekwalificeerde namen, uniq boven uniqExact
Werkt met setup
Wat het doet
Een ClickHouse SQL authoring regelsset die beperkt hoe queries worden geschreven: volledig gekwalificeerde tabelnamen, geen afsluitende puntkomma's, verplichte LIMIT op exploratiequeries, begrensde tijdvensters, een filter op de leidende primary-key kolom wanneer een secundaire kolom wordt gefilterd, uniq() in plaats van uniqExact(), en kleinere tabel aan de rechterkant van joins. Activeert wanneer de gebruiker vraagt om een ClickHouse query te schrijven, te repareren of te optimaliseren, of om gegevens uit een ClickHouse tabel te halen. De schema-discovery en verplichte validate_sql/execute_sql workflow zijn afhankelijk van tools geleverd door de DataStoria web app, dus in plain Claude Code zijn alleen de SQL-schrijfregels van toepassing.
Testrapport
De repo gekloond (GitHub API was rate-limited, dus ik gebruikte git), SKILL.md gevonden op resources/skills/sql-expert/, en geïnstalleerd in een tijdelijke HOME=$(mktemp -d) — frontmatter geparset als geldige YAML met name=sql-expert en een 129-tekens beschrijving. Steekproefsgewijs raw fetches gecontroleerd: SKILL.md 200 en clickhouse-system-queries/references/system-query-log.md 200, maar sql-expert/references/system-query-log.md is 404, dus de relatieve referentie van de body hangt als de skill alleen is geïnstalleerd; geen curl|sh, base64, of injection tekst ergens in resources/skills/. Triggeroordelen, alle 5 correct: JA op "Write me a ClickHouse query for the top 10 slowest endpoints last week", "I need a query against our ClickHouse events table showing daily unique users", "Optimize this ClickHouse SQL, it's scanning the whole table"; NEE op "Write a Postgres query with a lateral join for each customer's latest order" en "Analyze this CSV of sales figures and tell me which region grew fastest" — hoewel de tweede zin van de beschrijving ("use this when the user needs data, queries, or analysis") geen ClickHouse qualifier heeft en een reëel over-trigger gevaar is. Output test op één MergeTree tabel (PARTITION BY toYYYYMM(event_date), ORDER BY (event_date, site_id, event_time)): baseline.sql produceerde `FROM page_views WHERE site_id = 42 AND event_time >= now() - INTERVAL 7 DAY ... uniqExact(user_id) ... LIMIT 10;` terwijl skill.sql produceerde `FROM analytics.page_views WHERE event_date >= toDate(now() - INTERVAL 7 DAY) AND event_time >= ... AND site_id = 42 ... uniq(user_id) ... LIMIT 10` zonder puntkomma — vier diff hunks, de dragende was de toegevoegde event_date predikaat die de baseline weglaat, wat ClickHouse in staat stelt partities te snoeien en de sparse index te gebruiken bij het filteren van de secundaire PK kolom site_id. Ik kon dat niet verifiëren met EXPLAIN (geen clickhouse, clickhouse-local, of docker op deze machine), en ik kon de eigen KRITISCHE REGEL van de skill — validate_sql — niet uitvoeren omdat die tool wordt geleverd met de DataStoria web app, vandaar het oordeel "setup" in plaats van "pass".
Getest op: 2026-07-21 · Claude Code 2.x (agent harness)
Installatie
git clone --depth 1 https://github.com/FrankChen021/datastoria.git /tmp/sql-expert-src mkdir -p ~/.claude/skills cp -R /tmp/sql-expert-src/resources/skills/sql-expert ~/.claude/skills/sql-expert # The SKILL.md body calls tools provided by the DataStoria app, not by Claude Code: # validate_sql, execute_sql, get_tables, explore_schema, skill_resource, search_query_log # Without a ClickHouse MCP server exposing equivalents, Claude cannot run the skill's # "MANDATORY validation" step - only the syntax/optimization rules in sections 2 and 3 apply. # The body's `references/system-query-log.md` lives in a sibling skill, not this dir. To get it: # cp -R /tmp/sql-expert-src/resources/skills/clickhouse-system-queries ~/.claude/skills/clickhouse-system-queries # Sibling skills also referenced by the body: visualization, optimize-clickhouse-sql, # diagnose-clickhouse-errors, diagnose-clickhouse-clusters, source-code-inspection # Full experience (with the tools wired up): use the app at https://datastoria.app
Commando's en voorbeeldprompts
/sql-expertClickHouse SQL regels: leidende-PK filters, gekwalificeerde namen, uniq boven uniqExact
Skills reageren op gewone verzoeken — geen commando's om te onthouden. Na installatie activeren prompts zoals deze de skill (in het Engels):
Write a ClickHouse query to aggregate daily salesOptimize this slow ClickHouse SQL queryValidate this ClickHouse query for correctness