Clickhouse Logs Queries
supabase/supabase
Write, review, and migrate Supabase logs queries against the ClickHouse-backed logs table (the logs.all.otel analytics endpoint).
Time-series database implementation for metrics, IoT, financial data, and observability backends.
$ npx skills add ancoleman/ai-design-components --skill using-timeseries-databases -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ancoleman/ai-design-components using-timeseries-databases --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ancoleman/ai-design-components.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/using-timeseries-databases .claude/skills/using-timeseries-databases && rm -rf skills-srcUse ~/.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/
Install the "using-timeseries-databases" agent skill from https://github.com/ancoleman/ai-design-components/tree/main/skills/using-timeseries-databases into .claude/skills/using-timeseries-databases/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "using-timeseries-databases", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ancoleman/ai-design-components/tree/main/skills/using-timeseries-databasesType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ancoleman/ai-design-components --skill using-timeseries-databases -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ancoleman/ai-design-components using-timeseries-databases --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ancoleman/ai-design-components.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/using-timeseries-databases .agents/skills/using-timeseries-databases && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "using-timeseries-databases" agent skill from https://github.com/ancoleman/ai-design-components/tree/main/skills/using-timeseries-databases into .agents/skills/using-timeseries-databases/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "using-timeseries-databases", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ancoleman/ai-design-components --skill using-timeseries-databases -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ancoleman/ai-design-components using-timeseries-databases --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ancoleman/ai-design-components.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/using-timeseries-databases .cursor/skills/using-timeseries-databases && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "using-timeseries-databases" agent skill from https://github.com/ancoleman/ai-design-components/tree/main/skills/using-timeseries-databases into .cursor/skills/using-timeseries-databases/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "using-timeseries-databases", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ancoleman/ai-design-components.git --path skills/using-timeseries-databases--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ancoleman/ai-design-components --skill using-timeseries-databases -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ancoleman/ai-design-components using-timeseries-databases --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ancoleman/ai-design-components.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/using-timeseries-databases .gemini/skills/using-timeseries-databases && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "using-timeseries-databases" agent skill from https://github.com/ancoleman/ai-design-components/tree/main/skills/using-timeseries-databases into .gemini/skills/using-timeseries-databases/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "using-timeseries-databases", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ancoleman/ai-design-components using-timeseries-databasesInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ancoleman/ai-design-components --skill using-timeseries-databases -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ancoleman/ai-design-components.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/using-timeseries-databases .github/skills/using-timeseries-databases && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "using-timeseries-databases" agent skill from https://github.com/ancoleman/ai-design-components/tree/main/skills/using-timeseries-databases into .github/skills/using-timeseries-databases/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "using-timeseries-databases", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ancoleman/ai-design-components --skill using-timeseries-databases -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ancoleman/ai-design-components using-timeseries-databases --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ancoleman/ai-design-components.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/using-timeseries-databases .opencode/skills/using-timeseries-databases && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "using-timeseries-databases" agent skill from https://github.com/ancoleman/ai-design-components/tree/main/skills/using-timeseries-databases into .opencode/skills/using-timeseries-databases/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "using-timeseries-databases", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
using-timeseries-databasesTime-series database implementation for metrics, IoT, financial data, and observability backends.
Using Timeseries Databases is an agent skill from ancoleman/ai-design-components. Time-series database implementation for metrics, IoT, financial data, and observability backends. Use when building dashboards, monitoring systems, IoT platforms, or financial applications. Covers TimescaleDB (PostgreSQL), InfluxDB, ClickHouse, QuestDB, continuous aggregates, downsampling (LTTB), and retention policies.
Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 19 other files, including scripts and reference files (for example `README.md`, `examples/iot-data-pipeline/README.md` and `examples/metrics-dashboard-backend/README.md`).
It sits in Databases, covering Forecasting and time series, Data warehousing and Observability. It works with PostgreSQL, ClickHouse and SQL. The repository describes itself as: Comprehensive UI/UX and Backend component design skills for AI-assisted development with Claude. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 76551b7. It shows what the files ask for, not the result of running them.
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.
Ships 2 files in scripts/ (Python and Go), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Using Timeseries Databases loads about 1.7k tokens when it runs, and up to ~20k if it reads all its reference files. Until then it costs about 87 tokens; SKILL.md has 511 words of instructions outside code blocks.
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.
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); the scripts in this folder are not scanned.
The full file from ancoleman/ai-design-components at commit 76551b7, republished under its MIT licence (© ancoleman). 511 words, ~1,683 tokens.
.claude/skills/using-timeseries-databases/SKILL.md (or your agent's skills folder). This skill also uses 14 other files; get the full folder from GitHub.Implement efficient storage and querying for time-stamped data (metrics, IoT sensors, financial ticks, logs).
Choose based on primary use case:
TimescaleDB - PostgreSQL extension
InfluxDB - Purpose-built TSDB
ClickHouse - Columnar analytics
QuestDB - High-throughput IoT
Automatic time-based partitioning:
CREATE TABLE sensor_data (
time TIMESTAMPTZ NOT NULL,
sensor_id INTEGER NOT NULL,
temperature DOUBLE PRECISION,
humidity DOUBLE PRECISION
);
SELECT create_hypertable('sensor_data', 'time');Benefits:
Pre-computed rollups for fast dashboard queries:
-- TimescaleDB: hourly rollup
CREATE MATERIALIZED VIEW sensor_data_hourly
WITH (timescaledb.continuous) AS
SELECT time_bucket('1 hour', time) AS hour,
sensor_id,
AVG(temperature) AS avg_temp,
MAX(temperature) AS max_temp,
MIN(temperature) AS min_temp
FROM sensor_data
GROUP BY hour, sensor_id;
-- Auto-refresh policy
SELECT add_continuous_aggregate_policy('sensor_data_hourly',
start_offset => INTERVAL '3 hours',
end_offset => INTERVAL '1 hour',
schedule_interval => INTERVAL '1 hour');Query strategy:
Automatic data expiration:
-- TimescaleDB: delete data older than 90 days
SELECT add_retention_policy('sensor_data', INTERVAL '90 days');Common patterns:
Use LTTB (Largest-Triangle-Three-Buckets) algorithm to reduce points for charts.
Problem: Browsers can't smoothly render 1M points Solution: Downsample to 500-1000 points preserving visual fidelity
-- TimescaleDB toolkit LTTB
SELECT time, value
FROM lttb(
'SELECT time, temperature FROM sensor_data WHERE sensor_id = 1',
1000 -- target number of points
);Thresholds:
Time-series databases are the primary data source for real-time dashboards.
Query patterns by component:
| Component | Query Pattern | Example |
|---|---|---|
| KPI Card | Latest value | SELECT temperature FROM sensors ORDER BY time DESC LIMIT 1 |
| Trend Chart | Time-bucketed avg | SELECT time_bucket('5m', time), AVG(cpu) GROUP BY 1 |
| Heatmap | Multi-metric window | SELECT hour, AVG(cpu), AVG(memory) GROUP BY hour |
| Alert | Threshold check | SELECT COUNT(*) WHERE cpu > 80 AND time > NOW() - '5m' |
Data flow:
Auto-refresh intervals:
For implementation guides, see:
references/timescaledb.md - Setup, tuning, compressionreferences/influxdb.md - InfluxQL/Flux, retention policiesreferences/clickhouse.md - MergeTree engines, clusteringreferences/questdb.md - Line Protocol, SIMD optimizationFor downsampling implementation:
references/downsampling-strategies.md - LTTB algorithm, aggregation methodsFor examples:
examples/metrics-dashboard-backend/ - TimescaleDB + FastAPIexamples/iot-data-pipeline/ - InfluxDB + Go for IoTFor scripts:
scripts/setup_hypertable.py - Create TimescaleDB hypertablesscripts/generate_retention_policy.py - Generate retention policiesBatch inserts:
| Database | Batch Size | Expected Throughput |
|---|---|---|
| TimescaleDB | 1,000-10,000 | 100K-1M rows/sec |
| InfluxDB | 5,000+ | 500K-1M points/sec |
| ClickHouse | 10,000-100,000 | 1M-10M rows/sec |
| QuestDB | 10,000+ | 4M+ rows/sec |
Rule 1: Always filter by time first (indexed)
-- BAD: Full table scan
SELECT * FROM metrics WHERE metric_name = 'cpu';
-- GOOD: Time index used
SELECT * FROM metrics
WHERE time > NOW() - INTERVAL '1 hour'
AND metric_name = 'cpu';Rule 2: Use continuous aggregates for dashboard queries
-- BAD: Aggregate 1B rows every dashboard load
SELECT time_bucket('1 hour', time), AVG(cpu)
FROM metrics
WHERE time > NOW() - INTERVAL '30 days'
GROUP BY 1;
-- GOOD: Query pre-computed rollup
SELECT hour, avg_cpu
FROM metrics_hourly
WHERE hour > NOW() - INTERVAL '30 days';Rule 3: Downsample for visualization
// Request optimal point count
const points = Math.min(1000, chartWidth);
const query = `/api/metrics?start=${start}&end=${end}&points=${points}`;DevOps Monitoring → InfluxDB or TimescaleDB
IoT Sensor Data → QuestDB or TimescaleDB
Financial Tick Data → QuestDB or ClickHouse
User Analytics → ClickHouse
Real-time Dashboards → Any TSDB + Continuous Aggregates
© ancoleman, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 14 other files (scripts, references) in skills/using-timeseries-databases of ancoleman/ai-design-components.
Open the folder on GitHubat commit 76551b7
Using Timeseries Databases 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Using Timeseries Databases this skillancoleman/ai-design-components | 526 | — | ~1.7k | Automated safety check: Pass | MIT | |
| Clickhouse Logs Queriessupabase/supabase | 111k | — | ~2.4k | Automated safety check: Pass | Apache-2.0 | |
| Chdb Datastorevemetric/vemetric | 394 | 2 repos | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| Chdb SQLvemetric/vemetric | 394 | 1 repos | ~1.2k | Automated safety check: Pass | Apache-2.0 | |
| Querying Tempotempoxyz/tidx | 107 | — | ~3.1k | Automated safety check: Pass | MIT | |
| Semantic Analystsidequery/sidemantic | 129 | — | ~982 | Automated safety check: Pass | AGPL-3.0 |
supabase/supabase
Write, review, and migrate Supabase logs queries against the ClickHouse-backed logs table (the logs.all.otel analytics endpoint).
vemetric/vemetric
A skill your agent uses when the user has tabular data (pandas DataFrame, parquet, csv, Arrow, json) and wants to filter, group, aggregate, join, or speed up slow pandas.
vemetric/vemetric
A skill your agent uses when the user wants to run SQL — especially analytical SQL — on local files (parquet/csv/json), URLs, S3 paths, or remote databases (Postgres, MySQL, MongoDB, ClickHouse…
tempoxyz/tidx
Query indexed Tempo chain data via tidx HTTP API and CLI. An agent skill from tempoxyz/tidx.
sidequery/sidemantic
Answer analytical, KPI, metric, trend, cohort, and business-performance questions through a Sidemantic semantic layer.
Rain-kl/OpenFlare
Wavelet 项目专用:当新增或修改数据库表结构、索引、初始化数据、系统配置 seed、模板 seed、默认管理员、goose SQL 迁移、internal/infra/persistence/migrator、ClickHouse 分析库 DDL 或数据库升级流程时必须使用。本技能指导在 internal/infra/persistence/migrator/goose 下编写…
ancoleman/ai-design-components
Builds AI chat interfaces and conversational UI with streaming responses, context management, and multi-modal support.
ancoleman/ai-design-components
Builds form components and data collection interfaces including contact forms, registration flows, checkout processes, surveys, and settings pages.
ancoleman/ai-design-components
Builds tables and data grids for displaying tabular information, from simple HTML tables to complex enterprise data grids.
ancoleman/ai-design-components
Creates comprehensive dashboard and analytics interfaces that combine data visualization, KPI cards, real-time updates, and interactive layouts.
ancoleman/ai-design-components
Designs layout systems and responsive interfaces including grid systems, flexbox patterns, sidebar layouts, and responsive breakpoints.
ancoleman/ai-design-components
Displays chronological events and activity through timelines, activity feeds, Gantt charts, and calendar interfaces.
Works with
Categories
Time-series database implementation for metrics, IoT, financial data, and observability backends. Using Timeseries Databases is an agent skill from ancoleman/ai-design-components. Time-series database implementation for metrics, IoT, financial data, and observability backends.
Using Timeseries Databases fits situations like: building dashboards; monitoring systems; financial applications.
Run `npx skills add ancoleman/ai-design-components --skill using-timeseries-databases -a claude-code`. Or copy the skill folder (skills/using-timeseries-databases in ancoleman/ai-design-components) into .claude/skills/using-timeseries-databases in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ancoleman/ai-design-components --skill using-timeseries-databases -a codex`. Or copy the skill folder (skills/using-timeseries-databases in ancoleman/ai-design-components) into .agents/skills/using-timeseries-databases in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ancoleman/ai-design-components --skill using-timeseries-databases -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/using-timeseries-databases, .gemini/skills/using-timeseries-databases, .github/skills/using-timeseries-databases and .opencode/skills/using-timeseries-databases in your project.
Going by SKILL.md and its folder, Using Timeseries Databases needs Python and Go for the scripts in its folder. Our summary lists: Python 3.
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.
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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Using Timeseries Databases is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.7k tokens (SKILL.md is roughly 6.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 19k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Using Timeseries Databases: Clickhouse Logs Queries (supabase/supabase, 111k stars), Chdb Datastore (vemetric/vemetric, 394 stars), Chdb SQL (vemetric/vemetric, 394 stars) and Querying Tempo (tempoxyz/tidx, 107 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ancoleman (a GitHub user) maintains it in ancoleman/ai-design-components, which has 526 GitHub stars. The repository holds 75 skills in this directory. The repository was last updated on December 11, 2025.
Source: ancoleman/ai-design-components on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.