Interview
genkovich/sdd
Use BEFORE roadmap or specify to get the idea OUT OF YOUR HEAD and onto disk — a Socratic interview that surfaces hidden assumptions, names tradeoffs, exposes imprecisions and proposes fresh angles…
Maintain and improve existing k6 test scripts. An agent skill from grafana/skills.
$ npx skills add grafana/skills --skill k6-test-maintenance -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install grafana/skills k6-test-maintenance --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/grafana/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/grafana-k6/k6-test-maintenance .claude/skills/k6-test-maintenance && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "k6-test-maintenance" agent skill from https://github.com/grafana/skills/tree/main/skills/grafana-k6/k6-test-maintenance into .claude/skills/k6-test-maintenance/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "k6-test-maintenance", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/grafana/skills/tree/main/skills/grafana-k6/k6-test-maintenanceType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add grafana/skills --skill k6-test-maintenance -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install grafana/skills k6-test-maintenance --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/grafana/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/grafana-k6/k6-test-maintenance .agents/skills/k6-test-maintenance && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "k6-test-maintenance" agent skill from https://github.com/grafana/skills/tree/main/skills/grafana-k6/k6-test-maintenance into .agents/skills/k6-test-maintenance/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "k6-test-maintenance", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add grafana/skills --skill k6-test-maintenance -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install grafana/skills k6-test-maintenance --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/grafana/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/grafana-k6/k6-test-maintenance .cursor/skills/k6-test-maintenance && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "k6-test-maintenance" agent skill from https://github.com/grafana/skills/tree/main/skills/grafana-k6/k6-test-maintenance into .cursor/skills/k6-test-maintenance/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "k6-test-maintenance", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/grafana/skills.git --path skills/grafana-k6/k6-test-maintenance--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add grafana/skills --skill k6-test-maintenance -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install grafana/skills k6-test-maintenance --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/grafana/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/grafana-k6/k6-test-maintenance .gemini/skills/k6-test-maintenance && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "k6-test-maintenance" agent skill from https://github.com/grafana/skills/tree/main/skills/grafana-k6/k6-test-maintenance into .gemini/skills/k6-test-maintenance/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "k6-test-maintenance", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install grafana/skills k6-test-maintenanceInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add grafana/skills --skill k6-test-maintenance -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/grafana/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/grafana-k6/k6-test-maintenance .github/skills/k6-test-maintenance && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "k6-test-maintenance" agent skill from https://github.com/grafana/skills/tree/main/skills/grafana-k6/k6-test-maintenance into .github/skills/k6-test-maintenance/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "k6-test-maintenance", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add grafana/skills --skill k6-test-maintenance -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install grafana/skills k6-test-maintenance --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/grafana/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/grafana-k6/k6-test-maintenance .opencode/skills/k6-test-maintenance && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "k6-test-maintenance" agent skill from https://github.com/grafana/skills/tree/main/skills/grafana-k6/k6-test-maintenance into .opencode/skills/k6-test-maintenance/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "k6-test-maintenance", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
k6-test-maintenanceMaintain and improve existing k6 test scripts. An agent skill from grafana/skills.
K6 Test Maintenance is an agent skill from grafana/skills, published by the product's own GitHub organization. Maintain and improve existing k6 test scripts. Covers threshold tightening based on trend data, version migration between k6 releases, auto-fixing tests when the underlying service changes, refactoring for cleanliness, and auditing scripts against current best practices from docs. Use when the user asks to fix a failing k6 test, tighten thresholds, migrate a script to a new k6 version, refactor a test, update a script after a service change, or improve a script with best practices. Trigger on phrases like "fix my…
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/verification.md` and `references/workflows.md`).
It sits in Testing & QA, covering Load testing and Refactoring. It works with Grafana. The licence is Apache-2.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 1ccacf2. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
grafana.comjslib.k6.ioFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
K6 Test Maintenance loads about 2.4k tokens when it runs, and up to ~6.7k if it reads all its reference files. Until then it costs about 229 tokens; SKILL.md has 1,049 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from grafana/skills at commit 1ccacf2, republished under its Apache-2.0 licence (© grafana). 1,049 words, ~2,424 tokens.
.claude/skills/k6-test-maintenance/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Maintain, fix, and improve existing k6 test scripts. Five maintenance tasks,
each with a step-by-step procedure in references/workflows.md:
Classify every proposed change by whether it alters the test's runtime behavior:
let → const,
remove unused imports, update comments, reformat. Apply directly.sleep(), endpoint URL updates, check rewrites, scenario changes, new
thresholds. Always present as a diff with rationale and require confirmation.The threshold for "behavioral" is deliberately low. If in doubt, treat it as behavioral and ask -- a trivial-looking threshold change can cascade to CI gates, SLO calculations, and alerting.
k6-manage -- fetch and edit GCk6-hosted scripts safely (§5: GET, backup,
edit, validate, PUT, verify by sha256). Read it before touching any
cloud-hosted script.gcx -- sole tool for Grafana Cloud API access.validate_script and get_documentation. Check
availability first; fall back to k6 x docs if absent.k6 x docs CLI -- documentation lookup when mcp-k6 isn't configured.k6 CLI -- local validation (k6 inspect, k6 run).Every workflow produces a modified script. Never present or PUT an unvalidated script -- run this loop, fixing and re-running until it passes:
k6 inspect <script> -- catches syntax errors, invalid
options, broken imports. Works on all types including browser tests (no
browser needed). If mcp-k6 is available, also run validate_script.k6 run --vus 1 --iterations 1 <script>.references/verification.md.application/octet-stream →
sha256-verify).options.thresholds or similar declarative fields that don't alter what the
k6 runtime executes; the bytes inside default function, imported modules,
and check predicates are byte-identical. Example: p(95)<500 → p(95)<420.default function,
imports, helper modules, request URLs, check predicates, or to
scenarios.*.vus/iterations/duration/executor (which alter load shape
and metric distributions). Example: changing a URL, adding a check, rewriting
auth, switching executors.When in doubt, treat as Class B.
| Class | Test duration | Verification |
|---|---|---|
| A | any | sha256 + k6 inspect + historical pass/fail prediction. No cloud run needed. |
| B | short (< 5 min) | sha256 + k6 inspect + full cloud run (k6-manage §11). |
| B | long (≥ 5 min) | sha256 + k6 inspect + local 1-iteration smoke + k6 cloud run of a local copy with --vus 1 --iterations 1. PUT to the saved test only after the cloud smoke passes. |
Verification depth depends on the change class, not the test's duration -- most
edits don't need a full run, and production tests may run for hours. Per-class
recipes (Class A prediction table, Class B short/long, edge cases like scenario
changes and loosening) are in
references/verification.md.
Before proposing any change that touches k6 APIs, imports, or patterns, confirm it against current docs and cite the source in your report -- this grounds recommendations in the real API, not stale model knowledge. Look up in order:
get_documentation("best_practices"),
get_documentation("javascript-api/k6-browser"), validate_script(...).k6 x docs CLI (always available):k6 x docs using-k6 thresholds
k6 x docs javascript-api k6-http
k6 x docs search "websocket migration"using-k6 thresholds,
not thresholds). k6 x docs serves docs for the installed k6 version -- it
may lag the target version when migrating.https://grafana.com/docs/k6/latest/.A common browser-test bug: using check() from k6 with async predicates. The
built-in check() does not await Promises, so
check(page, { 'title': p => p.locator('h1').textContent() === 'Foo' }) silently
passes because the Promise object is truthy. Two valid fixes:
import { check } from 'https://jslib.k6.io/k6-utils/1.5.0/index.js' -- then
predicates can be async and await inside them works.const text = await page.locator('h1').textContent(); check(text, { ... }) --
keeps the standard sync check from k6.When you hit this during any workflow (migration, refactor, audit), flag it as a behavioral bug and propose one of these fixes.
k6-manage §5 (GET → backup → edit →
validate → PUT → verify sha256).Determine the source before starting: a GCk6 test URL or ID is cloud-hosted; a file path is local.
Full procedures are in references/workflows.md:
All five follow behavior-aware change control: auto-apply syntactic changes, present behavioral ones as diffs for confirmation.
| Issue | Detail |
|---|---|
| Cloud script format | GCk6 scripts can be single files or tar archives. Detect with file(1) before editing (see k6-manage §5). |
| Zero-observation thresholds | A threshold on a metric with no observations passes by default. When adding new thresholds, ensure the metric is actually emitted by the test. |
| abortOnFail cascades | If a threshold has abortOnFail: true, tightening it means runs abort earlier. Warn the user. |
| Browser script validation | Browser scripts can't be validated with k6 run --iterations 1 without a browser. Use k6 inspect for parse-only validation, or validate_script via mcp-k6. |
| k6 x docs version alignment | k6 x docs serves docs for the installed k6 version; when migrating to a newer version, local docs may not reflect the target API. Note this in migration lookups. |
| Script drift after edit | After pushing a cloud-hosted script, the next run uses the new version, but historical runs keep their bundled snapshot. To investigate a past failure, compare the run-bundled script (read-only), not the current one. |
references/workflows.md -- step-by-step procedures for the five maintenance tasksreferences/verification.md -- per-class post-edit verification recipes© grafana, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in skills/grafana-k6/k6-test-maintenance of grafana/skills.
Open the folder on GitHubat commit 1ccacf2
K6 Test Maintenance next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| K6 Test Maintenance this skillgrafana/skills | 282 | — | ~2.4k | Automated safety check: Pass | Apache-2.0 | |
| Interviewgenkovich/sdd | 171 | — | ~3.8k | Automated safety check: Pass | MIT | |
| Triage Sonarqubenetdata/netdata | 81k | — | ~2.8k | Automated safety check: Notes | GPL-3.0 | |
| Renovate Batch Updategrafana/quickpizza | 171 | — | ~3.2k | Automated safety check: Pass | Apache-2.0 | |
| Rust Skillsnoh-rs/nohrs | 156 | — | ~5.3k | Automated safety check: Pass | MIT | |
| Monitoring ExpertJeffallan/claude-skills | 12k | — | ~1.6k | Automated safety check: Pass | MIT |
genkovich/sdd
Use BEFORE roadmap or specify to get the idea OUT OF YOUR HEAD and onto disk — a Socratic interview that surfaces hidden assumptions, names tradeoffs, exposes imprecisions and proposes fresh angles…
netdata/netdata
Inspect, review, or apply authorized triage decisions to SonarCloud issues and security hotspots; also review the Sonar helpers.
grafana/quickpizza
Consolidate all open Renovate PRs on quickpizza into tested, reviewable PRs.
noh-rs/nohrs
Comprehensive Rust coding guidelines with 179 rules across 14 categories.
Jeffallan/claude-skills
Sets up application monitoring: structured logs, Prometheus metrics, OpenTelemetry tracing, Grafana dashboards, alert rules and load tests with k6 or Artillery.
affaan-m/ECC
Verification loop for Quarkus projects: build, static analysis (Checkstyle, PMD, SpotBugs), tests with JaCoCo coverage, OWASP dependency and container security scans, GraalVM native compilation…
grafana/skills
Write or review k6 documentation across the three k6 repositories - k6-DefinitelyTyped (TypeScript types), k6-docs (user documentation), and k6 (release notes / changelog).
grafana/skills
Configure Grafana Alerting, Incident Response Management (IRM), and SLOs end-to-end — provisions Grafana-managed and data-source-managed alert rules, contact points (Slack/PagerDuty/email/webhook)…
grafana/skills
Build, modify, and ship Grafana dashboards as JSON via the HTTP API — panel types (timeseries / stat / gauge / table / heatmap / logs / traces / node-graph), gridPos 24-column layout, units…
grafana/skills
A skill your agent uses when the user wants to performance-test, load-test, or stress-test a public website end-to-end with k6.
grafana/skills
Write, validate, and optimize PromQL for Prometheus / Grafana Mimir / Grafana Cloud Metrics.
grafana/skills
Cut Grafana Cloud Metrics cost by shrinking active-series count with Adaptive Metrics aggregation rules — auto-recommendations from query history, custom exact/regex rules, label-drop config…
Works with
Categories
Maintain and improve existing k6 test scripts. An agent skill from grafana/skills. K6 Test Maintenance is an agent skill from grafana/skills, published by the product's own GitHub organization. Maintain and improve existing k6 test scripts.
K6 Test Maintenance fits situations like: the user asks to fix a failing k6 test; tighten thresholds; migrate a script to a new k6 version; refactor a test.
Run `npx skills add grafana/skills --skill k6-test-maintenance -a claude-code`. Or copy the skill folder (skills/grafana-k6/k6-test-maintenance in grafana/skills) into .claude/skills/k6-test-maintenance in your project. Claude Code loads it when a task matches its description.
Run `npx skills add grafana/skills --skill k6-test-maintenance -a codex`. Or copy the skill folder (skills/grafana-k6/k6-test-maintenance in grafana/skills) into .agents/skills/k6-test-maintenance in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add grafana/skills --skill k6-test-maintenance -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/k6-test-maintenance, .gemini/skills/k6-test-maintenance, .github/skills/k6-test-maintenance and .opencode/skills/k6-test-maintenance in your project.
SKILL.md names no scripts, command-line tools or credentials: K6 Test Maintenance is instructions for the agent only.
SKILL.md names 2 domains. In commands or code: grafana.com and jslib.k6.io; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
K6 Test Maintenance is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.4k tokens (SKILL.md is roughly 9.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with K6 Test Maintenance: Interview (genkovich/sdd, 171 stars), Triage Sonarqube (netdata/netdata, 81k stars), Renovate Batch Update (grafana/quickpizza, 171 stars) and Rust Skills (noh-rs/nohrs, 156 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
grafana (a GitHub organization, an official publisher) maintains it in grafana/skills, which has 282 GitHub stars. The repository holds 51 skills in this directory. The repository was last updated on October 8, 2026.
Source: grafana/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.