Testing
Grafana LabsOfficialPublished by Grafana Labs
- Skill
- Tool integration
- Cloud and DevOps
- Apache-2.0
- Low risk
From the skill’s files
Taken from the skill’s own files (its description, section headings and stated usage). Not an AutoGineer summary, and not written by the author as one.
Probe, load-test, and instrument frontends from Grafana Cloud. Covers Synthetic Monitoring (HTTP / DNS / TCP / Ping / Traceroute / Multihttp / k6-browser scripted checks from 20+ global probes, alert on probe_success + TLS-cert expiry), Grafana Cloud k6 (distributed load tests across AWS load-zones, scenarios, http_req_duration thresholds, CI integration via grafana/k6-action), and Frontend Observability with Faro Web SDK (RUM, Core Web Vitals, custom events, pushError, distributed-trace correlation). Use when checking website / API uptime from multiple regions, gating a release on a load test, watching for TLS-cert renewal, instrumenting a React/Vue app, tracking Core Web Vitals, or correlating frontend errors to backend traces — even when the user says "is my login flow up?", "monitor my API", "ping our endpoint every minute", "release-gate load test", "browser performance…
What it does
- Prerequisites
- Common Workflows
- Troubleshooting
When to use it
- Use when checking website / API uptime from multiple regions, gating a release on a load test, watching for TLS-cert renewal, instrumenting a React/Vue app, tracking Core Web Vitals, or correlating…
Advantages
The skill’s files do not state this.
Usage examples
The skill’s files do not state this.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/grafana/testing/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip testing.zip -d .agents/skills
Documentation by Grafana Labs
Grafana Cloud Testing
Three pillars: external probing (Synthetic Monitoring), load testing (k6 Cloud), real-user monitoring (Faro).
Prerequisites
Grafana Cloud stack
Synthetic Monitoring: SM access token (
sm:write)k6 Cloud: a Grafana Cloud k6 token + projectID
Faro: a Faro app + write-token from Frontend Observability → Apps
Common Workflows
1. Create + verify a Synthetic HTTP check
# 1. Create the check (full payload in references/synthetic.md)
curl -X POST https://synthetic-monitoring-api.grafana.net/sm/checks \
-H "Authorization: Bearer <sm-token>" -H "Content-Type: application/json" \
-d '{"job":"website","target":"https://example.com","frequency":60000,"timeout":15000,
"enabled":true,"probes":[1,5,10],
"settings":{"http":{"method":"GET","validStatusCodes":[200]}}}'
# 2. List checks — confirm it exists and is enabled
curl -s https://synthetic-monitoring-api.grafana.net/sm/checks \
-H "Authorization: Bearer <sm-token>" | jq '.[] | select(.job=="website")'
# 3. Verify probe_success arrived (wait ~60s for the first run)
# In Grafana Explore on the synthetic metrics datasource:
# probe_success{job="website"}
# Expect 1 from each probe in `probes:[1,5,10]`.
#
# Rollback: DELETE /sm/checks/<id> or set `"enabled": false`.See references/synthetic.md for all check types, PromQL queries, and alert rules.
2. Run a k6 cloud load test
# 1. Authenticate once
k6 cloud login --token <grafana-cloud-k6-token>
# 2. Validate the script locally first (smoke run, no cloud cost)
k6 run --vus 1 --duration 30s script.js
# 3. Launch in cloud
k6 cloud script.js
# → URL of the run; thresholds (p95<500ms, error<1%) decide pass/fail.
# 4. Verify in CI — exit code 0 = thresholds passed, 99 = threshold failed.
echo $?Full script + scenarios + CI YAML: references/k6-and-faro.md.
3. Instrument a frontend with Faro
# 1. Install
npm install @grafana/faro-web-sdk @grafana/faro-web-tracing// 2. initializeFaro({ url, apiKey, app, instrumentations }) — see references/k6-and-faro.md
// 3. Push a test event so we have something to look for:
faro.api.pushEvent('faro_smoketest', { ts: Date.now().toString() });# 4. Verify the collector accepted it (browser DevTools → Network)
# POST to /collect should return 202. If 401 — apiKey mismatch.
# 5. Verify in Grafana
# - Frontend Observability → your app → Sessions: should show your session
# - Explore on Loki: `{kind="event"} |= "faro_smoketest"`
# - For traces: filter by `service.name="my-frontend"` in TempoTroubleshooting
Synthetic check stuck at
probe_success=0→ checkprobe_*_duration_secondsfor the failing stage; the probe-region label tells you which prober erroredk6 cloud run "ABORTED_THRESHOLD" → a threshold tripped; inspect the run page to see which one
Faro events not landing → check the browser network call to
/collectreturns 202; common cause is wrongapiKeyorurl(must match the FE Observability app)
References
For deep authoring of Synthetic Monitoring scripted (k6) and browser checks — execution model, assertions, secrets, API/Terraform payloads — see the
synthetic-monitoring-checksskillreferences/synthetic.md— Synthetic Monitoring essentials: check types, key PromQL metrics, alert rulesreferences/synthetic-monitoring.md— deep dive: full API for check CRUD, probe selection, scripted (k6) checks, multi-step browser checksreferences/k6-and-faro.md— k6 cloud script + Faro Web SDK init snippets for end-to-end testingreferences/k6-cloud.md— deep dive: k6 cloud config (project + load zones + thresholds), CI integration, run analysis
Resources
Files
- ATTRIBUTION.mdAdded by AutoGineer835 B
- LICENSELicence file added by AutoGineer11.1 KiB
- SKILL.md5.3 KiB
- references/k6-and-faro.md2.6 KiB
- references/k6-cloud.md4.8 KiB
- references/synthetic-monitoring.md4.6 KiB
- references/synthetic.md2.2 KiB
ATTRIBUTION.md
Attribution
This folder is an unmodified copy of the Agent Skill "testing", distributed by AutoGineer (https://autogineer.com/agent-skills).
Commit: 8fb72a527961f05e708f53d2a0500709e12d7970
Published by: Grafana Labs (https://github.com/grafana)
Publisher: Grafana Labs (https://github.com/grafana)
Licence: Apache License 2.0 (https://spdx.org/licenses/Apache-2.0.html)
Licence evidence: declared in the frontmatter ("license: Apache-2.0")
Retrieved: 2026-11-07
The skill's own files are unmodified copies. AutoGineer is not affiliated with or endorsed by the author or the publisher.
Files added by AutoGineer
ATTRIBUTION.md: this file, written by AutoGineer
LICENSE: copied from LICENSE
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs network access, Needs Node.js
Security
What our scanner noticed· Low risk
- Instructions that use the network
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- Grafana Labs
- Publisher
- Grafana Labs (Official)
- Source
- grafana/skills · skills/grafana-cloud/testing · commit 8fb72a5
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Grafana Labs or Grafana Labs.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download testing.zip