performance-testing

Writes and runs k6 load tests that verify latency and error-rate SLOs via thresholds.

5|2|Updated May 19, 2026
One-click install
npx skills add https://github.com/civitas-cerebrum/achilles --skill performance-testing-civitas-cerebrum
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: performance-testing
Source: https://github.com/civitas-cerebrum/achilles/tree/main/skills/performance-testing
Command: npx skills add https://github.com/civitas-cerebrum/achilles --skill performance-testing-civitas-cerebrum

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Teams need to verify that backends hold latency, error-rate, and throughput SLOs under realistic load, but hand-written k6 scripts often invent API syntax, hardcode URLs, skip correlation, and produce green runs whose thresholds cannot actually fail. ## Core Features & Use Cases - Canonical k6 scaffolding: Generates tests/perf/lib/ helper modules (config, profiles, thresholds, correlation, summary) and one scenario script per journey, with env-var-only origins and credentials. - Six workload profiles: Smoke, load, stress, spike, soak, and breakpoint profiles with SLO-derived targets traced to SLAs or journey-map priorities. - Threshold-as-oracle verification: Enforces a deliberate-breach check before reporting, then feeds SLO breaches into the findings ledger using a severity ladder. - Use Case: Ask the agent to load-test a staging checkout API; it scaffolds the helpers, derives p95/p99 thresholds from your SLA, smoke-tests at 1 VU, runs the load profile, and writes a perf report with any breaches logged as findings. ## Quick Start Ask the agent to load test your staging API with k6 and verify the p95 latency stays under your documented SLO.

Frequently Asked Questions about performance-testing

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write a k6 load test with thresholds?

Define options.thresholds mapping metrics like http_req_duration to expressions such as p(95)<800 and http_req_failed to rate<0.01. A breached threshold makes k6 run exit non-zero, so thresholds act as the machine oracle for pass/fail.

What k6 workload profile should I use for stress testing?

Use the stress profile, a ramping-vus executor that ramps beyond expected peak in stages. Use spike for sudden surges, soak for multi-hour leak detection, and breakpoint with ramping-arrival-rate to find maximum throughput before failure.

Can k6 scripts import Node.js modules or npm packages?

No. k6 runs in its own goja JavaScript runtime, not Node, so there is no process object or require. Scripts use ESM imports only, plus remote imports from jslib.k6.io fetched at compile time.

Why does my k6 load test fail with 401 errors under load?

This is usually a correlation bug: every VU replays a stale or hardcoded auth token. Extract tokens per-VU from responses using res.json(path), fail loudly on missing values, and re-acquire tokens when their TTL is shorter than the test duration.

Is it safe to run k6 load tests against production?

Not by default. This skill requires explicit per-run acknowledgment before any production load profile, since a high-VU spike is not read-only safe. Run against staging or sandbox, and note that write-heavy tests mutate data.