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.
@@ -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 OctoPerf.",
9
- "version": "1.0.4"
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 7 tools and 10 topic areas.",
16
- "version": "1.0.4",
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
- "load-testing-automation",
76
- "performance-testing-automation",
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": "1.0.4",
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
- ### Claude Code Plugin (Recommended)
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
- **Add the marketplace and install:**
53
- ```bash
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
- After install, the `/perf` skill is available and auto-activates on performance testing questions.
8
+ ---
60
9
 
61
- **Update to latest version:**
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
- ### Install as Skills (npx)
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
- ```bash
72
- npx skills add QAInsights/perf-skills
73
- ```
21
+ ---
74
22
 
75
- ### Install as Skills (Manual)
23
+ ## 🔍 What is perf-skills?
76
24
 
77
- ```bash
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
- ### Windsurf (Skills)
27
+ ---
84
28
 
85
- 1. Clone the repository: `git clone https://github.com/QAInsights/perf-skills.git`
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
- ### Cursor (Rules / Docs)
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
- **Option A - Project Rules:**
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
- **Option B - @Docs indexing:**
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
- ### Claude Code (CLAUDE.md)
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
- 1. Clone the repository: `git clone https://github.com/QAInsights/perf-skills.git`
105
- 2. Copy the skill directory into your project: `cp -r perf-skills/skills/perf ./perf`
106
- 3. In your `CLAUDE.md`, add:
107
- ```markdown
108
- For performance testing questions, read `perf/SKILL.md` for routing,
109
- then load the relevant reference file(s) from `perf/references/`.
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
- ### Cline / Roo Code
55
+ ---
113
56
 
114
- 1. Clone the repository: `git clone https://github.com/QAInsights/perf-skills.git`
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
- ### Aider
59
+ `perf-skills` works seamlessly with any modern AI development tool:
123
60
 
124
- 1. Clone the repository: `git clone https://github.com/QAInsights/perf-skills.git`
125
- 2. Copy the skill directory into your project: `cp -r perf-skills/skills/perf ./perf`
126
- 3. Use `/read perf/SKILL.md` to load the routing file.
127
- 4. Then `/read` the specific reference file(s) relevant to your question.
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
- ### GitHub Copilot
72
+ ---
130
73
 
131
- 1. Clone the repository: `git clone https://github.com/QAInsights/perf-skills.git`
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
- ### OpenCode / Antigravity / Pochi
76
+ ### Claude Code Plugin (Recommended)
140
77
 
141
- 1. Clone the repository: `git clone https://github.com/QAInsights/perf-skills.git`
142
- 2. Copy the skill directory into your project: `cp -r perf-skills/skills/perf ./perf`
143
- 3. Add to your project-level custom instructions or context files:
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
- For performance testing guidance, consult the perf knowledge base.
146
- Start with perf/SKILL.md for routing to the correct reference file.
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
- ### Any Other AI Tool
95
+ ---
150
96
 
151
- The skill is plain markdown files. Any AI tool that can read files or accept custom instructions can use it:
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
- ### As a Standalone Knowledge Base
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
- Browse the markdown files directly - they're self-contained references useful even without an AI assistant.
113
+ ---
158
114
 
159
- ## File Structure
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
- perf-skills/ # Repository root
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 point - tool selection, lifecycle, key principles
207
+ ├── SKILL.md # [Entry Point] Routing, Key Principles
171
208
  └── references/
172
- ├── tools/ # Tool-specific syntax and configuration
173
- │ ├── jmeter.md # JMeter 5.6+ - samplers, extractors, plugins, Groovy
174
- │ ├── k6.md # k6 v0.50+ - executors, checks, thresholds, modules
175
- │ ├── gatling.md # Gatling 3.10+ - Scala/Java DSL, feeders, injection
176
- │ ├── locust.md # Locust 2.20+ - Python scripts, events, FastHttpUser
177
- │ ├── neoload.md # NeoLoad - GUI workflow, CLI, API execution
178
- │ ├── loadrunner.md # LoadRunner - VuGen, protocols, Controller scenarios
179
- └── octoperf.md # OctoPerf - JMeter-based SaaS, HAR import, cloud
180
- └── topics/ # Cross-cutting concepts (tool-agnostic)
181
- ├── workload-design.md # Concurrency models, load profiles, Little's Law
182
- ├── test-data.md # CSV, DB seeding, Faker, data isolation patterns
183
- ├── script-generation.md # Assertions, error handling, naming, structure
184
- ├── correlation.md # Dynamic values, extractors, regex, tool mappings
185
- ├── test-execution.md # Distributed, CI/CD (GitHub Actions, GitLab, Jenkins)
186
- ├── results-analysis.md # Percentiles, bottleneck framework, reporting
187
- ├── observability.md # APM, Prometheus, Grafana, tracing, JVM metrics
188
- ├── production-testing.md # Canary, shadow traffic, chaos, safety controls
189
- ├── protocol-testing.md # gRPC, GraphQL, WebSocket, Kafka/message queues
190
- ├── database-testing.md # JDBC, connection pools, slow queries, deadlocks
191
- └── modern-architectures.md # Microservices, K8s, serverless, browser/Web Vitals
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
- ## How the Skill Works
195
-
196
- ### Routing Logic
197
-
198
- `SKILL.md` acts as the entry point and router. It contains:
234
+ ---
199
235
 
200
- 1. **Loading Priority Rules** - tells the AI which file(s) to load based on the user's question (never all at once).
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
- ### Design Principles
238
+ To avoid hitting context window limits, the skill operates on a **selective loading** design:
207
239
 
208
- - **Token-efficient**: Tool files contain only tool-specific syntax. Cross-cutting concepts live in topic files. No duplication.
209
- - **Selective loading**: The AI loads 1-2 files per question, not the entire knowledge base.
210
- - **Single source of truth**: Each concept is defined in exactly one place. Tool files cross-reference topic files for shared concepts.
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
- ## Example Questions This Skill Handles
244
+ ### Example Queries and Loaded Files
214
245
 
215
- | Question | Files Loaded |
216
- |---|---|
217
- | "Help me write a k6 load test for our REST API" | `k6.md` |
218
- | "How should I design the workload for our e-commerce app?" | `workload-design.md` |
219
- | "Set up JMeter in our GitHub Actions pipeline" | `test-execution.md` + `jmeter.md` |
220
- | "Our p95 latency is spiking at 500 VUs - how do I debug?" | `results-analysis.md` + `observability.md` |
221
- | "How do I load test a gRPC service?" | `protocol-testing.md` + `k6.md` |
222
- | "What tool should I use? We're a Python team." | `SKILL.md` (Tool Selection Matrix) |
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
- ## Contributing
255
+ ---
228
256
 
229
- To add or update content:
257
+ ## 🤝 Contributing
230
258
 
231
- 1. **Tool-specific content** goes in `references/tools/<tool>.md` - syntax, config, tool-unique tips only.
232
- 2. **Cross-cutting concepts** go in `references/topics/<topic>.md` - patterns that apply across tools.
233
- 3. **Never duplicate** - if a concept exists in a topic file, tool files should cross-reference it, not restate it.
234
- 4. **Update SKILL.md** if you add a new file - add it to the Reference Map and Protocol Routing Table if applicable.
235
- 5. **Add a version indicator** (`> Targets: ...`) to new tool files.
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 repository license.
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": "2.0.0",
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
  ],