monitoring — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited monitoring (Agent Skill) and scored it 92/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 2 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 2 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
You are in AUTONOMOUS MODE. Do NOT ask questions. Do NOT pause for confirmation. Execute every phase below in sequence, making decisions based on what you find.
============================================================ PHASE 0 — INPUT ============================================================
$ARGUMENTS may contain:
prometheus, datadog, cloudwatch, newrelic, grafana--instrument — add application-level metrics instrumentation to source code--alerts-only — generate alerting rules without full dashboard setup--slo — define and configure SLO/SLI targets with burn-rate alertslatency, errors, traffic, saturation============================================================ PHASE 1 — INFRASTRUCTURE DETECTION ============================================================
Scan for existing monitoring setup:
Prometheus ecosystem:
prometheus.yml, prometheus/ directoryalertmanager.yml, alertmanager/ directorygrafana/, dashboards/, *.json with "panels" keyprometheus, grafana, alertmanagerCloud-native:
aws_cloudwatch_* resourcesgoogle_monitoring_* resourcesazurerm_monitor_* resourcesThird-party:
datadog.yaml, DD_* environment variables, datadog-agent in compose.newrelic.yml, NEW_RELIC_* env vars, newrelic in dependenciessentry.properties, SENTRY_DSN in env, @sentry/* in depsApplication stack:
prom-client, express-prometheus-middleware, @opentelemetry/*prometheus_client, django-prometheus, opentelemetry-*prometheus/client_golang, go.opentelemetry.ioInfrastructure:
============================================================ PHASE 2 — METRICS DESIGN (Golden Signals) ============================================================
Design metrics based on the Four Golden Signals:
1. Latency — time to service a request
http_request_duration_seconds (histogram)2. Traffic — demand on the system
http_requests_total (counter)3. Errors — rate of failed requests
http_errors_total (counter) — 5xx responseshttp_client_errors_total (counter) — 4xx responses4. Saturation — how full the service is
============================================================ PHASE 3 — APPLICATION INSTRUMENTATION (if --instrument) ============================================================
Add metrics middleware to the application:
Node.js (Express/Fastify):
prom-client dependencyhttp_request_duration_seconds and http_requests_total/metrics endpoint exposing Prometheus formatPython (FastAPI/Django):
prometheus_client or prometheus-fastapi-instrumentator/metrics endpointGo:
promhttp.Handler() on /metricspromauto for auto-registering metricspromhttp.InstrumentHandlerDurationAlso add to the application:
/health (liveness), /ready (readiness)/version returning app version and build info============================================================ PHASE 4 — PROMETHEUS + GRAFANA SETUP ============================================================
If using Prometheus stack, generate:
`monitoring/prometheus/prometheus.yml`:
alerts/*.ymlapp:{port} on /metrics with 10s interval`monitoring/prometheus/alerts/app.yml`: Alert rules (all with for duration to prevent flapping):
HighErrorRate: rate(http_errors_total[5m]) / rate(http_requests_total[5m]) > 0.01 for 5m (critical)HighLatency: P99 > 2s for 5m (warning)HighMemoryUsage: > 512MB for 10m (warning)HighCPU: > 80% for 10m (warning)DiskUsageHigh: > 80% for 5m (warning)ServiceDown: up == 0 for 1m (critical)`monitoring/grafana/dashboards/app.json`: Grafana dashboard JSON with panels:
`monitoring/grafana/provisioning/dashboards.yml`: File-based dashboard provisioning.
Docker Compose (monitoring/docker-compose.monitoring.yml):
============================================================ PHASE 5 — CLOUD MONITORING (if Datadog/CloudWatch/New Relic) ============================================================
Datadog:
datadog.yaml agent configdd-trace to application dependenciesCloudWatch:
New Relic:
newrelic.yml configuration============================================================ PHASE 6 — SLO CONFIGURATION (if --slo) ============================================================
Define SLOs based on service type:
Generate burn rate alerts:
============================================================ SELF-HEALING VALIDATION (max 2 iterations) ============================================================
After completing deployment/infrastructure changes, validate:
IF STILL FAILING after 2 iterations:
============================================================ OUTPUT ============================================================
## Monitoring Setup Complete
### Stack: {Prometheus + Grafana / Datadog / CloudWatch / New Relic}
### Files Created
{list of all generated files with one-line descriptions}
### Metrics Endpoints
- Application: http://localhost:{port}/metrics
- Prometheus: http://localhost:9090
- Grafana: http://localhost:3001 (admin/admin)
- Alertmanager: http://localhost:9093
### Alert Rules
| Alert | Condition | Severity |
|-------|-----------|----------|
| HighErrorRate | >1% for 5m | critical |
| HighLatency | P99 >2s for 5m | warning |
| HighMemory | >512MB for 10m | warning |
| DiskUsageHigh | >80% for 5m | warning |
| ServiceDown | down for 1m | critical |
### Dashboard Panels
{list of dashboard panels with their metric queries}============================================================ NEXT STEPS ============================================================
docker compose -f monitoring/docker-compose.monitoring.yml up -d============================================================ SELF-EVOLUTION TELEMETRY ============================================================
After producing output, record execution metadata for the /evolve pipeline.
Check if a project memory directory exists:
~/.claude/projects/skill-telemetry.md in that memory directoryEntry format:
### /monitoring — {{YYYY-MM-DD}}
- Outcome: {{SUCCESS | PARTIAL | FAILED}}
- Self-healed: {{yes — what was healed | no}}
- Iterations used: {{N}} / {{N max}}
- Bottleneck: {{phase that struggled or "none"}}
- Suggestion: {{one-line improvement idea for /evolve, or "none"}}Only log if the memory directory exists. Skip silently if not found. Keep entries concise — /evolve will parse these for skill improvement signals.
============================================================ DO NOT ============================================================
rate() on gauges — use rate() only on counters and histogramsfor duration — always require sustained condition~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.