sqlite-data
Query and inspect SQLite databases used by data tools. Use when you need to directly inspect stored pipeline runs, metrics, or configuration data stored in a SQLite database file. Triggers include "query the database", "inspect SQLite", "check raw data", "what is in the db", or any task requiring direct database access.
Best use case
sqlite-data is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Query and inspect SQLite databases used by data tools. Use when you need to directly inspect stored pipeline runs, metrics, or configuration data stored in a SQLite database file. Triggers include "query the database", "inspect SQLite", "check raw data", "what is in the db", or any task requiring direct database access.
Teams using sqlite-data should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/sqlite-data/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How sqlite-data Compares
| Feature / Agent | sqlite-data | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Query and inspect SQLite databases used by data tools. Use when you need to directly inspect stored pipeline runs, metrics, or configuration data stored in a SQLite database file. Triggers include "query the database", "inspect SQLite", "check raw data", "what is in the db", or any task requiring direct database access.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# sqlite-data
Direct SQLite inspection for data-pipeline-monitor's internal database.
## When to use
- Debugging unexpected pipeline states
- Exporting raw run history to CSV
- Verifying alert rules stored correctly
- Manual data correction (use with care)
## Prerequisites
- `sqlite3` CLI installed: `brew install sqlite3` or `apt install sqlite3`
- Database file path: `$DPM_DATA_DIR/dpm.db` (default: `~/.dpm/dpm.db`)
## Useful Queries
### List all pipelines
```sql
SELECT id, name, schedule, created_at FROM pipelines ORDER BY created_at;
```
### Recent run history with status
```sql
SELECT r.id, r.pipeline_id, r.job_id, r.status, r.started_at, r.duration_ms, r.error_message
FROM runs r
ORDER BY r.started_at DESC
LIMIT 50;
```
### Success rate per pipeline (last 7 days)
```sql
SELECT pipeline_id,
COUNT(*) as total,
SUM(CASE WHEN status = 'success' THEN 1 ELSE 0 END) as successes,
ROUND(100.0 * SUM(CASE WHEN status = 'success' THEN 1 ELSE 0 END) / COUNT(*), 1) as rate
FROM runs
WHERE started_at > datetime('now', '-7 days')
GROUP BY pipeline_id
ORDER BY rate ASC;
```
### p50 and p95 duration per pipeline
```sql
SELECT pipeline_id,
PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY duration_ms) / 1000.0 as p50_s,
PERCENTILE_DISC(0.95) WITHIN GROUP (ORDER BY duration_ms) / 1000.0 as p95_s
FROM runs
WHERE status = 'success'
GROUP BY pipeline_id;
```
### Runs stuck in "running" state
```sql
SELECT id, pipeline_id, job_id, started_at, last_heartbeat_at
FROM runs
WHERE status = 'running'
AND last_heartbeat_at < datetime('now', '-600 seconds')
ORDER BY last_heartbeat_at ASC;
```
### Alert log (recent notifications)
```sql
SELECT al.triggered_at, a.condition, a.pipeline_id, a.channel, a.target
FROM alert_log al
JOIN alerts a ON al.alert_id = a.id
ORDER BY al.triggered_at DESC
LIMIT 20;
```
## Connect via CLI
```bash
sqlite3 ~/.dpm/dpm.db
# Enable column headers and aligned output
.headers on
.mode column
# List tables
.tables
# Schema for a table
.schema runs
```
## Schema Reference
See `ARCHITECTURE.md` for the full schema. Key tables:
| Table | Contents |
|---|---|
| `pipelines` | Pipeline registration: id, schedule, jobs |
| `jobs` | Job definitions within each pipeline |
| `runs` | Execution records: status, duration, errors |
| `alerts` | Alert rule configuration |
| `alert_log` | History of sent notifications |
| `api_keys` | API key hashes and labels |
| `settings` | Server configuration values |
## Caution
- Do not edit `runs` table directly while the server is running. It can cause state machine inconsistencies.
- The `api_keys.id` column stores SHA-256 hashes. Raw keys are never stored.
- SQLite is in WAL mode. Use `PRAGMA wal_checkpoint;` if the WAL file is large.Related Skills
food-database
No description provided.
database-size-monitor
Dashboard for monitoring PostgreSQL and MySQL table sizes over time, with growth tracking, threshold alerts, and snapshot comparison
data-pipeline-monitor
Track ETL and data pipeline jobs with success/failure status, duration tracking, heartbeat monitoring, and dependency visualization. Use when you need to monitor scheduled jobs, detect failures, track pipeline health over time, or visualize ETL step dependencies. Triggers include "pipeline monitoring", "job tracking", "ETL status", "cron job health", "heartbeat monitor", "pipeline failed", or any task involving monitoring data workflows.
data-visualization
Chart types, data aggregation patterns, and recharts usage for the csv-explorer chart builder
finetune-data-curator
Web app for creating, editing, and validating JSONL fine-tuning datasets. Checks format compliance for OpenAI, Anthropic, and Llama formats, detects duplicates, scores quality, and exports clean datasets.
Skill: Uptime Monitoring
## Overview
Skill: Status Page
## Overview
Skill: unit-conversion
## Overview
Skill: recipe-scaler
## Overview
reading-list
Operate the reading-list API to save, manage, tag, search, and export articles.
email-digest
Configure, test, and troubleshoot the reading-list daily email digest delivered via nodemailer.
websocket-realtime
Use the WebSocket connection in poll-builder to receive live vote updates. Use when you need to stream real-time poll results, monitor a poll for new votes, or build a live dashboard. Triggers include "live results", "real-time updates", "stream votes", "watch poll", or "WebSocket".