Sl
Kaelio/ktx
ktx's semantic layer - a structured catalog of sources (tables/views), measures, joins, and segments expressed as YAML.
A skill your agent uses to analyze an existing PostgreSQL database and identify which tables should be converted to Timescale/TimescaleDB hypertables.
$ npx skills add timescale/pg-aiguide --skill find-hypertable-candidates -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install timescale/pg-aiguide find-hypertable-candidates --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/timescale/pg-aiguide.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/find-hypertable-candidates .claude/skills/find-hypertable-candidates && 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 "find-hypertable-candidates" agent skill from https://github.com/timescale/pg-aiguide/tree/main/skills/find-hypertable-candidates into .claude/skills/find-hypertable-candidates/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "find-hypertable-candidates", 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/timescale/pg-aiguide/tree/main/skills/find-hypertable-candidatesType 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 timescale/pg-aiguide --skill find-hypertable-candidates -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install timescale/pg-aiguide find-hypertable-candidates --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/timescale/pg-aiguide.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/find-hypertable-candidates .agents/skills/find-hypertable-candidates && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "find-hypertable-candidates" agent skill from https://github.com/timescale/pg-aiguide/tree/main/skills/find-hypertable-candidates into .agents/skills/find-hypertable-candidates/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "find-hypertable-candidates", 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 timescale/pg-aiguide --skill find-hypertable-candidates -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install timescale/pg-aiguide find-hypertable-candidates --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/timescale/pg-aiguide.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/find-hypertable-candidates .cursor/skills/find-hypertable-candidates && 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 "find-hypertable-candidates" agent skill from https://github.com/timescale/pg-aiguide/tree/main/skills/find-hypertable-candidates into .cursor/skills/find-hypertable-candidates/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "find-hypertable-candidates", 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/timescale/pg-aiguide.git --path skills/find-hypertable-candidates--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 timescale/pg-aiguide --skill find-hypertable-candidates -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install timescale/pg-aiguide find-hypertable-candidates --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/timescale/pg-aiguide.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/find-hypertable-candidates .gemini/skills/find-hypertable-candidates && 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 "find-hypertable-candidates" agent skill from https://github.com/timescale/pg-aiguide/tree/main/skills/find-hypertable-candidates into .gemini/skills/find-hypertable-candidates/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "find-hypertable-candidates", 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 timescale/pg-aiguide find-hypertable-candidatesInstalls 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 timescale/pg-aiguide --skill find-hypertable-candidates -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/timescale/pg-aiguide.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/find-hypertable-candidates .github/skills/find-hypertable-candidates && 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 "find-hypertable-candidates" agent skill from https://github.com/timescale/pg-aiguide/tree/main/skills/find-hypertable-candidates into .github/skills/find-hypertable-candidates/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "find-hypertable-candidates", 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 timescale/pg-aiguide --skill find-hypertable-candidates -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install timescale/pg-aiguide find-hypertable-candidates --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/timescale/pg-aiguide.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/find-hypertable-candidates .opencode/skills/find-hypertable-candidates && 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 "find-hypertable-candidates" agent skill from https://github.com/timescale/pg-aiguide/tree/main/skills/find-hypertable-candidates into .opencode/skills/find-hypertable-candidates/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "find-hypertable-candidates", 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.
find-hypertable-candidatesA skill your agent uses to analyze an existing PostgreSQL database and identify which tables should be converted to Timescale/TimescaleDB hypertables.
Find Hypertable Candidates is an agent skill from timescale/pg-aiguide. Use this skill to analyze an existing PostgreSQL database and identify which tables should be converted to Timescale/TimescaleDB hypertables. Trigger when user asks to: - Analyze database tables for hypertable conversion potential - Identify time-series or event tables in an existing schema - Evaluate if a table would benefit from Timescale/TimescaleDB - Audit PostgreSQL tables for migration to Timescale/TimescaleDB/TigerData - Score or rank tables for hypertable candidacy Keywords: hypertable candidate, table…
Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Requires PostgreSQL 15+ with TimescaleDB
It sits in Data & Analytics, covering Forecasting and time series, Statistics and SQL. It works with PostgreSQL, SQL and Model Context Protocol. The repository describes itself as: MCP server and Claude plugin for Postgres skills and documentation. Helps AI coding tools generate better PostgreSQL code. The licence is Apache-2.0.
2 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 187be00. 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are sql and python).
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.
Requires PostgreSQL 15+ with TimescaleDB
From compatibility in the SKILL.md frontmatter.
Find Hypertable Candidates loads about 2.6k tokens when it runs. Until then it costs about 224 tokens; SKILL.md has 581 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); files beside SKILL.md are not scanned.
The full file from timescale/pg-aiguide at commit 187be00, republished under its Apache-2.0 licence (© timescale). 581 words, ~2,621 tokens.
.claude/skills/find-hypertable-candidates/SKILL.md (or your agent's skills folder).Identify tables that would benefit from TimescaleDB hypertable conversion. After identification, use the companion "migrate-postgres-tables-to-hypertables" skill for configuration and migration.
Performance gains: 90%+ compression, fast time-based queries, improved insert performance, efficient aggregations, continuous aggregates for materialization (dashboards, reports, analytics), automatic data management (retention, compression).
Best for insert-heavy patterns:
Requirements: Large volumes (1M+ rows), time-based queries, infrequent updates
-- Get all tables with row counts and insert/update patterns
WITH table_stats AS (
SELECT
schemaname, tablename,
n_tup_ins as total_inserts,
n_tup_upd as total_updates,
n_tup_del as total_deletes,
n_live_tup as live_rows,
n_dead_tup as dead_rows
FROM pg_stat_user_tables
),
table_sizes AS (
SELECT
schemaname, tablename,
pg_size_pretty(pg_total_relation_size(schemaname||'.'||tablename)) as total_size,
pg_total_relation_size(schemaname||'.'||tablename) as total_size_bytes
FROM pg_tables
WHERE schemaname NOT IN ('information_schema', 'pg_catalog')
)
SELECT
ts.schemaname, ts.tablename, ts.live_rows,
tsize.total_size, tsize.total_size_bytes,
ts.total_inserts, ts.total_updates, ts.total_deletes,
ROUND(CASE WHEN ts.live_rows > 0
THEN (ts.total_inserts::float / ts.live_rows) * 100
ELSE 0 END, 2) as insert_ratio_pct
FROM table_stats ts
JOIN table_sizes tsize ON ts.schemaname = tsize.schemaname AND ts.tablename = tsize.tablename
ORDER BY tsize.total_size_bytes DESC;Look for:
-- Identify common query dimensions
SELECT schemaname, tablename, indexname, indexdef
FROM pg_indexes
WHERE schemaname NOT IN ('information_schema', 'pg_catalog')
ORDER BY tablename, indexname;Look for:
-- Check availability
SELECT EXISTS (SELECT 1 FROM pg_extension WHERE extname = 'pg_stat_statements');
-- Analyze expensive queries for candidate tables
SELECT query, calls, mean_exec_time, total_exec_time
FROM pg_stat_statements
WHERE query ILIKE '%your_table_name%'
ORDER BY total_exec_time DESC LIMIT 20;✅ Good patterns: Time-based WHERE, entity filtering combined with time-based qualifiers, GROUP BY time_bucket, range queries over time ❌ Poor patterns: Non-time lookups with no time-based qualifiers in same query (WHERE email = ...)
-- Check migration compatibility
SELECT conname, contype, pg_get_constraintdef(oid) as definition
FROM pg_constraint
WHERE conrelid = 'your_table_name'::regclass;Compatibility:
# Append-only logging
INSERT INTO events (user_id, event_time, data) VALUES (...);
# Time-series collection
INSERT INTO metrics (device_id, timestamp, value) VALUES (...);
# Time-based queries
SELECT * FROM metrics WHERE timestamp >= NOW() - INTERVAL '24 hours';
# Time aggregations
SELECT DATE_TRUNC('day', timestamp), COUNT(*) GROUP BY 1;# Frequent updates to historical records
UPDATE users SET email = ..., updated_at = NOW() WHERE id = ...;
# Non-time lookups
SELECT * FROM users WHERE email = ...;
# Small reference tables
SELECT * FROM countries ORDER BY name;✅ GOOD:
❌ POOR:
Sequential ID tables can be candidates if:
CREATE TABLE orders (
id BIGSERIAL PRIMARY KEY, -- Can partition by ID
user_id BIGINT,
created_at TIMESTAMPTZ DEFAULT NOW() -- For sparse indexes
);Note: For ID-based tables where there is also a time column (created_at, ordered_at, etc.),
you can partition by ID and use sparse indexes on the time column.
See the migrate-postgres-tables-to-hypertables skill for details.
✅ Event/Log Tables (user_events, audit_logs)
CREATE TABLE user_events (
id BIGSERIAL PRIMARY KEY,
user_id BIGINT,
event_type TEXT,
event_time TIMESTAMPTZ DEFAULT NOW(),
metadata JSONB
);
-- Partition by id, segment by user_id, enable minmax sparse_index on event_time✅ Sensor/IoT Data (sensor_readings, telemetry)
CREATE TABLE sensor_readings (
device_id TEXT,
timestamp TIMESTAMPTZ,
temperature DOUBLE PRECISION,
humidity DOUBLE PRECISION
);
-- Partition by timestamp, segment by device_id, minmax sparse indexes on temperature and humidity✅ Financial/Trading (stock_prices, transactions)
CREATE TABLE stock_prices (
symbol VARCHAR(10),
price_time TIMESTAMPTZ,
open_price DECIMAL,
close_price DECIMAL,
volume BIGINT
);
-- Partition by price_time, segment by symbol, minmax sparse indexes on open_price and close_price and volume✅ System Metrics (monitoring_data)
CREATE TABLE system_metrics (
hostname TEXT,
metric_time TIMESTAMPTZ,
cpu_usage DOUBLE PRECISION,
memory_usage BIGINT
);
-- Partition by metric_time, segment by hostname, minmax sparse indexes on cpu_usage and memory_usage❌ Reference Tables (countries, categories)
CREATE TABLE countries (
id SERIAL PRIMARY KEY,
name VARCHAR(100),
code CHAR(2)
);
-- Static data, no time component❌ User Profiles (users, accounts)
CREATE TABLE users (
id BIGSERIAL PRIMARY KEY,
email VARCHAR(255),
created_at TIMESTAMPTZ,
updated_at TIMESTAMPTZ
);
-- Accessed by ID, frequently updated, has timestamp but it's not the primary query dimension (the primary query dimension is id or email)❌ Settings/Config (user_settings)
CREATE TABLE user_settings (
user_id BIGINT PRIMARY KEY,
theme VARCHAR(20), -- Changes: light -> dark -> auto
language VARCHAR(10), -- Changes: en -> es -> fr
notifications JSONB, -- Frequent preference updates
updated_at TIMESTAMPTZ
);
-- Accessed by user_id, frequently updated, has timestamp but it's not the primary query dimension (the primary query dimension is user_id)For each candidate table provide:
Focus on insert-heavy patterns with time-based or sequential access. Tables scoring 8+ points are strong candidates for conversion.
© timescale, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/find-hypertable-candidates of timescale/pg-aiguide.
Open the folder on GitHubat commit 187be00
We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in timescale/pg-aiguide, which our catalogue first saw on October 7, 2026.
Find Hypertable Candidates 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 |
|---|---|---|---|---|---|---|
| Find Hypertable Candidates this skilltimescale/pg-aiguide | 1.9k | 1 repos | ~2.6k | Automated safety check: Pass | Apache-2.0 | |
| SlKaelio/ktx | 1.6k | — | ~2.7k | Automated safety check: Pass | Apache-2.0 | |
| NpgsqlrestNpgsqlRest/NpgsqlRest | 132 | — | ~7k | Automated safety check: Notes | MIT | |
| Semantic Analystsidequery/sidemantic | 129 | — | ~982 | Automated safety check: Pass | AGPL-3.0 | |
| Aurora Dsqlaws/agent-toolkit-for-aws | 2.8k | — | ~9.6k | Automated safety check: Pass | Apache-2.0 | |
| Relational Database MCP CloudbaseTencentCloudBase/CloudBase-AI-Toolkit | 1.1k | 1 repos | ~2.5k | Automated safety check: Pass | MIT |
Kaelio/ktx
ktx's semantic layer - a structured catalog of sources (tables/views), measures, joins, and segments expressed as YAML.
NpgsqlRest/NpgsqlRest
Build and modify REST APIs with NpgsqlRest — exposing PostgreSQL as HTTP endpoints from two sources (database functions/procedures/tables/views, and plain .sql files), driven by SQL comment…
sidequery/sidemantic
Answer analytical, KPI, metric, trend, cohort, and business-performance questions through a Sidemantic semantic layer.
aws/agent-toolkit-for-aws
Provisions and manages Aurora DSQL clusters, connects via psql or DSQL Connectors, manages schemas, runs queries, migrates from MySQL, diagnoses query plans, and develops apps on serverless…
TencentCloudBase/CloudBase-AI-Toolkit
[Deprecated] This is the required documentation for agents operating on the CloudBase Relational Database through MCP.
google/skills
This file generates or explains Cloud SQL resources. An agent skill from google/skills.
timescale/pg-aiguide
Explore an existing PostgreSQL database before answering questions about its data or writing SQL.
timescale/pg-aiguide
A skill your agent uses for setting up vector similarity search with pgvector for AI/ML embeddings, RAG applications, or semantic search.
timescale/pg-aiguide
A skill your agent uses to migrate identified PostgreSQL tables to Timescale/TimescaleDB hypertables with optimal configuration and validation.
timescale/pg-aiguide
A skill your agent uses for general PostgreSQL table design.
timescale/pg-aiguide
A skill your agent uses to implement hybrid search combining BM25 keyword search with semantic vector search using Reciprocal Rank Fusion (RRF).
timescale/pg-aiguide
A skill your agent uses when creating database schemas or tables for Timescale, TimescaleDB, TigerData, or Tiger Cloud, especially for time-series, IoT, metrics, events, or log data.
Works with
Categories
A skill your agent uses to analyze an existing PostgreSQL database and identify which tables should be converted to Timescale/TimescaleDB hypertables. Find Hypertable Candidates is an agent skill from timescale/pg-aiguide. Use this skill to analyze an existing PostgreSQL database and identify which tables should be converted to Timescale/TimescaleDB hypertables.
Find Hypertable Candidates fits situations like: analyze an existing PostgreSQL database and identify which tables should be converted to Timescale/TimescaleDB hypertables; user asks to: - Analyze database tables for hypertable conversion potential - Identify time-series; rank tables for hypertable candidacy Keywords: hypertable candidate; migration assessment.
Run `npx skills add timescale/pg-aiguide --skill find-hypertable-candidates -a claude-code`. Or copy the skill folder (skills/find-hypertable-candidates in timescale/pg-aiguide) into .claude/skills/find-hypertable-candidates in your project. Claude Code loads it when a task matches its description.
Run `npx skills add timescale/pg-aiguide --skill find-hypertable-candidates -a codex`. Or copy the skill folder (skills/find-hypertable-candidates in timescale/pg-aiguide) into .agents/skills/find-hypertable-candidates 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 timescale/pg-aiguide --skill find-hypertable-candidates -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/find-hypertable-candidates, .gemini/skills/find-hypertable-candidates, .github/skills/find-hypertable-candidates and .opencode/skills/find-hypertable-candidates in your project.
SKILL.md names no scripts, command-line tools or credentials: Find Hypertable Candidates is instructions for the agent only. Our summary lists: Python 3. Compatibility (from SKILL.md): Requires PostgreSQL 15+ with TimescaleDB.
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. Review the folder before installing.
Find Hypertable Candidates is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Find Hypertable Candidates: Sl (Kaelio/ktx, 1.6k stars), Npgsqlrest (NpgsqlRest/NpgsqlRest, 132 stars), Semantic Analyst (sidequery/sidemantic, 129 stars) and Aurora Dsql (aws/agent-toolkit-for-aws, 2.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
timescale (a GitHub organization) maintains it in timescale/pg-aiguide, which has 1,859 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 7, 2026.
Source: timescale/pg-aiguide on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.