{"id":"3918ace3-90d8-4f87-b8b7-cbb4afa58078","entityType":"agent","slug":"clawhub-felix-montanari-wrk","name":"wrk","canonicalUrl":"https://www.xpersona.co/agent/clawhub-felix-montanari-wrk","canonicalPath":"/agent/clawhub-felix-montanari-wrk","generatedAt":"2026-10-10T08:56:06.705Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T02:25:19.492Z","emptyReason":null},"description":"Use wrk for HTTP load testing, including Lua scripting for dynamic request headers such as randomized X-Forwarded-For IPs. Skill: wrk Owner: felix-montanari Summary: Use wrk for HTTP load testing, including Lua scripting for dynamic request headers such as randomized X-Forwarded-For IPs. Tags: latest:1.0.0 Version history: v1.0.0 | 2026-06-29T02:18:28.666Z | auto - Initial release of the wrk load testing skill. - Provides thorough usage documentation for wrk, including recommended safety steps and output interpretation. - Includes step-b","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 9.7K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s1740jyda7qk4nm8xgh4rb2f9h89kj5z:wrk","sourceUrl":"https://clawhub.ai/felix-montanari/wrk","homepage":"https://clawhub.ai/felix-montanari/skills/wrk","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/felix-montanari/wrk","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/felix-montanari/skills/wrk","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":80,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Use wrk for HTTP load testing, including Lua scripting for dynamic request headers such as randomized X-Forwarded-For IPs. Skill: wrk Owner: felix-montanari Sum"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T02:25:19.492Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T02:25:19.492Z","emptyReason":null},"stars":null,"forks":null,"downloads":9681,"packageName":null,"latestVersion":"1.0.0","tractionLabel":"9.7K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T02:25:19.492Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T02:25:19.492Z","lastCrawledAt":"2026-10-09T02:25:19.492Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T02:25:19.492Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.0","createdAt":"2026-06-29T02:18:28.666Z","changelog":"- Initial release of the wrk load testing skill. - Provides thorough usage documentation for wrk, including recommended safety steps and output interpretation. - Includes step-by-step examples for basic and advanced wrk usage, such as load testing with randomized X-Forwarded-For headers using Lua scripting. - Offers example Lua scripts for custom request generation and guidance on starting parameters. - Lists key points to check before running tests and highlights potential pitfalls.","fileCount":3,"zipByteSize":4764}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s1740jyda7qk4nm8xgh4rb2f9h89kj5z:wrk","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-felix-montanari-wrk/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-felix-montanari-wrk/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-felix-montanari-wrk/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-felix-montanari-wrk/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-felix-montanari-wrk/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-felix-montanari-wrk/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T08:56:06.705Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-felix-montanari-wrk/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-felix-montanari-wrk/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-felix-montanari-wrk/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-felix-montanari-wrk/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-09T02:25:19.492Z","emptyReason":null},"readme":"Skill: wrk\n\nOwner: felix-montanari\n\nSummary: Use wrk for HTTP load testing, including Lua scripting for dynamic request headers such as randomized X-Forwarded-For IPs.\n\nTags: latest:1.0.0\n\nVersion history:\n\nv1.0.0 | 2026-06-29T02:18:28.666Z | auto\n\n- Initial release of the wrk load testing skill.\n- Provides thorough usage documentation for wrk, including recommended safety steps and output interpretation.\n- Includes step-by-step examples for basic and advanced wrk usage, such as load testing with randomized X-Forwarded-For headers using Lua scripting.\n- Offers example Lua scripts for custom request generation and guidance on starting parameters.\n- Lists key points to check before running tests and highlights potential pitfalls.\n\nArchive index:\n\nArchive v1.0.0: 3 files, 4764 bytes\n\nFiles: skill-card.md (2164b), SKILL.md (7722b), _meta.json (122b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: wrk\ndescription: Use wrk for HTTP load testing, including Lua scripting for dynamic request headers such as randomized X-Forwarded-For IPs.\nversion: 1.0.0\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - wrk\n    install:\n      - kind: brew\n        formula: wrk\n        bins: [wrk]\n    emoji: \"⚡\"\n---\n\n# wrk Load Testing Skill\n\nUse this skill when a user wants to run, design, or interpret HTTP load tests with [`wrk`](https://github.com/wg/wrk), especially when they need realistic request generation through Lua scripting.\n\n`wrk` is a high-performance HTTP benchmarking tool. It can generate substantial load from a single machine by combining multiple threads, persistent connections, and an event-driven architecture. It is best suited for controlled testing of services the user is authorized to assess.\n\n## Safety and scope\n\nBefore helping with a load test:\n\n1. Confirm the target is authorized for load testing.\n2. Prefer local, dev, staging, sandbox, or explicitly approved performance-test environments.\n3. Warn the user before suggesting settings that may be disruptive, such as very high connection counts, long durations, or tests against production.\n4. Start small and scale gradually while watching service health, logs, autoscaling, rate limits, and downstream dependencies.\n\nAvoid recommending uncontrolled tests against third-party systems or production endpoints without explicit authorization.\n\n## Basic `wrk` command pattern\n\n```bash\nwrk -t4 -c100 -d30s https://example.internal/health\n```\n\nCommon options:\n\n- `-t`: number of threads.\n- `-c`: number of open connections.\n- `-d`: test duration, such as `30s`, `2m`, or `10m`.\n- `-s`: Lua script file for custom request behavior.\n- `--latency`: include latency distribution statistics.\n- `-H`: add a static header to every request.\n\nExample with latency reporting:\n\n```bash\nwrk -t4 -c100 -d60s --latency https://example.internal/api/v1/items\n```\n\nExample with a static header:\n\n```bash\nwrk -t4 -c100 -d60s \\\n  -H 'Authorization: Bearer test-token' \\\n  -H 'Accept: application/json' \\\n  https://example.internal/api/v1/items\n```\n\n## Lua scripting with `wrk`\n\nUse Lua when requests need dynamic headers, randomized inputs, multiple paths, request bodies, or per-request behavior.\n\nA Lua script can define functions such as:\n\n- `setup(thread)`: called once per thread before the test starts.\n- `init(args)`: called when a thread initializes.\n- `request()`: returns the HTTP request to send.\n- `response(status, headers, body)`: called for each response.\n- `done(summary, latency, requests)`: called after the benchmark finishes.\n\n## Example: random `X-Forwarded-For` IP per request\n\nCreate a file named `random_xff.lua`:\n\n```lua\n-- random_xff.lua\n-- Sends each request with a randomized X-Forwarded-For IPv4 address.\n\nlocal counter = 0\n\nlocal function random_octet(min, max)\n  return math.random(min, max)\nend\n\nlocal function random_public_ipv4()\n  -- Avoid common private, loopback, link-local, multicast, and reserved ranges\n  -- by choosing from documentation-safe-ish public-looking ranges for testing.\n  -- Adjust this for your environment if specific source ranges are required.\n  local first_octets = { 8, 23, 34, 44, 52, 63, 74, 96, 104, 128, 137, 150, 172, 198 }\n  local first = first_octets[math.random(#first_octets)]\n\n  -- Avoid 172.16.0.0/12 when first octet is 172.\n  local second\n  if first == 172 then\n    local allowed = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 32, 64, 96, 128, 160, 192, 224 }\n    second = allowed[math.random(#allowed)]\n  else\n    second = random_octet(0, 255)\n  end\n\n  return string.format(\n    \"%d.%d.%d.%d\",\n    first,\n    second,\n    random_octet(0, 255),\n    random_octet(1, 254)\n  )\nend\n\nrequest = function()\n  counter = counter + 1\n\n  -- Seed periodically with time plus a per-thread counter. wrk runs Lua per thread,\n  -- so this keeps sequences from being identical for long-running tests.\n  if counter == 1 then\n    math.randomseed(os.time() + counter)\n  end\n\n  local ip = random_public_ipv4()\n  local headers = {\n    [\"X-Forwarded-For\"] = ip,\n    [\"X-Real-IP\"] = ip,\n    [\"Accept\"] = \"application/json\",\n    [\"User-Agent\"] = \"wrk-random-xff/1.0\"\n  }\n\n  return wrk.format(\"GET\", nil, headers)\nend\n```\n\nRun it with:\n\n```bash\nwrk -t4 -c100 -d60s --latency -s random_xff.lua https://example.internal/api/v1/items\n```\n\n## Example: POST JSON with random `X-Forwarded-For`\n\n```lua\n-- post_random_xff.lua\n\nlocal function random_public_ipv4()\n  local first_octets = { 8, 23, 34, 44, 52, 63, 74, 96, 104, 128, 137, 150, 198 }\n  return string.format(\n    \"%d.%d.%d.%d\",\n    first_octets[math.random(#first_octets)],\n    math.random(0, 255),\n    math.random(0, 255),\n    math.random(1, 254)\n  )\nend\n\ninit = function(args)\n  math.randomseed(os.time())\nend\n\nrequest = function()\n  local ip = random_public_ipv4()\n  local body = string.format('{\"requestId\":\"wrk-%d\",\"sourceIp\":\"%s\"}', math.random(1000000000), ip)\n\n  local headers = {\n    [\"Content-Type\"] = \"application/json\",\n    [\"Accept\"] = \"application/json\",\n    [\"X-Forwarded-For\"] = ip\n  }\n\n  return wrk.format(\"POST\", \"/api/v1/events\", headers, body)\nend\n```\n\nRun it with a base URL; the path comes from the Lua script:\n\n```bash\nwrk -t4 -c100 -d60s --latency -s post_random_xff.lua https://example.internal\n```\n\n## Choosing safe starting parameters\n\nFor initial validation, suggest conservative values:\n\n```bash\nwrk -t2 -c20 -d30s --latency https://example.internal/health\n```\n\nThen increase gradually:\n\n```bash\nwrk -t4 -c100 -d2m --latency https://example.internal/api/v1/items\nwrk -t8 -c500 -d5m --latency https://example.internal/api/v1/items\n```\n\nOnly recommend higher values after confirming the environment, service capacity, downstream dependencies, and monitoring coverage.\n\n## Interpreting output\n\nImportant fields:\n\n- `Requests/sec`: approximate throughput achieved by the client.\n- `Latency`: average, standard deviation, max, and distribution if `--latency` is used.\n- `Socket errors`: connection, read, write, or timeout failures; these often indicate saturation, network issues, or server-side limits.\n- `Non-2xx or 3xx responses`: application errors, authorization failures, rate limits, or expected negative responses depending on the test.\n- `Transfer/sec`: response bandwidth observed by the client.\n\nWhen results look suspicious, check whether the bottleneck is the client machine, network path, proxy/load balancer, service, database, cache, or downstream dependency.\n\n## Useful investigation checklist\n\nWhen helping an agent run or analyze `wrk` tests, gather:\n\n- Target URL and method.\n- Environment: local, dev, staging, production, or approved external target.\n- Desired traffic shape: threads, connections, duration, ramp-up strategy if any.\n- Headers, authentication, cookies, tenant IDs, or feature flags needed.\n- Whether randomized `X-Forwarded-For` is safe and meaningful in that environment.\n- Expected status codes and response-size profile.\n- Monitoring links, logs, dashboards, and alert thresholds.\n- Known rate limits, WAF rules, bot protection, CDN behavior, and load balancer behavior.\n\n## Common pitfalls\n\n- `wrk` does not model browser behavior, JavaScript, or full user journeys.\n- Very high connection counts can exhaust client resources before the service is saturated.\n- Randomizing `X-Forwarded-For` may bypass or invalidate IP-based aggregation in logs, dashboards, caches, rate limiters, or abuse controls; use only when this is the intended authorized test.\n- Some proxies overwrite or append to `X-Forwarded-For`; verify what the application actually receives.\n- Production tests can be disruptive even with moderate settings if they hit expensive endpoints or shared dependencies.\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7chtw0b5vg9acc9s2c1wyvxx89j7t5\",\n  \"slug\": \"wrk\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1782699508666\n}\n\nFile v1.0.0:skill-card.md\n\n## Description:\n\nUse wrk for HTTP load testing, including Lua scripting for dynamic request headers such as randomized X-Forwarded-For IPs.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[felix-montanari](https://clawhub.ai/user/felix-montanari)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and engineers use this skill to plan, run, and interpret authorized HTTP load tests with wrk, including tests that need Lua-based dynamic headers, randomized inputs, custom request bodies, or conservative scale-up guidance.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Load tests can disrupt production, third-party, or shared services if run without authorization or with aggressive settings.\n\nMitigation: Confirm authorization, prefer local/dev/staging or approved performance-test environments, start with conservative wrk parameters, and scale only while monitoring service health.\n\nRisk: Randomized X-Forwarded-For headers can bypass or distort rate limits, abuse controls, logging, attribution, caches, or dashboards.\n\nMitigation: Use randomized client-IP headers only when that behavior is an explicit part of an authorized test, and verify how proxies and applications process the headers.\n\n## Reference(s):\n\n- [wrk project](https://github.com/wg/wrk)\n- [ClawHub skill page](https://clawhub.ai/felix-montanari/skills/wrk)\n- [Publisher profile](https://clawhub.ai/user/felix-montanari)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with inline bash and Lua code blocks]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Produces commands, Lua examples, checklists, and interpretation guidance for authorized wrk load tests.]\n\n## Skill Version(s):\n\n1.0.0 (source: frontmatter and server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.","readmeExcerpt":"Skill: wrk Owner: felix-montanari Summary: Use wrk for HTTP load testing, including Lua scripting for dynamic request headers such as randomized X-Forwarded-For IPs. Tags: latest:1.0.0 Version history: v1.0.0 | 2026-06-29T02:18:28.666Z | auto - Initial release of the wrk load testing skill. - Provides thorough usage documentation for wrk, including recommended safety steps and output interpretation. - Includes step-b","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"wrk -t4 -c100 -d30s https://example.internal/health"},{"language":"bash","snippet":"wrk -t4 -c100 -d60s --latency https://example.internal/api/v1/items"},{"language":"bash","snippet":"wrk -t4 -c100 -d60s \\\n  -H 'Authorization: Bearer test-token' \\\n  -H 'Accept: application/json' \\\n  https://example.internal/api/v1/items"},{"language":"lua","snippet":"-- random_xff.lua\n-- Sends each request with a randomized X-Forwarded-For IPv4 address.\n\nlocal counter = 0\n\nlocal function random_octet(min, max)\n  return math.random(min, max)\nend\n\nlocal function random_public_ipv4()\n  -- Avoid common private, loopback, link-local, multicast, and reserved ranges\n  -- by choosing from documentation-safe-ish public-looking ranges for testing.\n  -- Adjust this for your environment if specific source ranges are required.\n  local first_octets = { 8, 23, 34, 44, 52, 63, 74, 96, 104, 128, 137, 150, 172, 198 }\n  local first = first_octets[math.random(#first_octets)]\n\n  -- Avoid 172.16.0.0/12 when first octet is 172.\n  local second\n  if first == 172 then\n    local allowed = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 32, 64, 96, 128, 160, 192, 224 }\n    second = allowed[math.random(#allowed)]\n  else\n    second = random_octet(0, 255)\n  end\n\n  return string.format(\n    \"%d.%d.%d.%d\",\n    first,\n    second,\n    random_octet(0, 255),\n    random_octet(1, 254)\n  )\nend\n\nrequest = function()\n  counter = counter + 1\n\n  -- Seed periodically with time plus a per-thread counter. wrk runs Lua per thread,\n  -- so this keeps sequences from being identical for long-running tests.\n  if counter == 1 then\n    math.randomseed(os.time() + counter)\n  end\n\n  local ip = random_public_ipv4()\n  local headers = {\n    [\"X-Forwarded-For\"] = ip,\n    [\"X-Real-IP\"] = ip,\n    [\"Accept\"] = \"application/json\",\n    [\"User-Agent\"] = \"wrk-random-xff/1.0\"\n  }\n\n  return wrk.format(\"GET\", nil, headers)\nend"},{"language":"bash","snippet":"wrk -t4 -c100 -d60s --latency -s random_xff.lua https://example.internal/api/v1/items"},{"language":"lua","snippet":"-- post_random_xff.lua\n\nlocal function random_public_ipv4()\n  local first_octets = { 8, 23, 34, 44, 52, 63, 74, 96, 104, 128, 137, 150, 198 }\n  return string.format(\n    \"%d.%d.%d.%d\",\n    first_octets[math.random(#first_octets)],\n    math.random(0, 255),\n    math.random(0, 255),\n    math.random(1, 254)\n  )\nend\n\ninit = function(args)\n  math.randomseed(os.time())\nend\n\nrequest = function()\n  local ip = random_public_ipv4()\n  local body = string.format('{\"requestId\":\"wrk-%d\",\"sourceIp\":\"%s\"}', math.random(1000000000), ip)\n\n  local headers = {\n    [\"Content-Type\"] = \"application/json\",\n    [\"Accept\"] = \"application/json\",\n    [\"X-Forwarded-For\"] = ip\n  }\n\n  return wrk.format(\"POST\", \"/api/v1/events\", headers, body)\nend"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: wrk\ndescription: Use wrk for HTTP load testing, including Lua scripting for dynamic request headers such as randomized X-Forwarded-For IPs.\nversion: 1.0.0\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - wrk\n    install:\n      - kind: brew\n        formula: wrk\n        bins: [wrk]\n    emoji: \"⚡\"\n---\n\n# wrk Load Testing Skill\n\nUse this skill when a user wants to run, design, or interpret HTTP load tests with [`wrk`](https://github.com/wg/wrk), especially when they need realistic request generation through Lua scripting.\n\n`wrk` is a high-performance HTTP benchmarking tool. It can generate substantial load from a single machine by combining multiple threads, persistent connections, and an event-driven architecture. It is best suited for controlled testing of services the user is authorized to assess.\n\n## Safety and scope\n\nBefore helping with a load test:\n\n1. Confirm the target is authorized for load testing.\n2. Prefer local, dev, staging, sandbox, or explicitly approved performance-test environments.\n3. Warn the user before suggesting settings that may be disruptive, such as very high connection counts, long durations, or tests against production.\n4. Start small and scale gradually while watching service health, logs, autoscaling, rate limits, and downstream dependencies.\n\nAvoid recommending uncontrolled tests against third-party systems or production endpoints without explicit authorization.\n\n## Basic `wrk` command pattern\n\n```bash\nwrk -t4 -c100 -d30s https://example.internal/health\n```\n\nCommon options:\n\n- `-t`: number of threads.\n- `-c`: number of open connections.\n- `-d`: test duration, such as `30s`, `2m`, or `10m`.\n- `-s`: Lua script file for custom request behavior.\n- `--latency`: include latency distribution statistics.\n- `-H`: add a static header to every request.\n\nExample with latency reporting:\n\n```bash\nwrk -t4 -c100 -d60s --latency https://example.internal/api/v1/items\n```\n\nExample with a static header:\n\n```bash\nwrk -t4 -c100 -d60s \\\n  -H 'Authorization: Bearer test-token' \\\n  -H 'Accept: application/json' \\\n  https://example.internal/api/v1/items\n```\n\n## Lua scripting with `wrk`\n\nUse Lua when requests need dynamic headers, randomized inputs, multiple paths, request bodies, or per-request behavior.\n\nA Lua script can define functions such as:\n\n- `setup(thread)`: called once per thread before the test starts.\n- `init(args)`: called when a thread initializes.\n- `request()`: returns the HTTP request to send.\n- `response(status, headers, body)`: called for each response.\n- `done(summary, latency, requests)`: called after the benchmark finishes.\n\n## Example: random `X-Forwarded-For` IP per request\n\nCreate a file named `random_xff.lua`:\n\n```lua\n-- random_xff.lua\n-- Sends each request with a randomized X-Forwarded-For IPv4 address.\n\nlocal counter = 0\n\nlocal function random_octet(min, max)\n  return math.random(min, max)\nend\n\nlocal function random_public_ipv4()\n  -- Avoid common private, loopback, link-local, multicast, and reserv"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7chtw0b5vg9acc9s2c1wyvxx89j7t5\",\n  \"slug\": \"wrk\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1782699508666\n}"},{"path":"skill-card.md","content":"## Description:\n\nUse wrk for HTTP load testing, including Lua scripting for dynamic request headers such as randomized X-Forwarded-For IPs.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[felix-montanari](https://clawhub.ai/user/felix-montanari)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and engineers use this skill to plan, run, and interpret authorized HTTP load tests with wrk, including tests that need Lua-based dynamic headers, randomized inputs, custom request bodies, or conservative scale-up guidance.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Load tests can disrupt production, third-party, or shared services if run without authorization or with aggressive settings.\n\nMitigation: Confirm authorization, prefer local/dev/staging or approved performance-test environments, start with conservative wrk parameters, and scale only while monitoring service health.\n\nRisk: Randomized X-Forwarded-For headers can bypass or distort rate limits, abuse controls, logging, attribution, caches, or dashboards.\n\nMitigation: Use randomized client-IP headers only when that behavior is an explicit part of an authorized test, and verify how proxies and applications process the headers.\n\n## Reference(s):\n\n- [wrk project](https://github.com/wg/wrk)\n- [ClawHub skill page](https://clawhub.ai/felix-montanari/skills/wrk)\n- [Publisher profile](https://clawhub.ai/user/felix-montanari)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with inline bash and Lua code blocks]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Produces commands, Lua examples, checklists, and interpretation guidance for authorized wrk load tests.]\n\n## Skill Version(s):\n\n1.0.0 (source: frontmatter and server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Use wrk for HTTP load testing, including Lua scripting for dynamic request headers such as randomized X-Forwarded-For IPs. Skill: wrk Owner: felix-montanari Summary: Use wrk for HTTP load testing, including Lua scripting for dynamic request headers such as randomized X-Forwarded-For IPs. Tags: latest:1.0.0 Version history: v1.0.0 | 2026-06-29T02:18:28.666Z | auto - Initial release of the wrk load testing skill. - Provides thorough usage documentation for wrk, including recommended safety steps and output interpretation. - Includes step-b","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1067,"uniquenessScore":53,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T02:25:19.492Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T02:25:19.492Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T08:56:06.705Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}