Onboard company employees (Claude Code CLI users) to use gapless-crypto-clickhouse package with ClickHouse Cloud credentials...
This skill provides step-by-step workflow for onboarding 3-10 company employees (Claude Code CLI users) to use gapless-crypto-clickhouse package with ClickHouse Cloud credentials.
Target: <15 minute onboarding from zero to first successful query
Access Model: Binary access (admins have full ClickHouse Cloud access, non-admins use file-based API only)
Credential Methods: Doppler (recommended) OR local .env file (fallback)
Trigger this skill when:
Check installed:
python --version)gapless-crypto-clickhouse package (pip show gapless-crypto-clickhouse)Install if missing:
pip install gapless-crypto-clickhouse
Verify installation:
python -c "import gapless_crypto_clickhouse; print(gapless_crypto_clickhouse.__version__)"
# Expected: 6.0.0 or higher
Option A: Doppler (Recommended)
aws-credentials/prd projectOption B: Local .env File (Fallback)
Guide user to choose:
Verify Doppler access:
doppler secrets --project aws-credentials --config prd --only-names | grep CLICKHOUSE
Expected output (8 secrets):
CLICKHOUSE_CLOUD_KEY_ID
CLICKHOUSE_CLOUD_KEY_SECRET
CLICKHOUSE_CLOUD_ORG_ID
CLICKHOUSE_CLOUD_SERVICE_ID
CLICKHOUSE_HOST
CLICKHOUSE_PORT
CLICKHOUSE_USER
CLICKHOUSE_PASSWORD
If missing ā User needs Doppler access from DevOps team
Reference: references/doppler-setup.md
Copy Cloud template:
cp .env.cloud.example .env
Edit .env with credentials:
.env in editorCLICKHOUSE_PASSWORD (from Doppler or ClickHouse Cloud console)CLICKHOUSE_SECURE=trueCLICKHOUSE_HOST ends with .aws.clickhouse.cloudSecurity check:
grep "^\.env$" .gitignore
Expected: .env is in .gitignore (NEVER commit credentials)
Reference: references/env-setup.md
Option A (Doppler):
doppler run --project aws-credentials --config prd -- python skills/gapless-crypto-clickhouse-onboarding/scripts/test_connection_cloud.py
Option B (.env file):
python skills/gapless-crypto-clickhouse-onboarding/scripts/test_connection_cloud.py
Expected output:
ā
Connection successful!
ClickHouse version: 25.8.1.8702
User: default
Tables visible: 150+
ā
All connection tests passed!
If errors ā Guide user through troubleshooting (see Step 6)
Test script: scripts/test_connection_cloud.py
Simple query example (Option A - Doppler):
doppler run --project aws-credentials --config prd -- python -c "
import gapless_crypto_clickhouse as gcch
# Query OHLCV data (auto-ingests if not present)
df = gcch.query_ohlcv('BTCUSDT', '1h', '2024-01-01', '2024-01-31')
print(f'ā
Query successful: {len(df)} rows')
print(df.head())
"
Simple query example (Option B - .env):
python -c "
from dotenv import load_dotenv
load_dotenv('.env') # Load credentials from .env
import gapless_crypto_clickhouse as gcch
# Query OHLCV data
df = gcch.query_ohlcv('BTCUSDT', '1h', '2024-01-01', '2024-01-31')
print(f'ā
Query successful: {len(df)} rows')
print(df.head())
"
Expected: DataFrame with OHLCV data (11 columns: open_time, open, high, low, close, volume, etc.)
Error: "Connection refused"
CLICKHOUSE_HOST ends with .aws.clickhouse.cloud and CLICKHOUSE_HTTP_PORT=8443Error: "SSL/TLS error" or "certificate verify failed"
secure=True parameterCLICKHOUSE_SECURE=true in environment variablessecure parameter support (ADR-0026)Error: "Authentication failed" or "Invalid password"
.envError: "Timeout" (>10 seconds)
Error: "Table 'gapless_crypto.klines' doesn't exist"
query_ohlcv() will auto-create schemaComplete troubleshooting guide: references/troubleshooting.md
Admins (3-10 users with ClickHouse Cloud credentials):
query_ohlcv() and database featuresNon-admins (no ClickHouse Cloud credentials):
fetch_data(), download()).env file setup (fallback method)/examples//docs/guides/python-api.md/docs/architecture/OVERVIEW.mdClickHouse Cloud Service:
<CLICKHOUSE_SERVICE_ID>aws-credentials/prd) + 1Password (Engineering vault)clickhouse-cloud-service-setup: Infrastructure-focused (API-driven service discovery)clickhouse-cloud-credentials: Credential storage (Doppler + 1Password)clickhouse-cloud-connection: Connection validation + troubleshooting