Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Consensys/ask-o11y-plugin --skill writing-k6-testsgit clone --depth 1 https://github.com/Consensys/ask-o11y-pluginWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/consensys/ask-o11y-plugin/writing-k6-tests)<a href="https://agentmods.dev/skills/consensys/ask-o11y-plugin/writing-k6-tests"><img src="https://agentmods.dev/badge/skills/consensys/ask-o11y-plugin/writing-k6-tests/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/consensys/ask-o11y-plugin/writing-k6-tests"><img src="https://agentmods.dev/badge/skills/consensys/ask-o11y-plugin/writing-k6-tests.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00109 | $0.01480 |
| Opus 5.5 | $0.00044 | $0.00592 |
| Sonnet 5.5 | $0.00022 | $0.00296 |
| Haiku 4.5 | $0.00011 | $0.00148 |
Grade A, and why
writing-k6-tests scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 29d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 104 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Write complete, runnable k6 scripts for load testing or Grafana Synthetic Monitoring (SM) checks. You have no k6 execution tools — authoring is the deliverable; give the user the exact run command.
Decide the goal first
- Load/perf test (throughput, latency under load, breaking point): full k6 script with load profile. This is the default reading of "load test".
- Synthetic Monitoring check (uptime, "does the user journey work right now"): one iteration, one VU, fixed schedule. No load idioms —
vus,stages,iterationsare ignored by SM andthresholdsare not supported. Say "check", "probe", "execution" — never "VUs" or "ramp".
A script can serve both, but the options shape differs. Ask only if the goal is genuinely unclear.
Load-test skeleton (start here, adapt endpoints and profile)
import http from 'k6/http';
import { check, sleep } from 'k6';
import { Trend, Rate } from 'k6/metrics';
const latency = new Trend('checkout_latency');
const errors = new Rate('checkout_errors');
export const options = {
scenarios: {
load: {
executor: 'ramping-arrival-rate', // open model: pace stays honest as latency degrades
startRate: 10, timeUnit: '1s',
preAllocatedVUs: 50, maxVUs: 200,
stages: [
{ target: 50, duration: '2m' },
{ target: 50, duration: '5m' },
{ target: 0, duration: '1m' },
],
},
},
thresholds: {
http_req_duration: ['p(95)<500'],
http_req_failed: ['rate<0.01'],
},
};
export default function () {
const res = http.get('https://example.com/api/checkout');
check(res, { 'status 200': (r) => r.status === 200 });
latency.add(res.timings.duration);
errors.add(res.status >= 500);
sleep(1); // user think time — required in VU-based (closed-model) tests
}
Executor cheat sheet
| Goal | Executor |
|---|---|
| Realistic traffic curve / breakpoint test | ramping-arrival-rate (ramp offered load, not VUs — closed models throttle themselves and mask the breaking point) |
| Constant RPS over time | constant-arrival-rate |
| Simulate N concurrent users | ramping-vus |
| Many short, independent operations | constant-vus with per-vu-iterations, or shared-iterations |
| Smoke: 1 VU, 1 iteration | plain run with --vus 1 --iterations 1 |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 29d ago First seen · 104 lines · 109 tokens per session scan A 80791029fb02
writing-k6-tests is a skill published in the GitHub repository Consensys/ask-o11y-plugin (42 stars, last pushed 22d ago), licensed MIT. It adds 109 tokens to every session and 1,480 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-19.
Other skills, from other repositories
research-engineer
An uncompromising Academic Research Engineer. Operates with absolute scientific rigor, objective criticism, and zero flair. Focuses on theoretical correctness, formal verification, and optimal implementation across any required technology.
eval-dataset-design
A guide to creating reliable test sets for AI agents. Each evaluation task includes the request, the simulated user's behaviour, a reset starting state, and a success check that can be independently verified.
tika-eval-compare
Compare extracts from two Tika builds over a corpus to detect regressions in content, encoding, exceptions, and embedded-document handling. Use for "compare before/after extracts", "eval this change against the corpus".
cua-driver
Use Cua Driver for desktop or browser tasks that are awkward or unavailable through Bash/APIs, or when the user explicitly wants GUI interaction: app testing, visual bug reproduction, form filling, calendar entry, screenshots, and demo recording. Also covers Cua setup; not OpenAI Codex Computer Use or web research.
jetson-validate-image
Use after jetson-flash-image to run static BSP checks, on-target smoke/regression tests on a flashed DUT, or both. Not for build or flash steps. Triggers: validate bsp, on-target validation.
atmos-validation
Validate Atmos projects, components, arbitrary JSON Schema inputs, EditorConfig, and GitHub Actions; use affected-file selection and native CI annotations.