Sponsor Suno AI Music arrow_forward
Slash Command

Run Load Test

Run API load tests with k6, Artillery, or Gatling to measure performance

Type
Slash Command
GitHub stars
2.8k
License
MIT
Repo last updated
Sep 27, 2026

What Run Load Test is

Run Load Test is a slash command published in the jeremylongshore/tons-of-skills-marketplace repository on GitHub, which has about 2.8k stars. The repository describes itself as: “Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com.”

A slash command is a reusable prompt saved as a markdown file and run by typing its name after a slash. In Claude Code, custom commands have been merged into skills: a file in .claude/commands/ and a skill folder in .claude/skills/ both create the same kind of command, and existing command files keep working.

Run Load Test gives you a repeatable way to run the same instructions without retyping them, optionally with arguments.

How to install Run Load Test

Claude Code

  1. Download run-load-test.md from the repository.
  2. Save it to ~/.claude/commands/ (all projects) or .claude/commands/ (one project). As a skill, you can instead save it as ~/.claude/skills/<name>/SKILL.md.
  3. Run it by typing / followed by its name.

Claude Cowork

  1. Turn the command into a skill: create a folder with the file saved as SKILL.md and zip it.
  2. In Customize → Skills, click +, then upload the ZIP.
  3. Run it from any task with / and the skill name.

New to extending Cowork? Our plugins guide and Customize guide explain how skills, plugins, and connectors fit together.

Inside the source file

An excerpt from plugins/api-development/api-load-tester/commands/run-load-test.md, shared under the repository's MIT license. Read the full file on GitHub.

Execute comprehensive load tests to measure API performance, identify bottlenecks, and validate scalability under realistic traffic patterns.

Design Decisions

This command supports multiple load testing tools to accommodate different testing scenarios and team preferences:

  • k6: Chosen for developer-friendly JavaScript API, excellent CLI output, and built-in metrics
  • Artillery: Selected for YAML configuration simplicity and scenario-based testing
  • Gatling: Included for enterprise-grade reporting and Scala DSL power users

Alternative approaches considered:

  • JMeter: Excluded due to GUI-heavy approach and XML configuration complexity
  • Locust: Considered but not included to limit Python dependencies
  • Custom solutions: Avoided to leverage battle-tested tools with proven metrics accuracy

When to Use This Command

USE WHEN:

  • Validating API performance before production deployment
  • Establishing baseline performance metrics for SLAs
  • Testing autoscaling behavior under load
  • Identifying memory leaks or resource exhaustion issues
  • Comparing performance across API versions
  • Simulating Black Friday or high-traffic events

DON'T USE WHEN:

  • Testing production APIs without permission (use staging environments)
  • You need functional correctness testing (use integration tests instead)
  • Testing third-party APIs you don't control
  • During active development (use unit/integration tests first)

Prerequisites

Required:

  • Node.js 18+ (for k6 and Artillery)
  • Java 11+ (for Gatling)
  • Target API endpoint accessible from your machine
  • API authentication credentials (if required)

Recommended:

  • Monitoring tools configured (Prometheus, Grafana, DataDog)
  • Baseline metrics from previous test runs
  • Staging environment that mirrors production capacity

Install Tools:

# k6 (recommended for most use cases)
brew install k6  # macOS
sudo apt-get install k6  # Ubuntu

# Artillery
npm install -g artillery

# Gatling
wget https://repo1.maven.org/maven2/io/gatling/highcharts/gatling-charts-highcharts-bundle/3.9.5/gatling-charts-highcharts-bundle-3.9.5.zip
unzip gatling-charts-highcharts-bundle-3.9.5.zip

Detailed Process

Step 1: Define Test Objectives

Establish clear performance targets before running tests:

  • Response time: p95 < 200ms, p99 < 500ms
  • Throughput: 1000 requests/second sustained
  • Error rate: < 0.1% under normal load
  • Concurrent users: Support 500 simultaneous users

Document expected behavior under different load levels:

  • Normal load: 100-500 RPS
  • Peak load: 1000-2000 RPS
  • Stress test: 3000+ RPS until failure

Step 2: Configure Test Scenario

Create test scripts matching realistic user behavior patterns:

k6 test script (load-test.js):

import http from 'k6/http';
import { check, sleep } from 'k6';

export const options = {
  stages: [
    { duration: '2m', target: 100 },  // Ramp-up
    { duration: '5m', target: 100 },  // Sustained load
    { duration: '2m', target: 200 },  // Scale up
    { duration: '5m', target: 200 },  // Sustained peak
    { duration: '2m', target: 0 },    // Ramp-down
  ],
  thresholds: {
    http_req_duration: ['p(95)<200', 'p(99)<500'],
    http_req_failed: ['rate<0.01'],
  },
};

export default function () {
…

Artillery config (artillery.yml):

config:
  target: 'https://api.example.com'
  phases:
    - duration: 60
      arrivalRate: 10
      name: "Warm up"
    - duration: 300
      arrivalRate: 50
      name: "Sustained load"
    - duration: 120
      arrivalRate: 100
      name: "Peak load"
  processor: "./flows.js"
scenarios:
  - name: "Product browsing flow"
    flow:
      - get:
          url: "/v1/products"
…

Step 3: Execute Load Test

Run tests with appropriate parameters and monitor system resources:

# k6 test execution with custom parameters
k6 run load-test.js \
  --vus 100 \
  --duration 10m \
  --out json=results.json \
  --summary-export=summary.json

# Artillery with real-time reporting
artillery run artillery.yml \
  --output report.json

# Gatling test execution
./gatling.sh -s com.example.LoadTest \
  -rf results/

Monitor system metrics during execution:

  • CPU utilization (should stay below 80%)
  • Memory consumption (watch for leaks)
  • Network I/O (bandwidth saturation)
  • Database connections (connection pool exhaustion)

Step 4: Analyze Results

Review metrics to identify performance bottlenecks:

Before you install

  • Read the whole file first. Skills, commands, and subagents are instructions Claude will follow, so make sure they match what you want.
  • Check which tools, scripts, or MCP servers it uses. Local servers and scripts run with your permissions.
  • Try it in a test project or a copy of your files before pointing it at real work.
  • Pin the version you tested, and review changes before updating.
  • Watch for instructions that fetch web content or run shell commands; those are where prompt injection risks start. See our prompt injection guide.

FAQ

What is Run Load Test?

Run Load Test is a slash command for Claude Code and Claude Cowork from the jeremylongshore/tons-of-skills-marketplace repository on GitHub. Run API load tests with k6, Artillery, or Gatling to measure performance

How do I install Run Load Test in Claude Code?

Download run-load-test.md from the repository. Save it to ~/.claude/commands/ (all projects) or .claude/commands/ (one project). As a skill, you can instead save it as ~/.claude/skills/<name>/SKILL.md. Run it by typing / followed by its name.

Can I use Run Load Test in Claude Cowork?

Turn the command into a skill: create a folder with the file saved as SKILL.md and zip it. In Customize → Skills, click +, then upload the ZIP. Run it from any task with / and the skill name.

Is Run Load Test safe to install?

It is a third-party community resource, not reviewed by Anthropic or this site. Read the source file first, check which tools and connectors it uses, and install only from sources you trust.

Similar resources

Browse all skills, subagents, and plugins →

Listing data comes from the public GitHub repository and was last checked in September 2026. Excerpts are © their authors and shared under MIT. This directory is independent and not affiliated with Anthropic or the resource's authors.