Agent skill

Performance Engineering

by ancoleman in ancoleman/ai-design-components

When validating system performance under load, identifying bottlenecks through profiling, or optimizing application responsiveness.

MITAuto-check: notesTesting & QA

Install Performance Engineering

skills CLI
$ npx skills add ancoleman/ai-design-components --skill performance-engineering -a claude-code

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

GitHub CLI
$ gh skill install ancoleman/ai-design-components performance-engineering --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/ancoleman/ai-design-components.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/performance-engineering .claude/skills/performance-engineering && 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-engineering
GitHub stars
526
Token cost
~2.9k tokens
SKILL.md length
820 words
Files
14 (incl. references)
Skills in repo
75
Repo updated
First seen
Licence
MIT

At a glance

When validating system performance under load, identifying bottlenecks through profiling, or optimizing application responsiveness.

  • Works in 4 steps: Measure baseline performance → Identify user expectations → Set achievable targets (10-20% better… → …
  • Capacity planning
  • SKILL.md covers Purpose, When to Use This Skill, Performance Testing Types and Quick Decision Framework, plus 7 more sections
  • Runs JavaScript, Python, TypeScript and Shell scripts from its folder; calls pip, brew and apt-get; reaches github.com

What it does

Performance Engineering is an agent skill from ancoleman/ai-design-components. When validating system performance under load, identifying bottlenecks through profiling, or optimizing application responsiveness. Covers load testing (k6, Locust), profiling (CPU, memory, I/O), and optimization strategies (caching, query optimization, Core Web Vitals). Use for capacity planning, regression detection, and establishing performance SLOs.

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 20 other files, including reference files (for example `examples/k6/load-test.js`, `examples/k6/soak-test.js` and `examples/k6/stress-test.js`).

It sits in Testing & QA, covering Load testing and Site reliability engineering. The repository describes itself as: Comprehensive UI/UX and Backend component design skills for AI-assisted development with Claude. The licence is MIT.

When your agent uses it

  • Capacity planning
  • Regression detection
  • Establishing performance SLOs

Example prompts

  • “/performance-engineering”

Requirements

  • Python 3
  • Node.js
  • A Bash shell

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Measure baseline performance
  2. Identify user expectations
  3. Set achievable targets (10-20% better than baseline)
  4. Iterate as system matures

What it can do on your machine

Read from SKILL.md and the folder at commit 76551b7. 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

    Ships script files (JavaScript, Python, TypeScript and Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • pip
    • brew
    • apt-get
    • go
    • node
    • npm

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    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 Engineering loads about 2.9k tokens when it runs, and up to ~27k if it reads all its reference files. Until then it costs about 95 tokens; SKILL.md has 820 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~95
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~27k

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteRuns commands with sudoSKILL.md:77
    sudo apt-get install k6  # Linux
  • NoteRuns commands with sudoSKILL.md:335
    sudo mv k6-v0.48.0-linux-amd64/k6 /usr/local/bin/

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 ancoleman/ai-design-components at commit 76551b7, republished under its MIT licence (© ancoleman). 820 words, ~2,853 tokens.

Download SKILL.mdSave it as .claude/skills/performance-engineering/SKILL.md (or your agent's skills folder). This skill also uses 13 other files; get the full folder from GitHub.
name
performance-engineering
description
When validating system performance under load, identifying bottlenecks through profiling, or optimizing application responsiveness. Covers load testing (k6, Locust), profiling (CPU, memory, I/O), and optimization strategies (caching, query optimization, Core Web Vitals). Use for capacity planning, regression detection, and establishing performance SLOs.

Performance Engineering

Purpose

Performance engineering encompasses load testing, profiling, and optimization to deliver reliable, scalable systems. This skill provides frameworks for choosing the right performance testing approach (load, stress, soak, spike), profiling techniques to identify bottlenecks (CPU, memory, I/O), and optimization strategies for backend APIs, databases, and frontend applications.

Use this skill to validate system capacity before launch, detect performance regressions in CI/CD pipelines, identify and resolve bottlenecks through profiling, and optimize application responsiveness across the stack.

When to Use This Skill

Common Triggers:

  • "Validate API can handle expected traffic"
  • "Find maximum capacity and breaking points"
  • "Identify why the application is slow"
  • "Detect memory leaks or resource exhaustion"
  • "Optimize Core Web Vitals for SEO"
  • "Set up performance testing in CI/CD"
  • "Reduce cloud infrastructure costs"

Use Cases:

  • Pre-launch capacity planning and load validation
  • Post-refactor performance regression testing
  • Investigating slow response times or high latency
  • Detecting memory leaks in long-running services
  • Optimizing database query performance
  • Validating auto-scaling configuration
  • Establishing performance SLOs and budgets

Performance Testing Types

Load Testing

Validate system behavior under expected traffic levels.

When to use: Pre-launch capacity planning, regression testing after refactors, validating auto-scaling.

Stress Testing

Find system capacity limits and failure modes.

When to use: Capacity planning, understanding failure behavior, infrastructure sizing decisions.

Soak Testing

Identify memory leaks, resource exhaustion, and degradation over time.

When to use: Detecting memory leaks, validating connection pool cleanup, testing long-running batch jobs.

Spike Testing

Validate system response to sudden traffic spikes.

When to use: Validating auto-scaling, testing event-driven systems (product launches), ensuring rate limiting works.

Quick Decision Framework

Which test type to use?

What am I trying to learn?
├─ Can my system handle expected traffic? → LOAD TEST
├─ What's the maximum capacity? → STRESS TEST
├─ Will it stay stable over time? → SOAK TEST
└─ Can it handle traffic spikes? → SPIKE TEST

For detailed testing patterns, load scenarios, and interpreting results, see references/testing-types.md.

Load Testing Quick Starts

k6 (JavaScript)

Installation:

bash
brew install k6  # macOS
sudo apt-get install k6  # Linux

Basic Load Test:

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

export const options = {
  stages: [
    { duration: '30s', target: 20 },
    { duration: '1m', target: 20 },
    { duration: '30s', target: 0 },
  ],
  thresholds: {
    http_req_duration: ['p(95)<500'],
    http_req_failed: ['rate<0.01'],
  },
};

export default function () {
  const res = http.get('https://api.example.com/products');
  check(res, {
    'status is 200': (r) => r.status === 200,
  });
  sleep(1);
}

Run: k6 run script.js

For stress, soak, and spike testing examples, see examples/k6/.

Locust (Python)

Installation:

bash
pip install locust

Basic Load Test:

python
from locust import HttpUser, task, between

class WebsiteUser(HttpUser):
    wait_time = between(1, 3)
    host = "https://api.example.com"

    @task(3)
    def view_products(self):
        self.client.get("/products")

    @task(1)
    def view_product_detail(self):
        self.client.get("/products/123")

Run: locust -f locustfile.py --headless -u 100 -r 10 --run-time 10m

For REST API testing and data-driven testing, see examples/locust/.

Profiling Quick Starts

When to Profile
SymptomProfiling TypeTool
High CPU (>70%)CPU Profilingpy-spy, pprof, DevTools
Memory growingMemory Profilingmemory_profiler, pprof heap
Slow response, low CPUI/O ProfilingQuery logs, pprof block
Python Profiling

py-spy (Production-Safe):

bash
pip install py-spy

# Profile running process
py-spy record -o profile.svg --pid <PID> --duration 30

# Top-like view
py-spy top --pid <PID>

Memory Profiling:

python
from memory_profiler import profile

@profile
def my_function():
    a = [1] * (10 ** 6)
    return a

# Run: python -m memory_profiler script.py
Go Profiling

pprof (Built-in):

go
import (
    "net/http"
    _ "net/http/pprof"
)

func main() {
    go func() {
        http.ListenAndServe("localhost:6060", nil)
    }()
    startApp()
}

Capture profile:

bash
# CPU profile (30 seconds)
go tool pprof http://localhost:6060/debug/pprof/profile?seconds=30

# Interactive analysis
(pprof) top
(pprof) web
TypeScript/JavaScript Profiling

Chrome DevTools (Browser/Node.js):

Node.js:

bash
node --inspect app.js
# Open chrome://inspect
# Performance tab → Record

clinic.js (Node.js):

bash
npm install -g clinic
clinic doctor -- node app.js

For detailed profiling workflows and analysis, see references/profiling-guide.md and examples/profiling/.

Optimization Strategies

Caching

When to cache:

  • Data queried frequently (>100 req/min)
  • Data freshness tolerance (>1 minute acceptable staleness)

Redis example:

python
import redis
r = redis.Redis()

def get_cached_data(key, fn, ttl=300):
    cached = r.get(key)
    if cached:
        return json.loads(cached)
    data = fn()
    r.setex(key, ttl, json.dumps(data))
    return data
Database Query Optimization

N+1 prevention:

python
# Bad: N+1 queries
users = User.query.all()
for user in users:
    print(user.orders)  # Separate query per user

# Good: Eager loading
users = User.query.options(joinedload(User.orders)).all()

Indexing:

sql
CREATE INDEX idx_users_email ON users(email);
API Performance

Cursor-based pagination:

typescript
app.get('/api/products', async (req, res) => {
  const { cursor, limit = 20 } = req.query;

  const products = await db.query(
    'SELECT * FROM products WHERE id > ? ORDER BY id LIMIT ?',
    [cursor || 0, limit]
  );

  res.json({
    data: products,
    next_cursor: products[products.length - 1]?.id,
  });
});
Frontend Performance (Core Web Vitals)

Key metrics:

  • LCP (Largest Contentful Paint): < 2.5s
  • INP (Interaction to Next Paint): < 200ms
  • CLS (Cumulative Layout Shift): < 0.1

Optimization techniques:

  • Code splitting (lazy loading)
  • Image optimization (WebP, responsive, lazy loading)
  • Preload critical resources
  • Minimize render-blocking resources

For detailed optimization strategies, see references/optimization-strategies.md and references/frontend-performance.md.

Performance SLOs

Service Typep95 Latencyp99 LatencyAvailability
User-Facing API< 200ms< 500ms99.9%
Internal API< 100ms< 300ms99.5%
Database Query< 50ms< 100ms99.99%
Background Job< 5s< 10s99%
Real-time API< 50ms< 100ms99.95%
Show full SKILL.md (316 more words)Show less
SLO Selection Process
  1. Measure baseline performance
  2. Identify user expectations
  3. Set achievable targets (10-20% better than baseline)
  4. Iterate as system matures

For detailed SLO framework and performance budgets, see references/slo-framework.md.

CI/CD Integration

Performance Testing in Pipelines

GitHub Actions example:

yaml
name: Performance Tests

on:
  pull_request:
    branches: [main]

jobs:
  load-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Install k6
        run: |
          curl https://github.com/grafana/k6/releases/download/v0.48.0/k6-v0.48.0-linux-amd64.tar.gz -L | tar xvz
          sudo mv k6-v0.48.0-linux-amd64/k6 /usr/local/bin/

      - name: Run load test
        run: k6 run tests/load/api-test.js

Performance budgets:

javascript
// k6 test with thresholds (fail build if violated)
export const options = {
  thresholds: {
    http_req_duration: ['p(95)<500'],
    http_req_failed: ['rate<0.01'],
  },
};

Profiling Workflow

Standard process:

  1. Observe symptoms (high CPU, memory growth, slow response)
  2. Hypothesize bottleneck (CPU? Memory? I/O?)
  3. Choose profiling type based on hypothesis
  4. Run profiler under realistic load
  5. Analyze profile (flamegraph, call tree)
  6. Identify hot spots (top 20% functions using 80% resources)
  7. Optimize bottlenecks
  8. Re-profile to validate improvement

Best practices:

  • Profile under realistic load (not idle systems)
  • Use sampling profilers (py-spy, pprof) in production (low overhead)
  • Focus on hot paths (optimize biggest bottlenecks first)
  • Validate optimizations with before/after comparisons

Tool Recommendations

Load Testing

Primary: k6 (JavaScript-based, Grafana-backed)

  • Modern architecture, cloud-native
  • JavaScript DSL (ES6+)
  • Grafana/Prometheus integration
  • Multi-protocol (HTTP/1.1, HTTP/2, WebSocket, gRPC)

When to use: Modern APIs, microservices, CI/CD integration.

Alternative: Locust (Python-based)

  • Python-native (write tests in Python)
  • Web UI for real-time monitoring
  • Flexible for complex user scenarios

When to use: Python-heavy teams, complex user flows.

Profiling

Python:

  • py-spy (sampling, production-safe)
  • cProfile (deterministic, detailed)
  • memory_profiler (memory leak detection)

Go:

  • pprof (built-in, CPU/heap/goroutine/block profiling)

TypeScript/JavaScript:

  • Chrome DevTools (browser/Node.js)
  • clinic.js (Node.js performance suite)

For detailed tool comparisons, see references/testing-types.md and references/profiling-guide.md.

Reference Documentation

Detailed Guides:

  • references/testing-types.md - Load, stress, soak, spike testing patterns
  • references/profiling-guide.md - CPU, memory, I/O profiling across languages
  • references/optimization-strategies.md - Caching, database, API optimization
  • references/frontend-performance.md - Core Web Vitals, bundle optimization
  • references/slo-framework.md - Setting SLOs, performance budgets
  • references/benchmarking.md - Benchmarking best practices

Examples:

  • examples/k6/ - Load, stress, soak, spike tests
  • examples/locust/ - Python-based load testing
  • examples/profiling/ - Profiling examples (Python, Go, TypeScript)
  • examples/optimization/ - Caching, query, API optimization

For comprehensive testing strategies, see the testing-strategies skill.

For CI/CD integration patterns, see the building-ci-pipelines skill.

For infrastructure sizing based on load tests, see the infrastructure-as-code skill.

For Kubernetes performance testing, see the kubernetes-operations skill.

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

Files

SKILL.md and 13 other files (references) in skills/performance-engineering of ancoleman/ai-design-components.

  • SKILL.md
  • examples/k6/load-test.js
  • examples/k6/soak-test.js
  • examples/k6/stress-test.js
  • examples/locust/load_test.py
  • examples/optimization/api_optimization.ts
  • examples/profiling/python/pyspy_example.sh
  • outputs.yaml
  • references/benchmarking.md
  • references/frontend-performance.md
  • references/optimization-strategies.md
  • references/profiling-guide.md
  • references/slo-framework.md
  • references/testing-types.md

Open the folder on GitHubat commit 76551b7

Compare with similar skills

Performance Engineering 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 Engineering compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Performance Engineering this skillancoleman/ai-design-components526—~2.9kAutomated safety check: NotesMIT
Performance Testingkid-sid/claude-spellbook189—~2.5kAutomated safety check: PassMIT
Vercel Load Scalejeremylongshore/tons-of-skills-marketplace2.8k—~2kAutomated safety check: PassMIT
Anth Load Scalejeremylongshore/tons-of-skills-marketplace2.8k—~1.8kAutomated safety check: PassMIT
Afrexai Performance EngineeringLeoYeAI/openclaw-master-skills2.2k—~7.1kAutomated safety check: PassMIT
HTTP Load Profilerzebbern/claude-code-guide4.7k—~1.6kAutomated safety check: NotesMIT

Similar skills

  • Performance Testing

    kid-sid/claude-spellbook

    A skill your agent uses when load testing a service before launch or after a significant traffic change — writing k6 or Locust scripts, setting SLO-based pass/fail thresholds, diagnosing bottlenecks…

    189 GitHub stars~2.5k tokensUpdated 2 mo ago
    Testing & QAAuto-check passed
  • Vercel Load Scale

    jeremylongshore/tons-of-skills-marketplace

    Load test and scale Vercel deployments with concurrency tuning and capacity planning.

    2.8k GitHub stars~2k tokensUpdated today
    Testing & QAAuto-check passed
  • Anth Load Scale

    jeremylongshore/tons-of-skills-marketplace

    Implement load testing, auto-scaling, and capacity planning for Claude API.

    2.8k GitHub stars~1.8k tokensUpdated today
    Testing & QAAuto-check passed
  • Afrexai Performance Engineering

    LeoYeAI/openclaw-master-skills

    Complete performance engineering system — profiling, optimization, load testing, capacity planning, and performance culture.

    2.2k GitHub stars~7.1k tokensUpdated 2 mo ago
    Testing & QAAuto-check passed
  • HTTP Load Profiler

    zebbern/claude-code-guide

    Run stepped HTTP load tests with ab/wrk, ramping concurrency levels to collect p50/p90/p99 latency, detect performance inflection points, and recommend optimal concurrency.

    4.7k GitHub stars~1.6k tokensUpdated today
    Testing & QAAuto-check: notes
  • Testing Performance And Load

    jaktestowac/awesome-copilot-for-testers

    Designs and runs performance and load tests: workload modelling from real traffic, thresholds tied to SLOs, warmup and ramp shapes, percentile-based analysis, and lightweight CI perf checks with k6…

    116 GitHub stars~2.8k tokensUpdated 1 mo ago
    DevOps & CloudAuto-check passed

More from ancoleman/ai-design-components

All 75 skills in this repo
  • Building AI Chat

    ancoleman/ai-design-components

    Builds AI chat interfaces and conversational UI with streaming responses, context management, and multi-modal support.

    526 GitHub starsUsed in 1 repo~3.4k tokens
    Auto-check passed
  • Building Forms

    ancoleman/ai-design-components

    Builds form components and data collection interfaces including contact forms, registration flows, checkout processes, surveys, and settings pages.

    526 GitHub stars~3.7k tokensUpdated 10 mo ago
    Auto-check passed
  • Building Tables

    ancoleman/ai-design-components

    Builds tables and data grids for displaying tabular information, from simple HTML tables to complex enterprise data grids.

    526 GitHub stars~1.8k tokensUpdated 10 mo ago
    Auto-check passed
  • Creating Dashboards

    ancoleman/ai-design-components

    Creates comprehensive dashboard and analytics interfaces that combine data visualization, KPI cards, real-time updates, and interactive layouts.

    526 GitHub stars~3.5k tokensUpdated 10 mo ago
    Auto-check passed
  • Designing Layouts

    ancoleman/ai-design-components

    Designs layout systems and responsive interfaces including grid systems, flexbox patterns, sidebar layouts, and responsive breakpoints.

    526 GitHub stars~1.7k tokensUpdated 10 mo ago
    Auto-check passed
  • Displaying Timelines

    ancoleman/ai-design-components

    Displays chronological events and activity through timelines, activity feeds, Gantt charts, and calendar interfaces.

    526 GitHub stars~2.7k tokensUpdated 10 mo ago
    Auto-check passed

Questions about Performance Engineering

What does Performance Engineering do?

When validating system performance under load, identifying bottlenecks through profiling, or optimizing application responsiveness. Performance Engineering is an agent skill from ancoleman/ai-design-components. When validating system performance under load, identifying bottlenecks through profiling, or optimizing application responsiveness.

When should I use Performance Engineering?

Performance Engineering fits situations like: capacity planning; regression detection; establishing performance SLOs.

How do I install Performance Engineering in Claude Code?

Run `npx skills add ancoleman/ai-design-components --skill performance-engineering -a claude-code`. Or copy the skill folder (skills/performance-engineering in ancoleman/ai-design-components) into .claude/skills/performance-engineering in your project. Claude Code loads it when a task matches its description.

How do I install Performance Engineering in Codex?

Run `npx skills add ancoleman/ai-design-components --skill performance-engineering -a codex`. Or copy the skill folder (skills/performance-engineering in ancoleman/ai-design-components) into .agents/skills/performance-engineering in your project. Codex loads it when a task matches its description.

Can I use Performance Engineering 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 ancoleman/ai-design-components --skill performance-engineering -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-engineering, .gemini/skills/performance-engineering, .github/skills/performance-engineering and .opencode/skills/performance-engineering in your project.

What does Performance Engineering need to run?

Going by SKILL.md and its folder, Performance Engineering needs JavaScript, Python, TypeScript and a shell for the scripts in its folder and the command-line tools its instructions call (pip, brew, apt-get, go, node and npm). Our summary lists: Python 3; Node.js; A Bash shell.

Does Performance Engineering access the network?

SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Performance Engineering safe to install?

Our automated static check of SKILL.md found notes only (runs commands with sudo), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Performance Engineering use?

Performance Engineering is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Performance Engineering use?

About 2.9k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 25k tokens, read only when the agent opens those files.

What are the alternatives to Performance Engineering?

Skills that share tags, products or a category with Performance Engineering: Performance Testing (kid-sid/claude-spellbook, 189 stars), Vercel Load Scale (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Anth Load Scale (jeremylongshore/tons-of-skills-marketplace, 2.8k stars) and Afrexai Performance Engineering (LeoYeAI/openclaw-master-skills, 2.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Performance Engineering?

ancoleman (a GitHub user) maintains it in ancoleman/ai-design-components, which has 526 GitHub stars. The repository holds 75 skills in this directory. The repository was last updated on December 11, 2025.

Source: ancoleman/ai-design-components on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.