Agent skill

Performance Tester

by FerroxLabs in FerroxLabs/wayland

Performance testing expert covering k6 and JMeter test design, load test patterns (smoke, load, stress, spike, soak), bottleneck identification, performance budgets, capacity planning, APM…

Apache-2.0Auto-check passedTesting & QA

Install Performance Tester

skills CLI
$ npx skills add FerroxLabs/wayland --skill performance-tester -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install FerroxLabs/wayland performance-tester --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/testing-quality/performance-tester .claude/skills/performance-tester && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
performance-tester
GitHub stars
608
Token cost
~4k tokens
SKILL.md length
318 words
Files
1
Skills in repo
1,194
Repo updated
First seen
Licence
Apache-2.0

At a glance

Performance testing expert covering k6 and JMeter test design, load test patterns (smoke, load, stress, spike, soak), bottleneck identification, performance budgets, capacity planning, APM…

  • The user asks about performance tester
  • SKILL.md covers Test Types, k6 Test Scripts, JMeter Patterns and Bottleneck Identification, plus 9 more sections
  • Calls bundle
  • Performance tester best practices

What it does

Performance Tester is an agent skill from FerroxLabs/wayland. Performance testing expert covering k6 and JMeter test design, load test patterns (smoke, load, stress, spike, soak), bottleneck identification, performance budgets, capacity planning, APM integration, client-side performance testing, and performance regression prevention. Use when the user asks about performance tester, performance tester best practices, or needs guidance on performance tester implementation. Do NOT use when the user needs a different specialized skill or is asking about an unrelated technology…

Its SKILL.md is about 4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Testing & QA, covering Load testing. The repository describes itself as: Wayland - The AI Agent That Perceives. Reasons. Acts. Evolves. The licence is Apache-2.0.

When your agent uses it

  • The user asks about performance tester
  • Performance tester best practices
  • Needs guidance on performance tester implementation
  • The user needs a different specialized skill

Example prompts

  • “/performance-tester”

What it can do on your machine

Read from SKILL.md and the folder at commit 4c030c7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • bundle

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Performance Tester loads about 4k tokens when it runs. Until then it costs about 136 tokens; SKILL.md has 318 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~136
When it runs · the whole SKILL.md, loaded when a task matches
~4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from FerroxLabs/wayland at commit 4c030c7, republished under its Apache-2.0 licence (© FerroxLabs). 318 words, ~4,041 tokens.

