Agent skill

System Tables Reference

by chmonitor in chmonitor/chmonitor

Exact column names for the system tables the agent queries most (processes, querylog, parts, merges, mutations, replicas, replicationqueue, disks, settings, zookeeper, users/grants, metrics) plus…

GPL-3.0Auto-check passedDatabases

Install System Tables Reference

skills CLI
$ npx skills add chmonitor/chmonitor --skill system-tables-reference -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install chmonitor/chmonitor system-tables-reference --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/chmonitor/chmonitor.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/system-tables-reference .claude/skills/system-tables-reference && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
system-tables-reference
GitHub stars
298
Token cost
~2.2k tokens
SKILL.md length
825 words
Files
1
Skills in repo
53
Repo updated
First seen
Licence
GPL-3.0

At a glance

Exact column names for the system tables the agent queries most (processes, querylog, parts, merges, mutations, replicas, replicationqueue, disks, settings, zookeeper, users/grants, metrics) plus…

  • Tasks that involve SQL
  • SKILL.md covers Prefer Dedicated Tools Over…, system.processes — currently…, system.query_log — query history and system.parts — table parts, plus 15 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Tasks that involve Database administration

What it does

System Tables Reference is an agent skill from chmonitor/chmonitor. Exact column names for the system tables the agent queries most (processes, querylog, parts, merges, mutations, replicas, replicationqueue, disks, settings, zookeeper, users/grants, metrics) plus rules for choosing dedicated tools over raw SQL. Load before hand-writing SQL against system tables.

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Databases, covering SQL and Database administration. It works with SQL. The repository describes itself as: Open-source operational advisor for ClickHouse — real-time monitoring plus AI-driven index/partition/materialized-view recommendations. The licence is GPL-3.0.

When your agent uses it

  • Tasks that involve SQL
  • Tasks that involve Database administration

Example prompts

  • “/system-tables-reference”

What it can do on your machine

Read from SKILL.md and the folder at commit fc39ef0. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are sql).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

System Tables Reference loads about 2.2k tokens when it runs. Until then it costs about 81 tokens; SKILL.md has 825 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~81
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from chmonitor/chmonitor at commit fc39ef0, republished under its GPL-3.0 licence (© chmonitor). 825 words, ~2,244 tokens.

