From qa-load-testing
Orients an engineer who is new to performance and load testing through the qa-load-testing plugin: explains the core metrics (throughput, latency percentiles, error rate), selects the right tool via the load-test-tool-selector agent, walks the first k6 script through to a passing threshold, adds a perf-budget-gate CI step, and routes failing results to latency-percentile-analyzer or perf-incident-responder. Use when an engineer new to performance or load testing does not know where to start in this plugin.
How this skill is triggered — by the user, by Claude, or both
Slash command
/qa-load-testing:getting-startedThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
[running]: https://grafana.com/docs/k6/latest/get-started/running-k6/
Load testing measures how a system behaves under concurrent traffic. The three
metrics that matter first are throughput (requests per second the system
handles), latency percentiles (p95 and p99 measure tail response time - the
experience of your slowest users, not the average), and error rate (the
fraction of requests that fail). A passing average can hide a broken p99; always
gate on all three. If you are unsure which tool to use for your stack, invoke the
load-test-tool-selector agent with
your language, infrastructure, and load profile - it returns a reasoned
recommendation before you write a single line.
k6 is the recommended starting point for most HTTP services. Install it via your
package manager (brew, apt, choco, Docker - see
k6 installation), then
create script.js (per k6-running):
import http from 'k6/http';
import { check, sleep } from 'k6';
export const options = {
vus: 10,
duration: '30s',
thresholds: {
http_req_duration: ['p(95)<500'], // 95th-percentile latency under 500ms
http_req_failed: ['rate<0.01'], // error rate under 1%
},
};
export default function () {
const res = http.get('https://your-service.example.com/health');
check(res, { 'status 200': (r) => r.status === 200 });
sleep(1);
}
Run it (per k6-running):
k6 run script.js
k6 prints a live progress table and a summary at the end. A threshold failure exits non-zero - the CI gate signal (per k6-thresholds).
The end-of-run summary reports each threshold as ok or failed
(per k6-thresholds):
http_req_duration..........: p(95)=432ms ✓ p(95)<500
http_req_failed............: rate=0.4% ✓ rate<0.01
If either threshold fails, k6 run exits with a non-zero code. Adjust the
numeric budgets to match your service-level objectives, not arbitrary defaults.
The k6-load-testing skill covers stages
(ramp-up / plateau / ramp-down), abortOnFail, and advanced threshold
expressions in full.
Once your k6 thresholds are stable locally, add a CI step that fails the build
on regressions. The perf-budget-gate skill
aggregates verdicts from k6 (and other runners) into a single go/no-go decision
with a delta vs the main-branch baseline - use it when you need a unified gate
across multiple test suites or want per-PR delta comments.
For a k6-only project, the threshold exit code is sufficient as the initial gate;
perf-budget-gate pays off once you add Lighthouse or a second load runner.
If a threshold fails or the system feels slow despite passing thresholds:
latency-percentile-analyzer to
detect bimodal distributions, compute the tail ratio (p99/p50), and check for
coordinated omission effects that make naive p99 values optimistic.perf-incident-responder to
confirm with k6, flame-graph the hot path, and check slow queries in one
orchestrated flow.k6-load-testing - full k6 authoring
reference (stages, abortOnFail, CI YAML, anti-patterns).perf-budget-gate - multi-runner CI gate.latency-percentile-analyzer -
tail-latency diagnosis when thresholds pass but perf is suspect.load-test-tool-selector -
tool recommendation for your specific stack.perf-incident-responder -
on-call orchestrator for active perf incidents.Provides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.
npx claudepluginhub testland/qa --plugin qa-load-testing