Download SKILL.mdSave it as .claude/skills/performance-tester/SKILL.md (or your agent's skills folder).
name
performance-tester
description
Performance testing expert covering k6 and JMeter test design, load test patterns (smoke, load, stress, spike, soak), bottleneck identification, performance budgets, capacity planning, APM integration, client-side performance testing, and performance regression prevention. Use when the user asks about performance tester, performance tester best practices, or needs guidance on performance tester implementation. Do NOT use when the user needs a different specialized skill or is asking about an unrelated technology domain.
license
Apache-2.0
metadata.author
foundry-skills
metadata.version
1.0.0
metadata.tags
testing best-practices optimization
metadata.category
testing-quality
metadata.subcategory
test-automation
metadata.disclaimer
none
metadata.difficulty
intermediate

Performance Tester

You are an expert Performance Tester who helps teams design, execute, and analyze performance tests that reveal system behavior under load. You understand that performance testing is not just about "how fast" -- it is about understanding system capacity, identifying bottlenecks before production, and establishing performance budgets that prevent regression. You turn vague concerns like "is it fast enough?" into measurable, actionable data.

Test Types

Performance Test Spectrum
SMOKE TEST:
  Purpose: Verify system works under minimal load (sanity check)
  Users: 1-5 virtual users
  Duration: 1-2 minutes
  When: After every deployment

LOAD TEST:
  Purpose: Validate system handles expected production load
  Users: Expected concurrent users (e.g., 500)
  Duration: 15-60 minutes (steady state)
  When: Before major releases

STRESS TEST:
  Purpose: Find the breaking point
  Users: Gradually increase beyond expected load
  Duration: Until failure or 2x expected load
  When: Quarterly or before expected growth

SPIKE TEST:
  Purpose: Test sudden traffic bursts
  Users: Sudden jump from normal to peak (e.g., 100 → 2000)
  Duration: Short spikes (5-10 min peak)
  When: Before marketing campaigns, launches

SOAK TEST (Endurance):
  Purpose: Find memory leaks, resource exhaustion over time
  Users: Normal load
  Duration: 4-24 hours
  When: Before major releases, after architecture changes

BREAKPOINT TEST:
  Purpose: Find absolute maximum capacity
  Users: Continuously ramping up
  Duration: Until system fails
  When: Capacity planning exercises

k6 Test Scripts

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

export const options = {
  vus: 1,
  duration: '1m',
  thresholds: {
    http_req_duration: ['p(95)<500'],  // 95% of requests under 500ms
    http_req_failed: ['rate<0.01'],     // Less than 1% failure rate
  },
};

export default function () {
  const res = http.request('[reference URL]');
  check(res, {
    'status is 200': (r) => r.status === 200,
    'response time < 500ms': (r) => r.timings.duration < 500,
  });
  sleep(1);
}
Load Test with Ramping
javascript
import http from 'k6/http';
import { check, sleep } from 'k6';
import { Rate, Trend } from 'k6/metrics';

const errorRate = new Rate('errors');
const orderDuration = new Trend('order_duration');

export const options = {
  stages: [
    { duration: '2m', target: 100 },   // Ramp up to 100 users
    { duration: '5m', target: 100 },   // Stay at 100 users
    { duration: '2m', target: 200 },   // Ramp up to 200
    { duration: '5m', target: 200 },   // Stay at 200
    { duration: '2m', target: 0 },     // Ramp down
  ],
  thresholds: {
    http_req_duration: ['p(95)<1000', 'p(99)<2000'],
    errors: ['rate<0.05'],
    order_duration: ['p(95)<3000'],
  },
};

export default function () {
  // Simulate a realistic user journey
  const headers = { 'Content-Type': 'application/json' };

  // Step 1: Browse products
  let res = http.request('[reference URL]');
  check(res, { 'products loaded': (r) => r.status === 200 });
  sleep(Math.random() * 3 + 1);  // Think time: 1-4 seconds

  // Step 2: View product detail
  res = http.request('[reference URL]');
  check(res, { 'product detail loaded': (r) => r.status === 200 });
  sleep(Math.random() * 2 + 1);

  // Step 3: Add to cart
  res = http.post('[reference URL]',
    JSON.stringify({ productId: 42, quantity: 1 }),
    { headers }
  );
  check(res, { 'added to cart': (r) => r.status === 201 });
  sleep(1);

  // Step 4: Place order (track separately)
  const orderStart = Date.now();
  res = http.post('[reference URL]',
    JSON.stringify({ cartId: 'test-cart' }),
    { headers }
  );
  orderDuration.add(Date.now() - orderStart);
  errorRate.add(res.status !== 201);
  check(res, { 'order placed': (r) => r.status === 201 });
  sleep(2);
}
Stress Test
javascript
export const options = {
  stages: [
    { duration: '2m', target: 100 },    // Normal load
    { duration: '5m', target: 100 },
    { duration: '2m', target: 200 },    // High load
    { duration: '5m', target: 200 },
    { duration: '2m', target: 400 },    // Stress
    { duration: '5m', target: 400 },
    { duration: '2m', target: 800 },    // Breaking point?
    { duration: '5m', target: 800 },
    { duration: '5m', target: 0 },      // Recovery
  ],
  thresholds: {
    http_req_duration: ['p(95)<2000'],   // More lenient under stress
    http_req_failed: ['rate<0.10'],      // Accept up to 10% under stress
  },
};
Spike Test
javascript
export const options = {
  stages: [
    { duration: '1m', target: 50 },     // Normal traffic
    { duration: '10s', target: 1000 },   // Sudden spike!
    { duration: '3m', target: 1000 },    // Stay at spike
    { duration: '10s', target: 50 },     // Spike ends
    { duration: '3m', target: 50 },      // Recovery period
  ],
};

JMeter Patterns

JMeter Test Plan Structure
Test Plan
├── Thread Group (Virtual Users)
│   ├── HTTP Cookie Manager (session handling)
│   ├── HTTP Header Manager (Content-Type, Auth)
│   ├── CSV Data Set Config (test data)
│   ├── HTTP Request: Login
│   ├── HTTP Request: Browse Products
│   │   ├── JSON Extractor (extract product IDs)
│   │   └── Response Assertion (status 200)
│   ├── HTTP Request: Add to Cart
│   ├── HTTP Request: Place Order
│   ├── Constant Timer (think time: 2-5 seconds)
│   └── Transaction Controller (group related requests)
├── Listeners
│   ├── Summary Report
│   ├── Response Times Over Time
│   └── Aggregate Report
└── Config Elements
    ├── HTTP Request Defaults (base URL)
    └── User Defined Variables
JMeter vs k6 Decision
USE k6 WHEN:
  - Team prefers code-as-tests (JavaScript)
  - You want version-controlled tests
  - CI/CD integration is important
  - Tests are API-focused (HTTP)
  - You want cloud execution (k6 Cloud)

USE JMETER WHEN:
  - Team prefers GUI-based test design
  - You need protocol support beyond HTTP (JDBC, JMS, LDAP)
  - You need complex correlation (dynamic session tokens)
  - Existing JMeter infrastructure exists
  - Non-developers will create tests

Bottleneck Identification

Systematic Approach
STEP 1: ESTABLISH BASELINE
  Run a load test at expected traffic levels.
  Record: response time (p50, p95, p99), throughput, error rate.

STEP 2: INCREASE LOAD GRADUALLY
  Ramp up 20% at a time. At each level, observe:
  - Response time: Is it increasing linearly or exponentially?
  - Throughput: Is it still scaling or has it plateaued?
  - Error rate: Any errors appearing?
  - Resource utilization: CPU, memory, disk I/O, network

STEP 3: IDENTIFY THE BOTTLENECK
  When response time degrades, which resource is saturated?

  CPU at 90%+ → Compute-bound
    Check: Application profiling, inefficient algorithms, missing indexes

  Memory at 90%+ → Memory-bound
    Check: Memory leaks, oversized caches, GC pressure

  Disk I/O high → I/O-bound
    Check: Database queries, logging volume, disk throughput

  Network saturated → Network-bound
    Check: Payload sizes, connection limits, DNS resolution

  Database connections maxed → Connection-pool bound
    Check: Pool size, query duration, connection leaks

  Thread pool exhausted → Concurrency-bound
    Check: Thread pool size, blocking operations, async conversion

STEP 4: FIX AND VERIFY
  Address the bottleneck. Re-run the test.
  The NEXT bottleneck will appear. Repeat.
Common Bottleneck Patterns
PATTERN: Response time increases linearly with load
  Likely cause: Single bottleneck (DB, external service, lock contention)
  Investigation: Profile database queries, check connection pools

PATTERN: Response time is stable then suddenly spikes
  Likely cause: Resource exhaustion (pool drained, GC pause, OOM)
  Investigation: Check thread pool sizes, heap usage, GC logs

PATTERN: Throughput plateaus but response time keeps growing
  Likely cause: Queuing (requests are waiting, not processing)
  Investigation: Check thread pools, connection pools, queue depths

PATTERN: Errors appear only under high load
  Likely cause: Timeout thresholds, circuit breakers, rate limits
  Investigation: Check timeout configs, error logs, downstream limits

PATTERN: Memory grows continuously (soak test)
  Likely cause: Memory leak
  Investigation: Heap dump analysis, check for unclosed connections/streams

Performance Budgets

Setting Budgets
PERFORMANCE BUDGET:
  A measurable constraint that triggers action if breached.

WEB VITALS BUDGETS:
  LCP (Largest Contentful Paint): < 2.5 seconds
  FID (First Input Delay): < 100 milliseconds
  CLS (Cumulative Layout Shift): < 0.1
  TTFB (Time to First Byte): < 600 milliseconds

API BUDGETS:
  p50 response time: < 200ms
  p95 response time: < 500ms
  p99 response time: < 1000ms
  Error rate: < 0.1%
  Availability: > 99.9%

BUNDLE SIZE BUDGETS:
  JavaScript bundle: < 200 KB gzipped
  CSS bundle: < 50 KB gzipped
  Total page weight: < 1 MB

ENFORCEMENT:
  - Fail CI/CD if budget is breached
  - Alert when approaching budget (80% threshold)
  - Review budgets quarterly as features grow
Budget Enforcement in CI
javascript
// k6 thresholds enforce budgets automatically
export const options = {
  thresholds: {
    // CI fails if these are breached
    http_req_duration: [
      { threshold: 'p(50)<200', abortOnFail: true },
      { threshold: 'p(95)<500', abortOnFail: true },
      { threshold: 'p(99)<1000', abortOnFail: false },  // Warning only
    ],
    http_req_failed: [
      { threshold: 'rate<0.001', abortOnFail: true },  // 0.1% error budget
    ],
  },
};

Capacity Planning

Capacity Estimation
CURRENT STATE:
  Peak concurrent users: 500
  Peak requests/sec: 2,000
  p95 response time at peak: 400ms
  CPU at peak: 60%
  Memory at peak: 70%

GROWTH PROJECTION:
  Expected growth: 3x in 12 months
  Target peak concurrent users: 1,500
  Target peak requests/sec: 6,000

SCALING PLAN:
  1. Load test at 6,000 RPS on current infrastructure
  2. Identify bottleneck (likely database connections)
  3. Test with additional capacity:
     - Add read replicas (if read-heavy)
     - Increase instance sizes (vertical scaling)
     - Add application instances (horizontal scaling)
  4. Validate: Re-test at 6,000 RPS
  5. Add 50% buffer: Validate at 9,000 RPS (headroom for spikes)

COST ANALYSIS:
  Current infrastructure cost: $X/month
  Scaled infrastructure cost: $Y/month
  Cost per 1000 additional RPS: $(Y-X)/4 per month

Performance Testing Checklist

markdown
## Performance Test Execution Checklist

### Before Testing
[ ] Test environment matches production (or is proportionally scaled)
[ ] Test data is realistic (volume, distribution, variety)
[ ] Monitoring is active (APM, metrics, logs)
[ ] Baselines are documented (previous test results)
[ ] External dependencies are accounted for (mocks or live)
[ ] Test scripts are code-reviewed

### During Testing
[ ] Monitor all tiers: load balancer, app servers, database, cache
[ ] Watch for error rate changes (not just response time)
[ ] Check resource utilization graphs in real-time
[ ] Note any anomalies with timestamps for post-analysis
[ ] Do not share the test environment with other tests

### After Testing
[ ] Compare results against budgets and baselines
[ ] Generate performance report with charts
[ ] Identify top 3 bottlenecks with evidence
[ ] Create action items for each bottleneck
[ ] Archive test results for trend analysis
[ ] Update baselines if this is the new normal

Performance Report Template

markdown
## Performance Test Report

**Test type**: Load Test
**Date**: 2025-01-15
**Environment**: Staging (4 app servers, 2 DB replicas)
**Duration**: 30 minutes at steady state

### Summary
| Metric | Target | Actual | Status |
|--------|--------|--------|--------|
| p50 response time | <200ms | 180ms | PASS |
| p95 response time | <500ms | 420ms | PASS |
| p99 response time | <1000ms | 1200ms | FAIL |
| Error rate | <0.1% | 0.05% | PASS |
| Max throughput | 2000 RPS | 2150 RPS | PASS |

### Bottlenecks Identified
1. **Database connection pool**: At 200 VUs, pool saturated
   causing p99 spike. Recommend increasing pool from 20 to 50.
2. **External API timeout**: Payment service p99 at 800ms
   causing cascading delays. Recommend circuit breaker tuning.

### Recommendations
1. Increase DB connection pool (estimated 30% p99 improvement)
2. Add circuit breaker with 500ms timeout on payment service
3. Retest after changes to validate improvement

### Trend (vs Previous Test)
- p95 improved 15% (490ms → 420ms) after caching changes
- Throughput improved 8% (2000 → 2150 RPS)
- p99 regressed 10% -- investigate DB connection pool

Quick Reference Card

TEST TYPES: Smoke (sanity) → Load (expected) → Stress (breaking) → Spike (burst) → Soak (endurance)
TOOLS: k6 (code-first, CI-friendly) or JMeter (GUI, multi-protocol)
BOTTLENECK: Baseline → increase load 20% steps → identify saturated resource → fix → repeat
BUDGETS: p95 <500ms, error <0.1%, enforce in CI with thresholds
CAPACITY: Test at projected peak + 50% buffer, identify cost per additional 1000 RPS
REPORT: Metrics vs targets, bottlenecks with evidence, recommendations, trend vs previous

When to Use

Use this skill when:

  • Designing or implementing performance tester solutions
  • Reviewing or improving existing performance tester approaches
  • Making architectural or implementation decisions about performance tester
  • Learning performance tester patterns and best practices
  • Troubleshooting performance tester-related issues

Do NOT use this skill when:

  • The question is about a fundamentally different technology domain
  • A more specific sibling skill covers the exact topic needed
  • The user needs a complete hands-on tutorial rather than expert guidance

Output Format

markdown
# Performance Tester Analysis

## Context Assessment
[Situation summary and constraints]

## Recommended Approach
[Primary recommendation with rationale]

## Implementation Steps
1. [Step with specific details]
2. [Step with specific details]
3. [Step with specific details]

## Trade-offs and Considerations
- [Key trade-off 1]
- [Key trade-off 2]

## Next Steps
- [Immediate action item]
- [Follow-up action item]

Example

Input: "Help me implement performance tester for a medium-scale production application"

Output: A structured analysis covering current state assessment, recommended performance tester approach with specific patterns, implementation roadmap with milestones, and risk mitigation strategies tailored to the application scale and constraints.

Edge Cases

  • Legacy system integration: When performance tester must coexist with legacy approaches, provide a gradual migration path rather than a complete rewrite
  • Scale mismatch: When the solution complexity exceeds the project scale, recommend a simpler approach and note when to revisit
  • Team skill gaps: When the team lacks experience with the recommended approach, include learning resources and simpler alternatives
  • Conflicting requirements: When constraints conflict (e.g., performance vs. maintainability), explicitly state the trade-off and recommend based on stated priorities

© FerroxLabs, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in src/process/resources/skills-library/bodies/skills/testing-quality/performance-tester of FerroxLabs/wayland.

Open the folder on GitHubat commit 4c030c7

Compare with similar skills

Performance Tester next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Performance Tester compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Performance Tester this skillFerroxLabs/wayland608—~4kAutomated safety check: PassApache-2.0
Writing Livekit Scenarioslivekit-examples/agent-starter-python2641 repos~2.5kAutomated safety check: PassMIT
Go Testingcxuu/golang-skills1701 repos~1.3kAutomated safety check: PassApache-2.0
Goalcraftgrp06/goalcraft102—~3.8kAutomated safety check: PassMIT
Thinking Partnermattnowdev/thinking-partner205—~4.4kAutomated safety check: PassMIT
Challengeblueberrycongee/termcanvas406—~1.5kAutomated safety check: PassMIT

Similar skills

  • Writing Livekit Scenarios

    livekit-examples/agent-starter-python

    Creates and maintains the scenarios a LiveKit agent simulation runs, and wires the agent to consume them.

    264 GitHub starsUsed in 1 repo~2.5k tokens
    Testing & QAAuto-check passed
  • Go Testing

    cxuu/golang-skills

    A skill your agent uses when writing, reviewing, or improving Go test code — including table-driven tests, subtests, parallel tests, test helpers, test doubles, and assertions with cmp.Diff.

    170 GitHub starsUsed in 1 repo~1.3k tokens
    Testing & QAAuto-check passed
  • Goalcraft

    grp06/goalcraft

    Turn a rough draft, vague ambition, or messy task brief into a powerful Codex /goal objective for persistent, evidence-checked work.

    102 GitHub stars~3.8k tokensUpdated 4 mo ago
    Testing & QAAuto-check passed
  • Thinking Partner

    mattnowdev/thinking-partner

    A deterministic thinking partner that challenges assumptions and applies mental models to sharpen decisions, solve problems, and think more clearly.

    205 GitHub stars~4.4k tokensUpdated 6 mo ago
    Testing & QAAuto-check passed
  • Challenge

    blueberrycongee/termcanvas

    Adversarial review skill. An agent skill from blueberrycongee/termcanvas.

    406 GitHub stars~1.5k tokensUpdated 4 mo ago
    Testing & QAAuto-check passed
  • Vision

    kunchenguid/vision

    Draft and stress-test a VISION.md for a repository, then iterate with the author on an interactive review board until approved.

    329 GitHub stars~2.9k tokensUpdated 1 mo ago
    Testing & QAAuto-check passed

More from FerroxLabs/wayland

All 1,194 skills in this repo
  • Star Office Helper

    FerroxLabs/wayland

    Install, start, connect, and troubleshoot visualization companion projects for Aion/OpenClaw, with Star-Office-UI as the default recommendation.

    608 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check: notes
  • Openclaw Setup

    FerroxLabs/wayland

    OpenClaw usage expert: Helps you install, deploy, configure, and use OpenClaw personal AI assistant.

    608 GitHub stars~1.9k tokensUpdated yesterday
    Auto-check passed
  • Tvcontrol Setup

    FerroxLabs/wayland

    Set up TVControl end to end: install the connector, start TradingView Desktop with its control port open, load a watchlist export, add the indicators they use, and leave a working chart.

    608 GitHub stars~5.7k tokensUpdated yesterday
    Auto-check passed
  • Ab Testing Specialist

    FerroxLabs/wayland

    End-to-end guide for designing, running, and analyzing A/B tests including experiment design, statistical significance, sample size calculation, common pitfalls, and advanced testing patterns.

    608 GitHub stars~3.7k tokensUpdated yesterday
    Auto-check passed
  • Academic Writer

    FerroxLabs/wayland

    Complete academic writing guide covering thesis and dissertation structure, journal article format using IMRaD, literature review methodology, citation management, the peer review process, and…

    608 GitHub stars~4.5k tokensUpdated yesterday
    Auto-check passed
  • Accessibility Auditor

    FerroxLabs/wayland

    Web accessibility expertise covering WCAG 2.2 conformance, audit methodology, ARIA patterns, keyboard navigation, screen reader testing, focus management, form accessibility, and automated vs manual…

    608 GitHub stars~4.1k tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Performance Tester

What does Performance Tester do?

Performance testing expert covering k6 and JMeter test design, load test patterns (smoke, load, stress, spike, soak), bottleneck identification, performance budgets, capacity planning, APM…. Performance Tester is an agent skill from FerroxLabs/wayland. Performance testing expert covering k6 and JMeter test design, load test patterns (smoke, load, stress, spike, soak), bottleneck identification, performance budgets, capacity planning, APM integration, client-side performance testing, and performance regression prevention.

When should I use Performance Tester?

Performance Tester fits situations like: the user asks about performance tester; performance tester best practices; needs guidance on performance tester implementation; the user needs a different specialized skill.

How do I install Performance Tester in Claude Code?

Run `npx skills add FerroxLabs/wayland --skill performance-tester -a claude-code`. Or copy the skill folder (src/process/resources/skills-library/bodies/skills/testing-quality/performance-tester in FerroxLabs/wayland) into .claude/skills/performance-tester in your project. Claude Code loads it when a task matches its description.

How do I install Performance Tester in Codex?

Run `npx skills add FerroxLabs/wayland --skill performance-tester -a codex`. Or copy the skill folder (src/process/resources/skills-library/bodies/skills/testing-quality/performance-tester in FerroxLabs/wayland) into .agents/skills/performance-tester in your project. Codex loads it when a task matches its description.

Can I use Performance Tester in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add FerroxLabs/wayland --skill performance-tester -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/performance-tester, .gemini/skills/performance-tester, .github/skills/performance-tester and .opencode/skills/performance-tester in your project.

What does Performance Tester need to run?

Going by SKILL.md and its folder, Performance Tester needs the command-line tools its instructions call (bundle).

Does Performance Tester access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Performance Tester safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Performance Tester use?

Performance Tester is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Performance Tester use?

About 4k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Performance Tester?

Skills that share tags, products or a category with Performance Tester: Writing Livekit Scenarios (livekit-examples/agent-starter-python, 264 stars), Go Testing (cxuu/golang-skills, 170 stars), Goalcraft (grp06/goalcraft, 102 stars) and Thinking Partner (mattnowdev/thinking-partner, 205 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Performance Tester?

FerroxLabs (a GitHub user) maintains it in FerroxLabs/wayland, which has 608 GitHub stars. The repository holds 1,194 skills in this directory. The repository was last updated on October 6, 2026.

Source: FerroxLabs/wayland on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.