learning-looplisted
Install: claude install-skill mattbutlerengineering/mattbutlerengineering
# Learning Loop
Closed-loop improvement system: collect sensor data → detect regressions → create issues → verify fixes → learn from results.
## Workflow
### Step 0: Collect Domain Metrics
Run the booking-funnel telemetry collector so the `domainActivity` sensor has fresh data before Step 1 runs:
```bash
node scripts/collect-domain-metrics.mjs
```
Requires `DOMAIN_METRICS_VENUE_ID` in the environment (optionally `DOMAIN_METRICS_API_BASE_URL`, `DOMAIN_METRICS_TOKEN`); without it, or on a network/API failure, the collector prints a skip message and exits 0 — it never blocks the loop. On success it appends one row to `metrics/domain-metrics.jsonl`, which the `domainActivity` sensor reads in Step 1.
### Step 1: Collect Sensor Data
Run the unified sensor report to gather metrics from all available sensors:
```bash
node scripts/sensor-report.mjs
```
Read the output. The script queries every sensor registered in `scripts/sensors-registry.mjs` (the list-of-record — check there for the current count and coverage) and persists the report to `metrics/sensor-report.json`. It also detects regressions by comparing against the previous report.
If the script exits with code 1, regressions were detected. Note them for Step 3.
### Step 1b: Sentry Triage
If the Sentry MCP is available, run production error triage:
Invoke `/sentry-triage` to query Sentry for new/regressed production errors and create GitHub issues for any that pass the severity/frequency/deduplication filters.
Thi