perf-skills 2.0.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +14 -6
- package/.claude-plugin/plugin.json +2 -2
- package/README.md +216 -187
- package/package.json +7 -2
- package/skills/perf/SKILL.md +60 -33
- package/skills/perf/evals/evals.json +80 -0
- package/skills/perf/evals/trigger-eval.json +38 -0
- package/skills/perf/references/tools/artillery.md +331 -0
- package/skills/perf/references/tools/loadrunner.md +24 -0
- package/skills/perf/references/tools/neoload.md +54 -0
- package/skills/perf/references/topics/correlation.md +4 -0
- package/skills/perf/references/topics/database-testing.md +2 -0
- package/skills/perf/references/topics/llm-inference.md +179 -0
- package/skills/perf/references/topics/modern-architectures.md +2 -0
- package/skills/perf/references/topics/observability.md +2 -0
- package/skills/perf/references/topics/production-testing.md +2 -0
- package/skills/perf/references/topics/protocol-testing.md +65 -0
- package/skills/perf/references/topics/results-analysis.md +2 -0
- package/skills/perf/references/topics/script-generation.md +10 -17
- package/skills/perf/references/topics/slo-capacity.md +136 -0
- package/skills/perf/references/topics/test-data.md +2 -0
- package/skills/perf/references/topics/test-execution.md +32 -5
|
@@ -5,15 +5,15 @@
|
|
|
5
5
|
"email": "contact@qainsights.com"
|
|
6
6
|
},
|
|
7
7
|
"metadata": {
|
|
8
|
-
"description": "Expert AI skill for performance testing - covers the full lifecycle using JMeter, k6, Gatling, Locust, NeoLoad, LoadRunner, and
|
|
9
|
-
"version": "
|
|
8
|
+
"description": "Expert AI skill for performance testing - covers the full lifecycle using JMeter, k6, Gatling, Locust, Artillery, NeoLoad, LoadRunner, OctoPerf, plus LLM inference benchmarking and SLO/capacity planning.",
|
|
9
|
+
"version": "4.0.0"
|
|
10
10
|
},
|
|
11
11
|
"plugins": [
|
|
12
12
|
{
|
|
13
13
|
"name": "perf",
|
|
14
14
|
"source": "./",
|
|
15
|
-
"description": "Expert guidance for performance testing: planning, scripting, executing, and analyzing load/stress/soak/spike tests across
|
|
16
|
-
"version": "
|
|
15
|
+
"description": "Expert guidance for performance testing: planning, scripting, executing, and analyzing load/stress/soak/spike tests across 8 tools, 13 topic areas, LLM inference benchmarking, and SLO/capacity planning.",
|
|
16
|
+
"version": "4.0.0",
|
|
17
17
|
"author": {
|
|
18
18
|
"name": "NaveenKumar Namachivayam",
|
|
19
19
|
"email": "contact@qainsights.com"
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
"k6",
|
|
29
29
|
"gatling",
|
|
30
30
|
"locust",
|
|
31
|
+
"artillery",
|
|
31
32
|
"neoload",
|
|
32
33
|
"loadrunner",
|
|
33
34
|
"octoperf",
|
|
@@ -38,6 +39,10 @@
|
|
|
38
39
|
"websocket",
|
|
39
40
|
"observability",
|
|
40
41
|
"ci-cd",
|
|
42
|
+
"llm-inference",
|
|
43
|
+
"vllm",
|
|
44
|
+
"slo",
|
|
45
|
+
"capacity-planning",
|
|
41
46
|
"performance-testing-best-practices",
|
|
42
47
|
"performance-testing-strategies",
|
|
43
48
|
"black-friday-performance-testing",
|
|
@@ -68,12 +73,15 @@
|
|
|
68
73
|
"k6",
|
|
69
74
|
"gatling",
|
|
70
75
|
"locust",
|
|
76
|
+
"artillery",
|
|
71
77
|
"neoload",
|
|
72
78
|
"loadrunner",
|
|
73
79
|
"octoperf",
|
|
74
80
|
"performance-engineering",
|
|
75
|
-
"
|
|
76
|
-
"
|
|
81
|
+
"llm-inference",
|
|
82
|
+
"vllm",
|
|
83
|
+
"slo",
|
|
84
|
+
"capacity-planning",
|
|
77
85
|
"performance-testing-best-practices",
|
|
78
86
|
"performance-testing-strategies"
|
|
79
87
|
]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "perf",
|
|
3
|
-
"description": "Expert guidance for performance testing: planning, scripting, executing, and analyzing load/stress/soak/spike tests using JMeter, k6, Gatling, Locust, NeoLoad, LoadRunner, OctoPerf.",
|
|
4
|
-
"version": "
|
|
3
|
+
"description": "Expert guidance for performance testing: planning, scripting, executing, and analyzing load/stress/soak/spike tests using JMeter, k6, Gatling, Locust, Artillery, NeoLoad, LoadRunner, OctoPerf, plus LLM inference benchmarking and SLO/capacity planning.",
|
|
4
|
+
"version": "4.0.0",
|
|
5
5
|
"skills": "./skills/"
|
|
6
6
|
}
|
package/README.md
CHANGED
|
@@ -1,165 +1,202 @@
|
|
|
1
|
-
# perf-skills
|
|
2
|
-
|
|
3
|
-
> *"The more you sweat in training, the less you bleed in battle."* - Richard Marcinko
|
|
4
|
-
>
|
|
5
|
-
> The more relevant skills your AI loads during development, the fewer fires you fight in production.
|
|
6
|
-
|
|
7
|
-
## What Is This?
|
|
8
|
-
|
|
9
|
-
`perf-skills` is a structured knowledge base that gives AI coding assistants deep, opinionated expertise in performance testing. It works with any AI tool that supports custom instructions, rules, or skill files - helping you plan, script, execute, and analyze load tests using any major tool.
|
|
10
|
-
|
|
11
|
-
### Supported Tools
|
|
12
|
-
|
|
13
|
-
| Open Source | Commercial |
|
|
14
|
-
|---|---|
|
|
15
|
-
| Apache JMeter | NeoLoad (Tricentis) |
|
|
16
|
-
| k6 (Grafana Labs) | LoadRunner (OpenText) |
|
|
17
|
-
| Gatling | OctoPerf (SaaS) |
|
|
18
|
-
| Locust | |
|
|
19
|
-
|
|
20
|
-
### Topics Covered
|
|
21
|
-
|
|
22
|
-
- **Workload design** - concurrency models, Little's Law, transaction mix, SLA targets
|
|
23
|
-
- **Test data** - parameterization, CSV feeds, synthetic data, data isolation
|
|
24
|
-
- **Script generation** - correlation, assertions, error handling, session management
|
|
25
|
-
- **Test execution** - local, distributed, CI/CD pipelines, cloud execution
|
|
26
|
-
- **Results analysis** - percentiles, bottleneck identification, trend comparison, reporting
|
|
27
|
-
- **Observability** - APM integration, Prometheus/Grafana, distributed tracing, log correlation
|
|
28
|
-
- **Production testing** - canary, shadow traffic, chaos engineering, safety controls
|
|
29
|
-
- **Protocol testing** - gRPC, GraphQL, WebSocket/SSE, Kafka/message queues
|
|
30
|
-
- **Database testing** - JDBC load testing, connection pools, query concurrency, replication lag
|
|
31
|
-
- **Modern architectures** - microservices, Kubernetes (HPA, service mesh), serverless (cold starts), frontend (Core Web Vitals)
|
|
32
|
-
|
|
33
|
-
## Compatible AI Coding Assistants
|
|
34
|
-
|
|
35
|
-
| Tool | Integration Method | Setup |
|
|
36
|
-
|---|---|---|
|
|
37
|
-
| **Windsurf (Cascade)** | Skills | Copy to skills directory - auto-triggers on perf questions |
|
|
38
|
-
| **Cursor** | Rules / Docs | Add as project rules or index via `@Docs` |
|
|
39
|
-
| **Claude Code** | CLAUDE.md / Custom instructions | Reference files in `CLAUDE.md` or feed as context |
|
|
40
|
-
| **Cline** | Custom instructions / `.clinerules` | Add to `.clinerules` or workspace instructions |
|
|
41
|
-
| **Roo Code** | Custom instructions / Rules | Add as workspace rules or custom instructions |
|
|
42
|
-
| **Aider** | Conventions / Chat context | Add to `.aider.conf.yml` conventions or `/read` files |
|
|
43
|
-
| **OpenCode** | Custom instructions | Add to project-level instructions |
|
|
44
|
-
| **Antigravity** | Context files | Add as context / knowledge files |
|
|
45
|
-
| **Pochi** | Custom instructions | Reference files in project instructions |
|
|
46
|
-
| **GitHub Copilot** | Custom instructions / `.github/copilot-instructions.md` | Reference in repo-level instructions |
|
|
47
|
-
|
|
48
|
-
## Installation
|
|
1
|
+
# ⚡ Performance Testing Skills (`perf-skills`)
|
|
49
2
|
|
|
50
|
-
|
|
3
|
+
> **Turn your AI assistant into a senior performance engineer.** An opinionated, token-optimized knowledge base for planning, scripting, executing, and analyzing load tests across any major tool.
|
|
51
4
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
/plugin marketplace add QAInsights/perf-skills
|
|
55
|
-
/plugin install perf@qainsights
|
|
56
|
-
/reload-plugins
|
|
57
|
-
```
|
|
5
|
+
> *"The more you sweat in training, the less you bleed in battle."* - Richard Marcinko
|
|
6
|
+
> *"The more relevant skills your AI loads during development, the fewer fires you fight in production."*
|
|
58
7
|
|
|
59
|
-
|
|
8
|
+
---
|
|
60
9
|
|
|
61
|
-
|
|
62
|
-
```bash
|
|
63
|
-
/plugin marketplace update
|
|
64
|
-
/plugin uninstall perf
|
|
65
|
-
/plugin install perf@qainsights
|
|
66
|
-
/reload-plugins
|
|
67
|
-
```
|
|
10
|
+
## 📖 Table of Contents
|
|
68
11
|
|
|
69
|
-
|
|
12
|
+
- [🔍 What is perf-skills?](#-what-is-perf-skills)
|
|
13
|
+
- [📦 Supported Tools & Protocols](#-supported-tools--protocols)
|
|
14
|
+
- [⛓️ Dynamic Value Correlation](#️-dynamic-value-correlation)
|
|
15
|
+
- [🛠️ Compatible AI Assistants](#️-compatible-ai-assistants)
|
|
16
|
+
- [🚀 Installation & Setup](#-installation--setup)
|
|
17
|
+
- [📂 File Structure & Routing](#-file-structure--routing)
|
|
18
|
+
- [💡 How the Skill Works](#-how-the-skill-works)
|
|
19
|
+
- [🤝 Contributing & License](#-contributing--license)
|
|
70
20
|
|
|
71
|
-
|
|
72
|
-
npx skills add QAInsights/perf-skills
|
|
73
|
-
```
|
|
21
|
+
---
|
|
74
22
|
|
|
75
|
-
|
|
23
|
+
## 🔍 What is perf-skills?
|
|
76
24
|
|
|
77
|
-
|
|
78
|
-
# Clone and copy to Claude skills directory
|
|
79
|
-
git clone https://github.com/QAInsights/perf-skills.git
|
|
80
|
-
cp -r perf-skills/skills/perf ~/.claude/skills/
|
|
81
|
-
```
|
|
25
|
+
`perf-skills` is a highly structured knowledge base designed specifically for AI coding assistants (like Claude, Cursor, Windsurf, etc.). It injects deep, expert-level performance testing context on-demand, allowing your AI to generate correct scripts, follow best practices, and debug bottlenecks without bloating its context window.
|
|
82
26
|
|
|
83
|
-
|
|
27
|
+
---
|
|
84
28
|
|
|
85
|
-
|
|
86
|
-
2. Copy the skill directory: `cp -r perf-skills/skills/perf ~/.windsurf/skills/`
|
|
87
|
-
3. The skill auto-triggers when you ask about performance testing, load testing, or any supported tool.
|
|
29
|
+
## 📦 Supported Tools & Protocols
|
|
88
30
|
|
|
89
|
-
|
|
31
|
+
| Category | Supported Technologies |
|
|
32
|
+
| :--- | :--- |
|
|
33
|
+
| **Open Source** | Apache JMeter, k6 (Grafana Labs), Gatling, Locust, Artillery |
|
|
34
|
+
| **Commercial/SaaS** | NeoLoad (Tricentis), LoadRunner (OpenText), OctoPerf |
|
|
35
|
+
| **Protocols** | HTTP/REST, gRPC, GraphQL, WebSocket, SSE, JDBC, SOAP, Kafka/MQ, Citrix, SAP |
|
|
36
|
+
| **AI/ML** | LLM inference benchmarking (vLLM, TRT-LLM, SGLang), SLO/capacity planning |
|
|
90
37
|
|
|
91
|
-
|
|
92
|
-
1. Clone the repository: `git clone https://github.com/QAInsights/perf-skills.git`
|
|
93
|
-
2. Create `.cursor/rules/perf.mdc` in your project root.
|
|
94
|
-
3. Copy content from `perf-skills/skills/perf/SKILL.md` into the rule file.
|
|
38
|
+
---
|
|
95
39
|
|
|
96
|
-
|
|
97
|
-
1. Clone the repository into your project or a known location.
|
|
98
|
-
2. Open Cursor Settings → Features → Docs.
|
|
99
|
-
3. Add the `perf-skills/skills/perf/` directory as a doc source.
|
|
100
|
-
4. Reference with `@Docs perf` in chat.
|
|
40
|
+
## ⛓️ Dynamic Value Correlation
|
|
101
41
|
|
|
102
|
-
|
|
42
|
+
A major highlight of this library is the **Dynamic Value Correlation** engine ([correlation.md](skills/perf/references/topics/correlation.md)). Correlation is often the most fragile part of performance scripting; `perf-skills` equips your AI with robust strategies to handle it flawlessly:
|
|
103
43
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
44
|
+
- **The Correlation Workflow**: Standardizes identifying, extracting, injecting, and verifying dynamic tokens.
|
|
45
|
+
- **Advanced Scanning**: Strategies for Next.js/React SSR hydration payloads (`__NEXT_DATA__`), SPA client-side token retrieval, runtime hooking, and Swagger contract mapping.
|
|
46
|
+
- **Robust vs. Brittle Regex**: Guides your AI to write expressions that don't break on minor HTML structure modifications.
|
|
47
|
+
- **Tech Stack Rules**: Pre-defined extraction rules for enterprise environments:
|
|
48
|
+
- **ASP.NET**: ViewState, RequestVerificationToken, EventValidation.
|
|
49
|
+
- **Java**: JSF ViewState, Spring Security `_csrf`, JSESSIONID.
|
|
50
|
+
- **SAP & Oracle**: NetWeaver `sap-contextid`, ADF `_afrLoop`.
|
|
51
|
+
- **OAuth 2.0 / SAML**: SAMLResponse, code, state tokens.
|
|
52
|
+
- **Modern SSR/SPA**: Hydration states, Laravel `_token`, Django `csrfmiddlewaretoken`, Rails `authenticity_token`.
|
|
53
|
+
- **Diagnostic Playbook**: Step-by-step troubleshooting for URL-encoding, base64 url-safe transforms, JSON-escaping, and thread safety.
|
|
111
54
|
|
|
112
|
-
|
|
55
|
+
---
|
|
113
56
|
|
|
114
|
-
|
|
115
|
-
2. Copy the skill directory into your project: `cp -r perf-skills/skills/perf ./perf`
|
|
116
|
-
3. Add to your custom instructions or `.clinerules`:
|
|
117
|
-
```
|
|
118
|
-
For performance testing guidance, consult the perf knowledge base.
|
|
119
|
-
Start with perf/SKILL.md for routing to the correct reference file.
|
|
120
|
-
```
|
|
57
|
+
## 🛠️ Compatible AI Assistants
|
|
121
58
|
|
|
122
|
-
|
|
59
|
+
`perf-skills` works seamlessly with any modern AI development tool:
|
|
123
60
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
61
|
+
| AI Assistant | Integration Method |
|
|
62
|
+
| :--- | :--- |
|
|
63
|
+
| **Claude Code** | Native Plugin or `CLAUDE.md` context referencing |
|
|
64
|
+
| **Qwen Code** | Native Skill (`/perf`) or `QWEN.md` context referencing |
|
|
65
|
+
| **Windsurf (Cascade)** | Local Skill configuration |
|
|
66
|
+
| **Cursor** | Custom rules `.cursor/rules/` or index via `@Docs` |
|
|
67
|
+
| **Cline / Roo Code** | Workspace instructions / custom rules |
|
|
68
|
+
| **Aider** | Conventions file or `/read` context loading |
|
|
69
|
+
| **GitHub Copilot** | Repository-level custom instructions |
|
|
70
|
+
| **Antigravity / Pochi** | Context files / instruction references |
|
|
128
71
|
|
|
129
|
-
|
|
72
|
+
---
|
|
130
73
|
|
|
131
|
-
|
|
132
|
-
2. Copy the skill directory into your project: `cp -r perf-skills/skills/perf ./perf`
|
|
133
|
-
3. In `.github/copilot-instructions.md`, add:
|
|
134
|
-
```markdown
|
|
135
|
-
For performance testing questions, reference the perf knowledge base.
|
|
136
|
-
Start with perf/SKILL.md, then load relevant files from perf/references/.
|
|
137
|
-
```
|
|
74
|
+
## 🚀 Installation & Setup
|
|
138
75
|
|
|
139
|
-
###
|
|
76
|
+
### Claude Code Plugin (Recommended)
|
|
140
77
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
78
|
+
To install as a Claude Code plugin, run:
|
|
79
|
+
```bash
|
|
80
|
+
/plugin marketplace add QAInsights/perf-skills
|
|
81
|
+
/plugin install perf@qainsights
|
|
82
|
+
/reload-plugins
|
|
144
83
|
```
|
|
145
|
-
|
|
146
|
-
|
|
84
|
+
|
|
85
|
+
Once installed, the `/perf` skill will be available and automatically load when you ask performance-related questions.
|
|
86
|
+
|
|
87
|
+
To update to the latest version:
|
|
88
|
+
```bash
|
|
89
|
+
/plugin marketplace update
|
|
90
|
+
/plugin uninstall perf
|
|
91
|
+
/plugin install perf@qainsights
|
|
92
|
+
/reload-plugins
|
|
147
93
|
```
|
|
148
94
|
|
|
149
|
-
|
|
95
|
+
---
|
|
150
96
|
|
|
151
|
-
|
|
152
|
-
1. Point the tool to `SKILL.md` as the entry point.
|
|
153
|
-
2. Let the Reference Map in `SKILL.md` guide which file(s) to load.
|
|
97
|
+
### Qwen Code Skill
|
|
154
98
|
|
|
155
|
-
|
|
99
|
+
Install as a user-level skill so `/perf` is available in every project:
|
|
100
|
+
```bash
|
|
101
|
+
qwen skills add QAInsights/perf-skills
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Or for a single project, copy the skill directory and reference it in `QWEN.md`:
|
|
105
|
+
```bash
|
|
106
|
+
cp -r perf-skills/skills/perf ./perf
|
|
107
|
+
```
|
|
108
|
+
```markdown
|
|
109
|
+
<!-- QWEN.md -->
|
|
110
|
+
For performance testing questions, read `perf/SKILL.md` for routing, then load the relevant reference files from `perf/references/`.
|
|
111
|
+
```
|
|
156
112
|
|
|
157
|
-
|
|
113
|
+
---
|
|
158
114
|
|
|
159
|
-
|
|
115
|
+
### Install as local Skills (npx)
|
|
160
116
|
|
|
117
|
+
If you are using a tool that supports `npx skills`, add it directly:
|
|
118
|
+
```bash
|
|
119
|
+
npx skills add QAInsights/perf-skills
|
|
161
120
|
```
|
|
162
|
-
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
### Setup for Other Editors
|
|
125
|
+
|
|
126
|
+
<details>
|
|
127
|
+
<summary><b>🌊 Windsurf (Cascade)</b></summary>
|
|
128
|
+
<br>
|
|
129
|
+
|
|
130
|
+
1. Clone this repository:
|
|
131
|
+
```bash
|
|
132
|
+
git clone https://github.com/QAInsights/perf-skills.git
|
|
133
|
+
```
|
|
134
|
+
2. Copy the skill directory:
|
|
135
|
+
```bash
|
|
136
|
+
cp -r perf-skills/skills/perf ~/.windsurf/skills/
|
|
137
|
+
```
|
|
138
|
+
The skill will auto-trigger when you ask about performance testing, load testing, or any supported tool.
|
|
139
|
+
</details>
|
|
140
|
+
|
|
141
|
+
<details>
|
|
142
|
+
<summary><b>🎯 Cursor</b></summary>
|
|
143
|
+
<br>
|
|
144
|
+
|
|
145
|
+
**Option A (Project Rules):**
|
|
146
|
+
1. Copy [SKILL.md](skills/perf/SKILL.md) content into a rule file: `.cursor/rules/perf.mdc`.
|
|
147
|
+
2. Configure rules to trigger on file paths matching performance scripts or performance-related prompts.
|
|
148
|
+
|
|
149
|
+
**Option B (@Docs indexing):**
|
|
150
|
+
1. Open Cursor Settings → Features → Docs.
|
|
151
|
+
2. Add the path to `skills/perf/` directory as a doc source.
|
|
152
|
+
3. Reference with `@Docs perf` in your prompts.
|
|
153
|
+
</details>
|
|
154
|
+
|
|
155
|
+
<details>
|
|
156
|
+
<summary><b>🤖 Claude Code (CLAUDE.md)</b></summary>
|
|
157
|
+
<br>
|
|
158
|
+
|
|
159
|
+
1. Copy the `skills/perf` directory into your project root:
|
|
160
|
+
```bash
|
|
161
|
+
cp -r perf-skills/skills/perf ./perf
|
|
162
|
+
```
|
|
163
|
+
2. In your `CLAUDE.md`, add:
|
|
164
|
+
```markdown
|
|
165
|
+
For performance testing questions, read `perf/SKILL.md` for routing, then load the relevant reference files from `perf/references/`.
|
|
166
|
+
```
|
|
167
|
+
</details>
|
|
168
|
+
|
|
169
|
+
<details>
|
|
170
|
+
<summary><b> Cline / Roo Code</b></summary>
|
|
171
|
+
<br>
|
|
172
|
+
|
|
173
|
+
1. Copy the `skills/perf` directory into your project root.
|
|
174
|
+
2. In your `.clinerules` or custom instructions, append:
|
|
175
|
+
```text
|
|
176
|
+
For performance testing guidance, consult the perf knowledge base starting at perf/SKILL.md.
|
|
177
|
+
```
|
|
178
|
+
</details>
|
|
179
|
+
|
|
180
|
+
<details>
|
|
181
|
+
<summary><b>⚓ Aider</b></summary>
|
|
182
|
+
<br>
|
|
183
|
+
|
|
184
|
+
1. Copy the `skills/perf` directory into your project root.
|
|
185
|
+
2. Tell Aider to read the entrypoint:
|
|
186
|
+
```bash
|
|
187
|
+
/read perf/SKILL.md
|
|
188
|
+
```
|
|
189
|
+
3. Ask your question. Aider will load the corresponding tool/topic files from `perf/references/`.
|
|
190
|
+
</details>
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## 📂 File Structure & Routing
|
|
195
|
+
|
|
196
|
+
Here is how the knowledge base is organized. The entry point [SKILL.md](skills/perf/SKILL.md) routes queries to specific reference guides to keep prompt sizes minimal.
|
|
197
|
+
|
|
198
|
+
```text
|
|
199
|
+
perf-skills/
|
|
163
200
|
├── .claude-plugin/
|
|
164
201
|
│ ├── marketplace.json # Claude Code marketplace catalog
|
|
165
202
|
│ └── plugin.json # Claude Code plugin manifest
|
|
@@ -167,73 +204,65 @@ perf-skills/ # Repository root
|
|
|
167
204
|
├── LICENSE.md
|
|
168
205
|
└── skills/
|
|
169
206
|
└── perf/ # Skill module
|
|
170
|
-
├── SKILL.md # Entry
|
|
207
|
+
├── SKILL.md # [Entry Point] Routing, Key Principles
|
|
171
208
|
└── references/
|
|
172
|
-
├── tools/ # Tool-specific syntax
|
|
173
|
-
│ ├── jmeter.md # JMeter
|
|
174
|
-
│ ├── k6.md # k6
|
|
175
|
-
│ ├── gatling.md # Gatling
|
|
176
|
-
│ ├── locust.md # Locust
|
|
177
|
-
│ ├──
|
|
178
|
-
│ ├──
|
|
179
|
-
│
|
|
180
|
-
└──
|
|
181
|
-
|
|
182
|
-
├──
|
|
183
|
-
├──
|
|
184
|
-
├──
|
|
185
|
-
├──
|
|
186
|
-
├──
|
|
187
|
-
├──
|
|
188
|
-
├──
|
|
189
|
-
├──
|
|
190
|
-
├──
|
|
191
|
-
|
|
209
|
+
├── tools/ # Tool-specific syntax & configs
|
|
210
|
+
│ ├── jmeter.md # Apache JMeter (Groovy, Samplers, Extractors)
|
|
211
|
+
│ ├── k6.md # k6 JS/TS scripting, thresholds, VU options
|
|
212
|
+
│ ├── gatling.md # Gatling Scala/Java DSL & feeders
|
|
213
|
+
│ ├── locust.md # Locust Python scripting & FastHttpUser
|
|
214
|
+
│ ├── artillery.md # Artillery YAML/JS/TS scripting, phases, ensure SLOs, cloud
|
|
215
|
+
│ ├── neoload.md # NeoLoad GUI configs & API execution
|
|
216
|
+
│ ├── loadrunner.md # LoadRunner VuGen C scripting
|
|
217
|
+
│ └── octoperf.md # OctoPerf JMeter-based cloud execution
|
|
218
|
+
└── topics/ # Cross-cutting topics (Tool-agnostic)
|
|
219
|
+
├── workload-design.md # Little's Law, concurrency, pacing
|
|
220
|
+
├── test-data.md # Parameterization, CSV, data isolation
|
|
221
|
+
├── script-generation.md # Naming conventions, error handling
|
|
222
|
+
├── correlation.md # Dynamic values, Regex, JSONPath (Highlighted!)
|
|
223
|
+
├── test-execution.md # Distributed load, CI/CD pipelines
|
|
224
|
+
├── results-analysis.md # Latency percentiles, bottleneck triage
|
|
225
|
+
├── observability.md # Grafana, APM integration, VM profiling
|
|
226
|
+
├── production-testing.md # Chaos engineering, canary safety controls
|
|
227
|
+
├── protocol-testing.md # gRPC, GraphQL, WebSockets, Kafka
|
|
228
|
+
├── database-testing.md # JDBC, pools, deadlocks, slow queries
|
|
229
|
+
├── modern-architectures.md # K8s scaling, HPA, Frontend CWV
|
|
230
|
+
├── llm-inference.md # LLM serving: TTFT, TPOT/ITL, TPS, goodput, tools
|
|
231
|
+
└── slo-capacity.md # SLOs, error budgets, headroom, CI gating
|
|
192
232
|
```
|
|
193
233
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
### Routing Logic
|
|
197
|
-
|
|
198
|
-
`SKILL.md` acts as the entry point and router. It contains:
|
|
234
|
+
---
|
|
199
235
|
|
|
200
|
-
|
|
201
|
-
2. **Reference Map** - maps user intent to the right file.
|
|
202
|
-
3. **Protocol Routing Table** - maps protocols (gRPC, GraphQL, etc.) to recommended tools and reference files.
|
|
203
|
-
4. **Tool Selection Matrix** - helps recommend a tool when the user hasn't chosen one.
|
|
204
|
-
5. **Key Principles** - the single source of truth for cross-cutting best practices (assertions, think time, parameterization, correlation).
|
|
236
|
+
## 💡 How the Skill Works
|
|
205
237
|
|
|
206
|
-
|
|
238
|
+
To avoid hitting context window limits, the skill operates on a **selective loading** design:
|
|
207
239
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
- **Opinionated**: The skill prescribes best practices, not just documentation. It tells you what to do, not just what's possible.
|
|
240
|
+
1. **Routing**: [SKILL.md](skills/perf/SKILL.md) is always read first.
|
|
241
|
+
2. **Selective Context**: Based on the query, only the exact tool file (e.g., `k6.md`) and the relevant topic file (e.g., `correlation.md`) are loaded.
|
|
242
|
+
3. **Consistency**: Global rules (like realistic think times and assertions) are enforced uniformly across all tool files by anchoring them in [SKILL.md](skills/perf/SKILL.md).
|
|
212
243
|
|
|
213
|
-
|
|
244
|
+
### ❓ Example Queries and Loaded Files
|
|
214
245
|
|
|
215
|
-
|
|
|
216
|
-
|
|
217
|
-
| "Help me write a k6 load test for our REST API" | `k6.md` |
|
|
218
|
-
| "How should I
|
|
219
|
-
| "Set up
|
|
220
|
-
| "Our p95 latency
|
|
221
|
-
| "
|
|
222
|
-
| "
|
|
223
|
-
| "Test our Kafka consumer throughput" | `protocol-testing.md` |
|
|
224
|
-
| "Validate our K8s HPA scales correctly under load" | `modern-architectures.md` |
|
|
225
|
-
| "Load test our PostgreSQL connection pool" | `database-testing.md` + `jmeter.md` |
|
|
246
|
+
| Query | Files Loaded |
|
|
247
|
+
| :--- | :--- |
|
|
248
|
+
| *"Help me write a k6 load test for our REST API"* | `k6.md` |
|
|
249
|
+
| *"How should I correlate a dynamic JSESSIONID in JMeter?"* | `jmeter.md` + `correlation.md` |
|
|
250
|
+
| *"Set up a distributed Locust execution in GitLab CI"* | `locust.md` + `test-execution.md` |
|
|
251
|
+
| *"Our p95 latency spikes during database writes, how do we fix?"* | `database-testing.md` + `results-analysis.md` |
|
|
252
|
+
| *"What TTFT/throughput can our vLLM endpoint sustain at 200 concurrent users?"* | `llm-inference.md` |
|
|
253
|
+
| *"How many replicas do we need, and what SLO headroom should we keep?"* | `slo-capacity.md` |
|
|
226
254
|
|
|
227
|
-
|
|
255
|
+
---
|
|
228
256
|
|
|
229
|
-
|
|
257
|
+
## 🤝 Contributing
|
|
230
258
|
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
259
|
+
We welcome contributions to expand the knowledge base:
|
|
260
|
+
1. **Tool-specific syntax** belongs in `references/tools/`.
|
|
261
|
+
2. **Generic concepts** belong in `references/topics/`.
|
|
262
|
+
3. **Keep it DRY**: Reference topic files from tool files instead of duplicating.
|
|
263
|
+
4. **Update the Index**: Remember to update the Reference Map in [SKILL.md](skills/perf/SKILL.md) when adding files.
|
|
236
264
|
|
|
237
|
-
## License
|
|
265
|
+
## 📄 License
|
|
238
266
|
|
|
239
|
-
See
|
|
267
|
+
This project is licensed under the MIT License. See [LICENSE.md](LICENSE.md) for details.
|
|
268
|
+
tails.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "perf-skills",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "Expert AI skill for performance testing - covers JMeter, k6, Gatling, Locust, NeoLoad, LoadRunner, OctoPerf across the full lifecycle",
|
|
3
|
+
"version": "4.0.0",
|
|
4
|
+
"description": "Expert AI skill for performance testing - covers JMeter, k6, Gatling, Locust, Artillery, NeoLoad, LoadRunner, OctoPerf, LLM inference benchmarking, and SLO/capacity planning across the full lifecycle",
|
|
5
5
|
"main": "skills/perf/SKILL.md",
|
|
6
6
|
"files": [
|
|
7
7
|
"skills/",
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
"k6",
|
|
15
15
|
"gatling",
|
|
16
16
|
"locust",
|
|
17
|
+
"artillery",
|
|
17
18
|
"neoload",
|
|
18
19
|
"loadrunner",
|
|
19
20
|
"octoperf",
|
|
@@ -24,6 +25,10 @@
|
|
|
24
25
|
"websocket",
|
|
25
26
|
"observability",
|
|
26
27
|
"ci-cd",
|
|
28
|
+
"llm-inference",
|
|
29
|
+
"vllm",
|
|
30
|
+
"slo",
|
|
31
|
+
"capacity-planning",
|
|
27
32
|
"claude-skills",
|
|
28
33
|
"ai-assistant"
|
|
29
34
|
],
|