time-series-dashboard
Manage dashboards, metrics, alert rules, and query time-series data in the time-series-dashboard application. Use this skill for all operations against the running server.
Best use case
time-series-dashboard is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Manage dashboards, metrics, alert rules, and query time-series data in the time-series-dashboard application. Use this skill for all operations against the running server.
Teams using time-series-dashboard 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/time-series-dashboard/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How time-series-dashboard Compares
| Feature / Agent | time-series-dashboard | 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?
Manage dashboards, metrics, alert rules, and query time-series data in the time-series-dashboard application. Use this skill for all operations against the running server.
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
# time-series-dashboard skill
This skill covers all HTTP API operations for the time-series-dashboard application.
## Authentication flow
All admin routes require a session cookie obtained from login. Ingest routes require a Bearer API key.
```bash
# 1. Get CSRF token
CSRF=$(curl -s http://localhost:3000/api/csrf | jq -r '.token')
# 2. Log in (obtain session cookie)
curl -c /tmp/tsd_cookies.txt -X POST http://localhost:3000/api/auth/login \
-H "Content-Type: application/json" \
-H "X-CSRF-Token: $CSRF" \
-d '{"password": "your-admin-password"}'
```
## API keys
```bash
# List API keys (admin)
curl -b /tmp/tsd_cookies.txt http://localhost:3000/api/keys
# Create a new API key (raw key shown only once in response)
CSRF=$(curl -b /tmp/tsd_cookies.txt -s http://localhost:3000/api/csrf | jq -r '.token')
curl -b /tmp/tsd_cookies.txt -X POST http://localhost:3000/api/keys \
-H "Content-Type: application/json" \
-H "X-CSRF-Token: $CSRF" \
-d '{"name": "production-server"}'
# Revoke an API key
curl -b /tmp/tsd_cookies.txt -X DELETE http://localhost:3000/api/keys/key_abc123 \
-H "X-CSRF-Token: $CSRF"
```
## Metrics CRUD
```bash
# List all metrics
curl -b /tmp/tsd_cookies.txt http://localhost:3000/api/metrics
# Create a metric
curl -b /tmp/tsd_cookies.txt -X POST http://localhost:3000/api/metrics \
-H "Content-Type: application/json" \
-H "X-CSRF-Token: $CSRF" \
-d '{
"name": "cpu_usage",
"slug": "cpu_usage",
"type": "gauge",
"unit": "%",
"color": "#0891b2",
"description": "CPU utilization percentage"
}'
# Update a metric
curl -b /tmp/tsd_cookies.txt -X PATCH http://localhost:3000/api/metrics/cpu_usage \
-H "Content-Type: application/json" \
-H "X-CSRF-Token: $CSRF" \
-d '{"description": "Updated description"}'
# Delete a metric (also deletes all data points)
curl -b /tmp/tsd_cookies.txt -X DELETE http://localhost:3000/api/metrics/cpu_usage \
-H "X-CSRF-Token: $CSRF"
```
## Dashboards CRUD
```bash
# List dashboards
curl -b /tmp/tsd_cookies.txt http://localhost:3000/api/dashboards
# Create a dashboard
curl -b /tmp/tsd_cookies.txt -X POST http://localhost:3000/api/dashboards \
-H "Content-Type: application/json" \
-H "X-CSRF-Token: $CSRF" \
-d '{"name": "Production Overview", "defaultRange": "1h"}'
# Get a dashboard with panels
curl -b /tmp/tsd_cookies.txt http://localhost:3000/api/dashboards/dash_abc123
# Add a panel to a dashboard
curl -b /tmp/tsd_cookies.txt -X POST http://localhost:3000/api/dashboards/dash_abc123/panels \
-H "Content-Type: application/json" \
-H "X-CSRF-Token: $CSRF" \
-d '{
"title": "CPU Usage",
"metricId": "cpu_usage",
"chartType": "stat",
"width": "half"
}'
# Delete a dashboard
curl -b /tmp/tsd_cookies.txt -X DELETE http://localhost:3000/api/dashboards/dash_abc123 \
-H "X-CSRF-Token: $CSRF"
```
## Alert rules
```bash
# List alert rules
curl -b /tmp/tsd_cookies.txt http://localhost:3000/api/alerts
# Create an alert rule
curl -b /tmp/tsd_cookies.txt -X POST http://localhost:3000/api/alerts \
-H "Content-Type: application/json" \
-H "X-CSRF-Token: $CSRF" \
-d '{
"name": "High Error Rate",
"metricId": "error_rate",
"condition": "gt",
"threshold": 1.5,
"enabled": 1
}'
# Toggle a rule on/off
curl -b /tmp/tsd_cookies.txt -X PATCH http://localhost:3000/api/alerts/rule_xyz \
-H "Content-Type: application/json" \
-H "X-CSRF-Token: $CSRF" \
-d '{"enabled": 0}'
# List alert events
curl -b /tmp/tsd_cookies.txt http://localhost:3000/api/alerts/events
# List events for a specific rule
curl -b /tmp/tsd_cookies.txt http://localhost:3000/api/alerts/rule_xyz/events
```
## Querying time-series data
```bash
# Raw data - last 1 hour
curl -b /tmp/tsd_cookies.txt \
"http://localhost:3000/api/metrics/cpu_usage/data?from=-1h"
# 5-minute averages over last 24 hours
curl -b /tmp/tsd_cookies.txt \
"http://localhost:3000/api/metrics/cpu_usage/data?from=-24h&aggregation=avg&bucket=5m"
# Max over last 7 days with limit
curl -b /tmp/tsd_cookies.txt \
"http://localhost:3000/api/metrics/cpu_usage/data?from=-7d&aggregation=max&bucket=1h&limit=168"
# Ad-hoc multi-metric query
curl -b /tmp/tsd_cookies.txt \
"http://localhost:3000/api/query?metrics=cpu_usage,request_rate&from=-1h&aggregation=avg&bucket=5m"
```
## Export
```bash
# Export metric as CSV
curl -b /tmp/tsd_cookies.txt \
"http://localhost:3000/api/export?metricId=cpu_usage&from=-7d&format=csv" \
-o cpu_usage_export.csv
# Export as JSON
curl -b /tmp/tsd_cookies.txt \
"http://localhost:3000/api/export?metricId=cpu_usage&from=-24h&format=json" \
-o cpu_usage_export.json
# Export all metrics
curl -b /tmp/tsd_cookies.txt \
"http://localhost:3000/api/export?from=-30d&format=json" \
-o all_metrics_export.json
```
## Settings
```bash
# Change admin password
curl -b /tmp/tsd_cookies.txt -X POST http://localhost:3000/api/settings/password \
-H "Content-Type: application/json" \
-H "X-CSRF-Token: $CSRF" \
-d '{"currentPassword": "old-password", "newPassword": "new-password"}'
# Update retention period (days)
curl -b /tmp/tsd_cookies.txt -X PATCH http://localhost:3000/api/settings \
-H "Content-Type: application/json" \
-H "X-CSRF-Token: $CSRF" \
-d '{"retentionDays": 60}'
# Log out
curl -b /tmp/tsd_cookies.txt -X POST http://localhost:3000/api/auth/logout \
-H "X-CSRF-Token: $CSRF"
```
## Health check
```bash
curl http://localhost:3000/api/health
# {"status": "ok"}
```Related Skills
Skill: Uptime Monitoring
## Overview
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".
vitals-dashboard
Track blood pressure, heart rate, weight, blood glucose, and temperature over time with target range bands, trend analysis, alerts for out-of-range readings, correlation analysis, and CSV/PDF export. Use when a user needs to log vital sign readings, review trends, acknowledge alerts, or produce a health summary report.
home-sensor-dashboard
No description provided.
time-reports
Generate time tracking reports from terminal-time-tracker data. Use when summarizing hours by project, comparing weeks, analyzing daily patterns, or exporting time data for invoicing. Triggers include "time report", "hours by project", "weekly summary", "time breakdown", "how long did I spend", "invoice export".
terminal-time-tracker
Track time spent on projects from the terminal. Use when starting/stopping timers, logging time, viewing daily or weekly reports, or exporting time data. Triggers include "track time", "time tracker", "ttm", "log hours", "time report", "how much time", "start timer".
pomodoro-dashboard
Browser-only Pomodoro timer SPA with task tracking, focus stats, and a 12-week activity heatmap. All data stored in localStorage. No backend required.
weather-station-dashboard
Query live and historical weather sensor data, manage stations and alert thresholds, and retrieve daily summaries. Use when asked to check current temperature, view recent readings for a station, find the highest temperature recorded this week, dismiss an active alert, list which stations are online, or retrieve today's daily summary. Triggers include "current temperature", "sensor readings", "station status", "alert history", "daily summary", "wind speed", "humidity", "rainfall total", or any query about live or historical weather data.
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.