Lmeterx Http Loadtest SKILL.md

A OpenClaw SKILL.md - LMeterX HTTP API Load Test tool. When a user provides a **business/regular API endpoint URL** or a curl command targeting a non-LLM HTTP API, this skill execu…

MigoXLab

@MigoXLab

Install

$ openclaw skills install @MigoXLab/lmeterx--lmeterx-http-loadtest

Skill: lmeterx-http-loadtest

Intent Routing Rules (Highest Priority)

When to USE this Skill

  • User provides a regular HTTP API URL (e.g. https://api.example.com/users, https://app.com/api/orders)
  • User provides a curl command targeting a business API
  • URL contains paths like /api/, /graphql, /v2/, /rest/ etc. (but NOT /v1/chat/completions or /v1/messages)
  • User says "压测这个API/接口/端点" and the URL is NOT an LLM endpoint

When NOT to use this Skill

ConditionUse Instead
URL ends with /v1/chat/completions or /v1/messageslmeterx-llm-loadtest
User mentions "LLM", "大模型", "OpenAI", "Claude"lmeterx-llm-loadtest
URL is a webpage (e.g. https://www.baidu.com)lmeterx-web-loadtest
User says "网站/网页/页面"lmeterx-web-loadtest

Quick Decision Rule

URL ends with /v1/chat/completions or /v1/messages → lmeterx-llm-loadtest
URL is a normal webpage (HTML page for browsers)   → lmeterx-web-loadtest
Everything else (REST/GraphQL/business API)        → THIS SKILL

Execution Rules

  1. Mandatory: You must and may only execute the provided script via Bash.
  2. Prohibition: Do NOT manually construct HTTP requests using curl or requests to call LMeterX APIs.
  3. Prohibition: Do NOT fabricate results. Execute the script and respond based on actual stdout output.

The Only Correct Way to Execute

With URL:

export LMETERX_AUTH_TOKEN="${LMETERX_AUTH_TOKEN:-<YOUR_AUTH_TOKEN>}"
python "${SKILL_DIR}/scripts/run.py" \
  --url "<API URL>" \
  --method GET

With curl command:

export LMETERX_AUTH_TOKEN="${LMETERX_AUTH_TOKEN:-<YOUR_AUTH_TOKEN>}"
python "${SKILL_DIR}/scripts/run.py" \
  --curl '<full curl command>'

With custom load parameters:

export LMETERX_AUTH_TOKEN="${LMETERX_AUTH_TOKEN:-<YOUR_AUTH_TOKEN>}"
python "${SKILL_DIR}/scripts/run.py" \
  --url "<API URL>" \
  --method POST \
  --header "Authorization: Bearer <token>" \
  --header "Content-Type: application/json" \
  --body '{"key": "value"}' \
  --concurrent-users 100 \
  --duration 600 \
  --spawn-rate 50

Parameters

ParameterDefaultDescription
--url(required, or use --curl)API endpoint URL
--curl(required, or use --url)Full curl command string
--methodPOST (auto: POST if body, else GET)HTTP method
--header[]Request header (repeatable, format: Key: Value)
--body""Request body string
--cookie[]Cookie (repeatable, format: Key=Value)
--concurrent-users50Concurrent users (1-5000)
--duration300Duration in seconds (1-172800)
--spawn-rate30User spawn rate
--name(auto-generated)Task name

Presenting Results to the User

After execution, present:

  1. Target Info: Method + URL
  2. Pre-check Result: Pass/Fail with categorized failure reason
  3. Task ID and Report URL: {LMETERX_BASE_URL}/http-results/{task_id}

Exception Handling

Error ScenarioOutput Message
HTTP 401/403LMeterX token is invalid or expired; check LMETERX_AUTH_TOKEN
HTTP 5xxLMeterX platform service error; try again later
Connection FailureCannot connect to LMeterX service; check network
Target API 401Target API requires auth; check Authorization header
Target API 404Target API path not found; check URL
Target API timeoutTarget API timed out; check target service status

Top skills in this category