PrometheusCAUTION
A framework for building agentic apps
Overview
A framework for building agentic apps
d31edd75948aOBSERVED · 2026-10-14What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
---
name: prometheus
description: >-
Query Prometheus-compatible metrics endpoints (self-hosted, Grafana Cloud Prom, AMP, etc.)
via the prometheus action and as a dashboard panel source.
---
# Prometheus
Direct integration with the Prometheus HTTP API. Works against any Prometheus-compatible endpoint: self-hosted Prometheus, Grafana Cloud, Amazon Managed Prometheus, Thanos, Cortex, Mimir.
## Credentials
| Env Var | Required | Notes |
| ------------------------- | -------- | --------------------------------------------------------------------------- |
| `PROMETHEUS_URL` | yes | Base URL, no trailing slash, e.g. `https://prometheus.example.com`. |
| `PROMETHEUS_USERNAME` | no | Basic auth username. Grafana Cloud uses the stack instance ID here. |
| `PROMETHEUS_PASSWORD` | no | Basic auth password / API token. Must be paired with `PROMETHEUS_USERNAME`. |
| `PROMETHEUS_BEARER_TOKEN` | no | Bearer token. Used only when no full `USERNAME` + `PASSWORD` pair is set. |
Auth selection is deterministic: full basic-auth pair wins → bearer token → no `Authorization` header. Partial basic (username XOR password) is treated as no basic.
## Agent usage — `pnpm action prometheus`
| Mode | Args | Purpose |
| -------------- | ----------------------------------------------------------------- | ------------------------------------------ |
| `query` | `--query <promql> [--time <RFC3339>]` | Instant query (default). |
| `query_range` | `--query <promql> --start <RFC3339> --end <RFC3339> [--step 30s]` | Range query for time series. |
| `labels` | | List all label names. |
| `label_values` | `--label <name>` | Values for one label (good for discovery). |
| `series` | `--match '["up{job=\"api\"}"]'` | Series matching one or more matchers. |
| `metadata` | `[--metric <name>]` | Metric metadata (type, help text, unit). |
| `alerts` | | Currently firing alerts. |
Step is auto-calculated when omitted (~250 points across the range, clamped to a 15s minimum). When the user asks "what metrics are available", start with `labels`, then `label_values --label=__name__`.
## Dashboard panels
Prometheus is a valid panel `source`. The `sql` field is still a string in the
dashboard config; put the serialized JSON descriptor in that string, not a
parsed object.
```json
"{\"promql\":\"rate(http_requests_total{job=\\\"api\\\"}[5m])\",\"mode\":\"range\",\"range\":\"1h\",\"step\":\"30s\"}"
```
Defaults: `mode=range`, `range=1h`, `step=auto`. Use `mode=instant` only for `metric` / `callout` chart types.
The dispatcher returns one row per (timestamp, series) with shape `{timestamp, series, value}`. Set panel `config` so charts render correctly:
```json
{
"xKey": "timestamp",
"yKey": "value"
}
```
When a query fans out into many series, the `series` column will hold a `metric_name{k1="v1",k2="v2"}` label per row — that's the natural grouping for a line chart with multiple series.
## Node Exporter dashboards
Use `list-sql-dashboards` to find an existing Node Exporter dashboard, then use
`update-dashboard` to create or repair one from the supported panel definitions:
```bash
```
`node-exporter-macos` is the comprehensive Darwin/Homebrew dashboard for macOS scrapes; it covers CPU, load, macOS memory fields, swap, APFS filesystems, disk IO, network devices, battery/power, scrape health, exporter process stats, Go runtime stats, and a metric-family coverage table. `node-exporter-full` is converted from Grafana dashboard 1860 revision 45 and lives at `seeds/dashboards/node-exporter-full.json`; it contains 124 Prometheus query panels, 16 section dividers, and native tabs for Overview, CPU & Memory, System, Storage, Network, and Exporter. The Full dashboard is Linux-focused because Grafana 1860 expects Linux collectors such as `node_memory_MemAvailable_bytes`, pressure stall information, `node_sockstat_*`, `node_netstat_*`, `node_timex_*`, `node_systemd_*`, and `node_hwmon_*`; Homebrew/macOS node_exporter omits many of those, so empty panels on macOS are expected. The templates use `job`, `instance`, and `range` filters; set `instance` to the Prometheus `instance` label from `node_uname_info`.
### Local setup via Homebrew (macOS)
```bash
brew install node_exporter prometheus
brew services start node_exporter # metrics at http://localhost:9100/metrics
```
Edit `/opt/homebrew/etc/prometheus.yml`:
```yaml
global:
scrape_interval: 1s
scrape_configs:
- job_name: node
static_configs:
- targets: ["localhost:9100"]
```
```bash
brew services restart prometheus # Prometheus UI at http://localhost:9090
```
Paste `http://localhost:9090` as the Prometheus URL in Data Sources, then use
`list-sql-dashboards` and `update-dashboard` to manage the desired Node Exporter
dashboard.
## Incident Investigation Pattern
**Query real metrics FIRST, analyze code second.** When investigating production
issues (spikes, outages, errors, performance degradation):
1. **Query actual metrics FIRST** — use Prometheus/Grafana, first-party
Analytics Monitoring -> Errors, external Sentry, and Cloud Logging before
looking at code. Real data tells you what happened; code only tells you what
_could_ happen.
2. **Check upstream dependencies** — many incidents are caused by provider-side
degradation (LLM APIs, external services), not local code. Query latency
metrics for each upstTrust audit
CAUTIONgrade B · trust 89/100 Install with care. The audit found things worth knowing before you trust its output.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | WARN |
| L1 | Static analysis of the code | NA |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (5)
.agents/skills/an
.agents/skills/content-product-development
.agents/skills/design-exploration
.agents/skills/turn-into-app
.agents/skills/visual-edit
Gates applied: no_behavioural_pass.
d31edd75948afull audit observations/trust-audit/skill/builderio__prometheus.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-14 | d31edd75948a | CAUTION | B | 89 | first audit |
Questions
What does the Prometheus skill do?
A framework for building agentic apps
Is Prometheus safe to install?
With care. The audit graded it B (89/100) and found 5 things worth knowing before you trust this skill, listed below with the exact line each was found on.
What can Prometheus access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
How current is this page?
The grade is for one exact copy of the source (d31edd75948a), read on 2026-10-14. The repository is watched, and a new audit runs when it changes — this is the first audit.
Add this badge to your README
Shows this page's audit result and links back to it. It updates when the audit does.
[](https://modelsatlas.com/skills/builderio/prometheus/)
Not your listing, or something out of date? Claim or update your listing.