Download SKILL.mdSave it as .claude/skills/system-tables-reference/SKILL.md (or your agent's skills folder).
name
system-tables-reference
description
Exact column names for the system tables the agent queries most (processes, query_log, parts, merges, mutations, replicas, replication_queue, disks, settings, zookeeper, users/grants, metrics) plus rules for choosing dedicated tools over raw SQL. Load before hand-writing SQL against system tables.

System Tables Reference

Load this skill before writing raw SQL against system.* tables. It lists the columns that actually exist so you don't reference hallucinated columns. When a dedicated tool exists for what you need, call it instead of writing SQL.

Prefer Dedicated Tools Over Raw SQL

Many questions map to a purpose-built tool. Use it — the SQL is already correct and version-aware:

QuestionUse this tool, not raw SQL
What is running now?get_running_queries
Slowest finished queries?get_slow_queries
Recent failures/errors?get_failed_queries
Heaviest queries by memory/bytes/duration?list_slow_query_patterns / get_slow_queries
Active merges?get_merge_status
Replication health?get_replication_status
Disk space?get_disk_usage
Server version/uptime/connections?get_metrics

Only fall back to the query tool for ad-hoc questions that no dedicated tool covers. If a dedicated tool returns an error, fix the call (e.g. hostId is a number like 0, not a string), do not rewrite it as raw SQL.

system.processes — currently running queries

There is no database column on system.processes. Selecting it fails with "Unknown expression identifier database".

Available columns: query_id, user, query, elapsed, read_rows, read_bytes, written_rows, written_bytes, total_rows_approx, memory_usage, peak_memory_usage, query_kind, is_initial_query, address, port, initial_user, initial_query_id, client_name, thread_ids, ProfileEvents, Settings, current_database.

  • Use current_database (not database) for the session's database.
  • To exclude the monitoring query itself: WHERE query NOT LIKE '%processes%'. Do not invent syntax like WHERE is_query SELECT WITHOUT '...'.
  • elapsed is seconds (Float64). Display with formatReadableTimeDelta(elapsed).
sql
SELECT query_id, user, current_database, elapsed, read_rows, memory_usage,
       substring(query, 1, 200) AS query
FROM system.processes
WHERE query NOT LIKE '%processes%'
ORDER BY elapsed DESC

system.query_log — query history

Filter by type and time. Each query produces a QueryStart row and a finish row (QueryFinish on success, ExceptionWhileProcessing on error). For completed queries always filter WHERE type = 'QueryFinish', otherwise you double-count starts.

Key columns: query_id, type, event_time, event_date, query_start_time, query_duration_ms, read_rows, read_bytes, result_rows, memory_usage, user, query, exception_code, exception, normalized_query_hash, is_initial_query, databases, tables, columns, ProfileEvents.

  • The per-row database/table lists are databases/tables/columns (Array), not database/table.
  • Add AND is_initial_query = 1 to avoid counting internal sub-queries.

system.parts — table parts

Has database and table. Filter WHERE active = 1 for live parts. Key columns: database, table, partition, name, active, rows, bytes_on_disk, data_compressed_bytes, data_uncompressed_bytes, marks, modification_time, min_time, max_time, part_type, disk_name.

Compression ratio: data_uncompressed_bytes / data_compressed_bytes.

system.merges — active merges

Columns: database, table, elapsed, progress (0..1), num_parts, source_part_names, result_part_name, total_size_bytes_compressed, rows_read, rows_written, memory_usage, is_mutation, merge_type.

system.replicas — replication status

One row per replicated table. Columns: database, table, is_leader, is_readonly, absolute_delay, queue_size, inserts_in_queue, merges_in_queue, total_replicas, active_replicas, last_queue_update, zookeeper_path. Healthy = absolute_delay = 0, is_readonly = 0, active_replicas = total_replicas.

system.metrics vs system.events vs system.asynchronous_metrics

These three are easy to confuse — they use different column names:

  • system.metrics: instantaneous gauges. Columns metric, value, description. e.g. Query, TCPConnection, MemoryTracking.
  • system.events: cumulative counters. Columns event, value, description — the name column is event, not metric.
  • system.asynchronous_metrics: periodically sampled. Columns metric, value. e.g. Uptime, jemalloc.*, disk/CPU samples.

system.errors — error counters

Columns: name, code, value, last_error_time, last_error_message, last_error_trace. There is no last_update_time column.

system.mutations — ALTER UPDATE/DELETE progress

One row per mutation. Columns: database, table, mutation_id, command, create_time, parts_to_do, parts_to_do_names, is_done, latest_failed_part, latest_fail_time, latest_fail_reason.

  • Stuck mutation = is_done = 0 with a non-empty latest_fail_reason.
  • Use query on system.mutations. parts_to_do > 0 means still running.
Show full SKILL.md (344 more words)Show less

system.replication_queue — pending replication tasks

Columns: database, table, type, create_time, num_tries, last_exception, last_attempt_time, num_postponed, postpone_reason, node_name, is_currently_executing. High num_tries + last_exception signals a stuck entry. Prefer get_replication_status, then query system.replication_queue.

system.disks — storage devices

Columns: name, path, free_space, total_space, unreserved_space, keep_free_space, type. Used % = (total_space - free_space) / total_space. Prefer the get_disk_usage tool.

system.detached_parts — parts needing attention

Columns: database, table, partition_id, name, disk, reason, bytes_on_disk. A non-null reason (e.g. broken, unexpected) flags parts that won't be merged. Query system.detached_parts with query (no dedicated tool).

system.settings vs system.merge_tree_settings — configuration

  • system.settings: session/server settings. Columns name, value, changed, default, description, type, readonly. Filter changed = 1 for non-default values. Query system.settings with query (no dedicated tool).
  • system.merge_tree_settings: MergeTree engine settings, same columns. Query system.merge_tree_settings with query.

system.zookeeper / Keeper — coordination

system.zookeeper is an optional table that only exists when ZooKeeper or ClickHouse Keeper is configured. Querying it requires a path filter, e.g. SELECT name, value, ctime, mtime FROM system.zookeeper WHERE path = '/'. Without WHERE path = ... it errors. Query system.zookeeper with a path filter. If the query fails with "Unknown table", Keeper is not configured.

Users, roles & grants — access control

  • system.users: name, id, storage, auth_type, host_ip, host_names, default_roles_all, default_roles_list.
  • system.roles: name, id, storage.
  • system.grants: user_name, role_name, access_type, database, table, column, is_partial_revoke, grant_option.
  • system.role_grants: user_name, role_name, granted_role_name.
  • currentUser() returns the connected user; system.session_log (optional) has login history. Query system.users / system.grants / system.session_log after get_table_schema.

system.metric_log & system.asynchronous_metric_log — historical metrics

Time-series snapshots of system.metrics / system.asynchronous_metrics. Columns: event_time, event_date, plus one column per metric (wide table) in metric_log; metric, value in asynchronous_metric_log. Use for trends over time rather than instantaneous values.

system.distributed_ddl_queue — ON CLUSTER operations

Columns: entry, host_name, query, status, cluster, initiator, query_create_time, query_finish_time, exception_code. status = 'Failed' or a non-zero exception_code flags a failed distributed DDL. Query system.distributed_ddl_queue with query.

Recovery Rules

  • Unknown column (code 47) or unknown identifier → load this skill or call get_table_schema for the table, then retry with real column names. Do not guess again.
  • There is no CPU% column anywhere. Approximate load via memory_usage, read_rows, read_bytes on system.processes, or ProfileEvents such as OSCPUVirtualTimeMicroseconds in system.query_log.

Cross-references

  • Load query-optimization for EXPLAIN, PREWHERE, JOIN tuning.
  • Load troubleshooting for error-code-driven diagnosis.

© chmonitor, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/system-tables-reference of chmonitor/chmonitor.

Open the folder on GitHubat commit fc39ef0

Compare with similar skills

System Tables Reference next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

System Tables Reference compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
System Tables Reference this skillchmonitor/chmonitor298—~2.2kAutomated safety check: PassGPL-3.0
Database Architecture InterviewerPrepLabsAI/InterviewMentor112—~2.4kAutomated safety check: PassMIT
Frappe Core DatabaseImpertio-Studio/Frappe_Claude_Skill_Package187—~3.8kAutomated safety check: PassMIT
Ddia Systemswondelai/skills2.4k—~4.2kAutomated safety check: PassMIT
Golem Add Ignite Effectgolemcloud/golem1.5k—~2kAutomated safety check: PassCustom licence
System Design Data ArchitectureHoangNguyen0403/agent-skills-standard570—~910Automated safety check: PassMIT

Similar skills

  • Database Architecture Interviewer

    PrepLabsAI/InterviewMentor

    A Principal Database Engineer interviewer. An agent skill from PrepLabsAI/InterviewMentor.

    112 GitHub stars~2.4k tokensUpdated yesterday
    DatabasesAuto-check passed
  • Frappe Core Database

    Impertio-Studio/Frappe_Claude_Skill_Package

    A skill your agent uses when performing database operations in ERPNext/Frappe v14-v16.

    187 GitHub stars~3.8k tokensUpdated 20 days ago
    DatabasesAuto-check passed
  • Ddia Systems

    wondelai/skills

    Design data systems by understanding storage engines, replication, partitioning, transactions, and consistency models.

    2.4k GitHub stars~4.2k tokensUpdated 27 days ago
    DatabasesAuto-check passed
  • Golem Add Ignite Effect

    golemcloud/golem

    Uses Apache Ignite 2 from an Effect-based Golem agent through @golemcloud/effect-golem/ignite2.

    1.5k GitHub stars~2k tokensUpdated today
    DatabasesAuto-check passed
  • System Design Data Architecture

    HoangNguyen0403/agent-skills-standard

    Choose and scale the data layer: SQL versus NoSQL per access pattern, single data ownership, replication and read scaling, partition key choice, hot partition and celebrity key mitigation.

    570 GitHub stars~910 tokensUpdated yesterday
    DatabasesAuto-check passed
  • DB

    oracle/skills

    Official

    Oracle Database guidance for SQL, PL/SQL, SQLcl, ORDS, Oracle Vector SDK, administration, app development, performance, security, migrations, and agent-safe database workflows.

    872 GitHub stars~1.4k tokensUpdated yesterday
    DatabasesAuto-check passed

More from chmonitor/chmonitor

All 53 skills in this repo
  • Hyperframes Creative

    chmonitor/chmonitor

    Non-animation creative direction for HyperFrames videos. An agent skill from chmonitor/chmonitor.

    298 GitHub starsUsed in 5 repos~1.3k tokens
    Auto-check passed
  • Hyperframes Media

    chmonitor/chmonitor

    Audio and media assets for HyperFrames compositions, produced by one shared audio engine (scripts/audio.mjs) — multi-provider TTS (HeyGen / ElevenLabs / Kokoro local), background music + sound…

    298 GitHub starsUsed in 1 repo~2.8k tokens
    Auto-check: notes
  • Remotion To Hyperframes

    chmonitor/chmonitor

    Port an existing Remotion (React) composition to HyperFrames HTML.

    298 GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • Music To Video

    chmonitor/chmonitor

    A skill your agent uses when the user has a music track (an audio file, or a video to pull audio from) and wants a beat-synced HyperFrames video, calm to hard-hitting.

    298 GitHub starsUsed in 1 repo~4k tokens
    Auto-check: notes
  • Hyperframes Animation

    chmonitor/chmonitor

    All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus…

    298 GitHub starsUsed in 2 repos~1.8k tokens
    Auto-check passed
  • Faceless Explainer

    chmonitor/chmonitor

    turn arbitrary text — an article, notes, a topic, a brief — into a faceless explainer video, up to ~3 min (sweet spot 30-90s), where every visual is invented (typography, abstract graphics…

    298 GitHub stars~4.5k tokensUpdated 2 days ago
    Auto-check: notes

Works with

Categories

Questions about System Tables Reference

What does System Tables Reference do?

Exact column names for the system tables the agent queries most (processes, querylog, parts, merges, mutations, replicas, replicationqueue, disks, settings, zookeeper, users/grants, metrics) plus…. System Tables Reference is an agent skill from chmonitor/chmonitor. Exact column names for the system tables the agent queries most (processes, querylog, parts, merges, mutations, replicas, replicationqueue, disks, settings, zookeeper, users/grants, metrics) plus rules for choosing dedicated tools over raw SQL.

When should I use System Tables Reference?

System Tables Reference fits situations like: tasks that involve SQL; tasks that involve Database administration.

How do I install System Tables Reference in Claude Code?

Run `npx skills add chmonitor/chmonitor --skill system-tables-reference -a claude-code`. Or copy the skill folder (.agents/skills/system-tables-reference in chmonitor/chmonitor) into .claude/skills/system-tables-reference in your project. Claude Code loads it when a task matches its description.

How do I install System Tables Reference in Codex?

Run `npx skills add chmonitor/chmonitor --skill system-tables-reference -a codex`. Or copy the skill folder (.agents/skills/system-tables-reference in chmonitor/chmonitor) into .agents/skills/system-tables-reference in your project. Codex loads it when a task matches its description.

Can I use System Tables Reference in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add chmonitor/chmonitor --skill system-tables-reference -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/system-tables-reference, .gemini/skills/system-tables-reference, .github/skills/system-tables-reference and .opencode/skills/system-tables-reference in your project.

What does System Tables Reference need to run?

SKILL.md names no scripts, command-line tools or credentials: System Tables Reference is instructions for the agent only.

Does System Tables Reference access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is System Tables Reference safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does System Tables Reference use?

System Tables Reference is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does System Tables Reference use?

About 2.2k tokens (SKILL.md is roughly 9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to System Tables Reference?

Skills that share tags, products or a category with System Tables Reference: Database Architecture Interviewer (PrepLabsAI/InterviewMentor, 112 stars), Frappe Core Database (Impertio-Studio/Frappe_Claude_Skill_Package, 187 stars), Ddia Systems (wondelai/skills, 2.4k stars) and Golem Add Ignite Effect (golemcloud/golem, 1.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains System Tables Reference?

chmonitor (a GitHub organization) maintains it in chmonitor/chmonitor, which has 298 GitHub stars. The repository holds 53 skills in this directory. The repository was last updated on October 5, 2026.

Source: chmonitor/chmonitor on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.