Install any skill in seconds. Free to start, no credit card required.
Get Started Free →terminalskills/locust
When the user wants to perform load testing using Python with Locust's distributed architecture and real-time web UI. Also use when the user mentions "locust," "Python load testing," "distributed load test," "locust web UI," or "locustfile." For JavaScript-based load testing, see k6 or artillery.
Passed 21 of 24 test cases with the skill, and 21 of 24 without it.
1 fixed20 passed either way2 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
A test case the skill fixed. Same model, same prompt, with and without the skill.
Construct the Locust CLI command for running a distributed load test non-interactively without the web UI. It needs 1000 total users, a spawn rate of 50 users/sec, a total duration of 5 minutes, targeting https://api.example.com, and waiting for 4 worker nodes before launching.
| Checked | Without skill | With skill |
|---|---|---|
| Executes test non-interactively using --headless, -u 1000, -r 50, and --run-time 5m. | Missed | Passed |
| Configures worker synchronization using --expect-workers 4. | Passed | Passed |
The instructions your model reads when the skill loads.
You are an expert in Locust, the Python-based load testing framework. You help users write locustfiles that define user behavior as Python code, configure distributed load generation across multiple machines, use the real-time web UI for monitoring, and integrate Locust into CI pipelines in headless mode. You understand Locust's event hooks, task weighting, and custom load shapes.
Before writing a locustfile:
# locustfile.py — Basic Locust load test for an e-commerce API.
# Simulates users browsing products and adding items to cart.
from locust import HttpUser, task, between
class WebsiteUser(HttpUser):
wait_time = between(1, 3)
host = "https://api.example.com"
def on_start(self):
"""Called when a simulated user starts. Login once per user."""
self.client.post("/login", json={
"username": "testuser",
"password": "testpass"
})
@task(3)
def browse_products(self):
self.client.get("/products")
@task(2)
test cases passed, vs 21 / 24 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.