一键导入
sql-expert
// Expert system for generating, validating, and optimizing ClickHouse SQL. Use this when the user needs data, queries, or analysis.
// Expert system for generating, validating, and optimizing ClickHouse SQL. Use this when the user needs data, queries, or analysis.
Optimize slow queries, analyze SQL performance, and collect evidence for expensive workloads.
Diagnose ClickHouse cluster health and provide concrete remediation.
Diagnose ClickHouse runtime query failures when the user wants database-level cause and fix guidance from an error or numeric error code, not source-code root cause analysis.
Investigate application or repository source code with search_file and read_file to explain behavior, trace root causes of runtime or query errors, and answer with precise file citations.
Query ClickHouse system tables to inspect query logs, monitor cluster health, check replication status, and analyze slow queries. Use when the user mentions "system tables", "query_log", "ClickHouse monitoring", "cluster status", "slow queries", or asks to diagnose ClickHouse operational issues.
Rules for charts and visualization. Use when the user asks for charts, graphs, plots, or visual representations (line, bar, pie, timeseries).
| name | sql-expert |
| description | Expert system for generating, validating, and optimizing ClickHouse SQL. Use this when the user needs data, queries, or analysis. |
| metadata | {"author":"System","disable-slash-command":true} |
🚨 CRITICAL RULE: MANDATORY VALIDATION
You MUST call
validate_sql(sql)for every new query you generate. Context Note: Historical validation steps are pruned to save tokens, but this does NOT excuse you from validating new queries in the current turn. Always validate before executing.
get_tables and explore_schema first.
columns argument of explore_schema instead of loading the full table schema.ProfileEvent_*, CurrentMetric_*, and flattened event columns on system.* tables.explore_schema with a narrower columns list based on the user-mentioned identifier or the closest confirmed column names.explore_schema. Do not assume standard columns exist if they are not in the tool output.WHERE user = '<clickHouseUser>'.system.* tables (e.g., system.query_log, system.parts, system.merges), defer to the clickhouse-system-queries skill - it contains table-specific patterns, predicates, and resource metrics that this skill does not cover. For system.query_log, do not generate SQL until references/system-query-log.md has been loaded via skill_resource, and do not call search_query_log for chart/time-series requests.database.table).;).LIMIT for data exploration queries.event_date or timestamp) first. Use bounded time windows (e.g., last 24h, 7 days) unless the user asks for all history.WHERE event_time > now() - 1h (If PK is event_date, event_time, this scans everything).WHERE event_date >= toDate(now() - 1h) AND event_time > now() - 1h (Uses index, handles midnight crossover).uniq() instead of uniqExact() unless precision is explicitly requested.GLOBAL IN only for distributed queries.validate_sql(sql).
execute_sql(sql).