SQL Expert
ClickHouse SQL-regler: ledende-PK-filtre, kvalifiserte navn, uniq over uniqExact
Krever oppsett
Hva den gjør
Et ClickHouse SQL-forfatterregelsett som begrenser hvordan spørringer skrives: fullt kvalifiserte tabellnavn, ingen etterfølgende semikolon, obligatorisk LIMIT på utforskende spørringer, avgrensede tidsvinduer, et filter på den ledende primærnøkkelkolonnen når en sekundær kolonne filtreres, uniq() i stedet for uniqExact(), og mindre tabell på høyre side av joins. Utløses når brukeren ber om å skrive, fikse eller optimalisere en ClickHouse-spørring, eller å hente data fra en ClickHouse-tabell. Dens skjema-oppdagelse og obligatoriske validate_sql/execute_sql-arbeidsflyt avhenger av verktøy levert av DataStoria web-appen, så i ren Claude Code gjelder kun SQL-skrivereglene.
Testrapport
Klonet repoet (GitHub API var rate-limited, så jeg brukte git), fant SKILL.md på resources/skills/sql-expert/, og installerte den i en midlertidig HOME=$(mktemp -d) — frontmatter parses som gyldig YAML med navn=sql-expert og en 129-tegns beskrivelse. Stikkprøvekontrollerte rå hentinger: SKILL.md 200 og clickhouse-system-queries/references/system-query-log.md 200, men sql-expert/references/system-query-log.md er 404, så tekstens relative referanse henger når ferdigheten installeres alene; ingen curl|sh, base64, eller injeksjonstekst noe sted i resources/skills/. Utløserbedømmelser, alle 5 korrekte: JA på "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"; NEI på "Write a Postgres query with a lateral join for each customer's latest order" og "Analyze this CSV of sales figures and tell me which region grew fastest" — selv om beskrivelsens andre setning ("use this when the user needs data, queries, or analysis") ikke har en ClickHouse-kvalifikator og er en reell over-utløserfare. Utdata-test på én MergeTree-tabell (PARTITION BY toYYYYMM(event_date), ORDER BY (event_date, site_id, event_time)): baseline.sql produserte `FROM page_views WHERE site_id = 42 AND event_time >= now() - INTERVAL 7 DAY ... uniqExact(user_id) ... LIMIT 10;` mens skill.sql produserte `FROM analytics.page_views WHERE event_date >= toDate(now() - INTERVAL 7 DAY) AND event_time >= ... AND site_id = 42 ... uniq(user_id) ... LIMIT 10` uten semikolon — fire diff-biter, den bærende var det lagt til event_date-predikatet som baseline utelater, som er det som lar ClickHouse beskjære partisjoner og bruke den sparsomme indeksen ved filtrering av den sekundære PK-kolonnen site_id. Jeg kunne ikke verifisere det med EXPLAIN (ingen clickhouse, clickhouse-local, eller docker på denne maskinen), og jeg kunne ikke utføre ferdighetens egen KRITISKE REGEL — validate_sql — fordi det verktøyet følger med DataStoria web-appen, derav dommen "setup" snarere enn "pass".
Testet på: 2026-07-21 · Claude Code 2.x (agent harness)
Installer
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
Kommandoer og eksempelprompter
/sql-expertClickHouse SQL-regler: ledende-PK-filtre, kvalifiserte navn, uniq over uniqExact
Skills utløses av vanlige forespørsler — ingen kommandoer å huske. Etter installasjonen aktiverer prompter som disse skillen (på engelsk):
Write a ClickHouse query to aggregate daily salesOptimize this slow ClickHouse SQL queryValidate this ClickHouse query for correctness