perf-skills 1.0.4 → 3.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,7 +5,7 @@
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.",
8
+ "description": "Expert AI skill for performance testing - covers the full lifecycle using JMeter, k6, Gatling, Locust, NeoLoad, LoadRunner, and OctoPerf.",
9
9
  "version": "1.0.4"
10
10
  },
11
11
  "plugins": [
package/README.md CHANGED
@@ -1,165 +1,182 @@
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 |
34
+ | **Commercial/SaaS** | NeoLoad (Tricentis), LoadRunner (OpenText), OctoPerf |
35
+ | **Protocols** | HTTP/REST, gRPC, GraphQL, WebSocket, SSE, JDBC, SOAP, Kafka/MQ, Citrix, SAP |
90
36
 
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.
37
+ ---
95
38
 
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.
39
+ ## ⛓️ Dynamic Value Correlation
101
40
 
102
- ### Claude Code (CLAUDE.md)
41
+ 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
42
 
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
- ```
43
+ - **The Correlation Workflow**: Standardizes identifying, extracting, injecting, and verifying dynamic tokens.
44
+ - **Advanced Scanning**: Strategies for Next.js/React SSR hydration payloads (`__NEXT_DATA__`), SPA client-side token retrieval, runtime hooking, and Swagger contract mapping.
45
+ - **Robust vs. Brittle Regex**: Guides your AI to write expressions that don't break on minor HTML structure modifications.
46
+ - **Tech Stack Rules**: Pre-defined extraction rules for enterprise environments:
47
+ - **ASP.NET**: ViewState, RequestVerificationToken, EventValidation.
48
+ - **Java**: JSF ViewState, Spring Security `_csrf`, JSESSIONID.
49
+ - **SAP & Oracle**: NetWeaver `sap-contextid`, ADF `_afrLoop`.
50
+ - **OAuth 2.0 / SAML**: SAMLResponse, code, state tokens.
51
+ - **Modern SSR/SPA**: Hydration states, Laravel `_token`, Django `csrfmiddlewaretoken`, Rails `authenticity_token`.
52
+ - **Diagnostic Playbook**: Step-by-step troubleshooting for URL-encoding, base64 url-safe transforms, JSON-escaping, and thread safety.
111
53
 
112
- ### Cline / Roo Code
54
+ ---
113
55
 
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
- ```
56
+ ## 🛠️ Compatible AI Assistants
121
57
 
122
- ### Aider
58
+ `perf-skills` works seamlessly with any modern AI development tool:
123
59
 
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.
60
+ | AI Assistant | Integration Method |
61
+ | :--- | :--- |
62
+ | **Claude Code** | Native Plugin or `CLAUDE.md` context referencing |
63
+ | **Windsurf (Cascade)** | Local Skill configuration |
64
+ | **Cursor** | Custom rules `.cursor/rules/` or index via `@Docs` |
65
+ | **Cline / Roo Code** | Workspace instructions / custom rules |
66
+ | **Aider** | Conventions file or `/read` context loading |
67
+ | **GitHub Copilot** | Repository-level custom instructions |
68
+ | **Antigravity / Pochi** | Context files / instruction references |
128
69
 
129
- ### GitHub Copilot
70
+ ---
130
71
 
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
- ```
72
+ ## 🚀 Installation & Setup
138
73
 
139
- ### OpenCode / Antigravity / Pochi
74
+ ### Claude Code Plugin (Recommended)
140
75
 
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:
144
- ```
145
- For performance testing guidance, consult the perf knowledge base.
146
- Start with perf/SKILL.md for routing to the correct reference file.
76
+ To install as a Claude Code plugin, run:
77
+ ```bash
78
+ /plugin marketplace add QAInsights/perf-skills
79
+ /plugin install perf@qainsights
80
+ /reload-plugins
147
81
  ```
148
82
 
149
- ### Any Other AI Tool
150
-
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.
83
+ Once installed, the `/perf` skill will be available and automatically load when you ask performance-related questions.
154
84
 
155
- ### As a Standalone Knowledge Base
85
+ To update to the latest version:
86
+ ```bash
87
+ /plugin marketplace update
88
+ /plugin uninstall perf
89
+ /plugin install perf@qainsights
90
+ /reload-plugins
91
+ ```
156
92
 
157
- Browse the markdown files directly - they're self-contained references useful even without an AI assistant.
93
+ ---
158
94
 
159
- ## File Structure
95
+ ### Install as local Skills (npx)
160
96
 
97
+ If you are using a tool that supports `npx skills`, add it directly:
98
+ ```bash
99
+ npx skills add QAInsights/perf-skills
161
100
  ```
162
- perf-skills/ # Repository root
101
+
102
+ ---
103
+
104
+ ### Setup for Other Editors
105
+
106
+ <details>
107
+ <summary><b>🌊 Windsurf (Cascade)</b></summary>
108
+ <br>
109
+
110
+ 1. Clone this repository:
111
+ ```bash
112
+ git clone https://github.com/QAInsights/perf-skills.git
113
+ ```
114
+ 2. Copy the skill directory:
115
+ ```bash
116
+ cp -r perf-skills/skills/perf ~/.windsurf/skills/
117
+ ```
118
+ The skill will auto-trigger when you ask about performance testing, load testing, or any supported tool.
119
+ </details>
120
+
121
+ <details>
122
+ <summary><b>🎯 Cursor</b></summary>
123
+ <br>
124
+
125
+ **Option A (Project Rules):**
126
+ 1. Copy [SKILL.md](skills/perf/SKILL.md) content into a rule file: `.cursor/rules/perf.mdc`.
127
+ 2. Configure rules to trigger on file paths matching performance scripts or performance-related prompts.
128
+
129
+ **Option B (@Docs indexing):**
130
+ 1. Open Cursor Settings → Features → Docs.
131
+ 2. Add the path to `skills/perf/` directory as a doc source.
132
+ 3. Reference with `@Docs perf` in your prompts.
133
+ </details>
134
+
135
+ <details>
136
+ <summary><b>🤖 Claude Code (CLAUDE.md)</b></summary>
137
+ <br>
138
+
139
+ 1. Copy the `skills/perf` directory into your project root:
140
+ ```bash
141
+ cp -r perf-skills/skills/perf ./perf
142
+ ```
143
+ 2. In your `CLAUDE.md`, add:
144
+ ```markdown
145
+ For performance testing questions, read `perf/SKILL.md` for routing, then load the relevant reference files from `perf/references/`.
146
+ ```
147
+ </details>
148
+
149
+ <details>
150
+ <summary><b> Cline / Roo Code</b></summary>
151
+ <br>
152
+
153
+ 1. Copy the `skills/perf` directory into your project root.
154
+ 2. In your `.clinerules` or custom instructions, append:
155
+ ```text
156
+ For performance testing guidance, consult the perf knowledge base starting at perf/SKILL.md.
157
+ ```
158
+ </details>
159
+
160
+ <details>
161
+ <summary><b>⚓ Aider</b></summary>
162
+ <br>
163
+
164
+ 1. Copy the `skills/perf` directory into your project root.
165
+ 2. Tell Aider to read the entrypoint:
166
+ ```bash
167
+ /read perf/SKILL.md
168
+ ```
169
+ 3. Ask your question. Aider will load the corresponding tool/topic files from `perf/references/`.
170
+ </details>
171
+
172
+ ---
173
+
174
+ ## 📂 File Structure & Routing
175
+
176
+ 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.
177
+
178
+ ```text
179
+ perf-skills/
163
180
  ├── .claude-plugin/
164
181
  │ ├── marketplace.json # Claude Code marketplace catalog
165
182
  │ └── plugin.json # Claude Code plugin manifest
@@ -167,72 +184,65 @@ perf-skills/ # Repository root
167
184
  ├── LICENSE.md
168
185
  └── skills/
169
186
  └── perf/ # Skill module
170
- ├── SKILL.md # Entry point - tool selection, lifecycle, key principles
187
+ ├── SKILL.md # [Entry Point] Routing, Key Principles
171
188
  └── 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 # Correlation, assertions, error handling, naming
184
- ├── test-execution.md # Distributed, CI/CD (GitHub Actions, GitLab, Jenkins)
185
- ├── results-analysis.md # Percentiles, bottleneck framework, reporting
186
- ├── observability.md # APM, Prometheus, Grafana, tracing, JVM metrics
187
- ├── production-testing.md # Canary, shadow traffic, chaos, safety controls
188
- ├── protocol-testing.md # gRPC, GraphQL, WebSocket, Kafka/message queues
189
- ├── database-testing.md # JDBC, connection pools, slow queries, deadlocks
190
- └── modern-architectures.md # Microservices, K8s, serverless, browser/Web Vitals
189
+ ├── tools/ # Tool-specific syntax & configs
190
+ │ ├── jmeter.md # Apache JMeter (Groovy, Samplers, Extractors)
191
+ │ ├── k6.md # k6 JS/TS scripting, thresholds, VU options
192
+ │ ├── gatling.md # Gatling Scala/Java DSL & feeders
193
+ │ ├── locust.md # Locust Python scripting & FastHttpUser
194
+ │ ├── artillery.md # Artillery YAML/JS/TS scripting, phases, ensure SLOs, cloud
195
+ │ ├── neoload.md # NeoLoad GUI configs & API execution
196
+ ├── loadrunner.md # LoadRunner VuGen C scripting
197
+ └── octoperf.md # OctoPerf JMeter-based cloud execution
198
+ └── topics/ # Cross-cutting topics (Tool-agnostic)
199
+ ├── workload-design.md # Little's Law, concurrency, pacing
200
+ ├── test-data.md # Parameterization, CSV, data isolation
201
+ ├── script-generation.md # Naming conventions, error handling
202
+ ├── correlation.md # Dynamic values, Regex, JSONPath (Highlighted!)
203
+ ├── test-execution.md # Distributed load, CI/CD pipelines
204
+ ├── results-analysis.md # Latency percentiles, bottleneck triage
205
+ ├── observability.md # Grafana, APM integration, VM profiling
206
+ ├── production-testing.md # Chaos engineering, canary safety controls
207
+ ├── protocol-testing.md # gRPC, GraphQL, WebSockets, Kafka
208
+ ├── database-testing.md # JDBC, pools, deadlocks, slow queries
209
+ ├── modern-architectures.md # K8s scaling, HPA, Frontend CWV
210
+ ├── llm-inference.md # LLM serving: TTFT, TPOT/ITL, TPS, goodput, tools
211
+ └── slo-capacity.md # SLOs, error budgets, headroom, CI gating
191
212
  ```
192
213
 
193
- ## How the Skill Works
194
-
195
- ### Routing Logic
196
-
197
- `SKILL.md` acts as the entry point and router. It contains:
214
+ ---
198
215
 
199
- 1. **Loading Priority Rules** - tells the AI which file(s) to load based on the user's question (never all at once).
200
- 2. **Reference Map** - maps user intent to the right file.
201
- 3. **Protocol Routing Table** - maps protocols (gRPC, GraphQL, etc.) to recommended tools and reference files.
202
- 4. **Tool Selection Matrix** - helps recommend a tool when the user hasn't chosen one.
203
- 5. **Key Principles** - the single source of truth for cross-cutting best practices (assertions, think time, parameterization, correlation).
216
+ ## 💡 How the Skill Works
204
217
 
205
- ### Design Principles
218
+ To avoid hitting context window limits, the skill operates on a **selective loading** design:
206
219
 
207
- - **Token-efficient**: Tool files contain only tool-specific syntax. Cross-cutting concepts live in topic files. No duplication.
208
- - **Selective loading**: The AI loads 1-2 files per question, not the entire knowledge base.
209
- - **Single source of truth**: Each concept is defined in exactly one place. Tool files cross-reference topic files for shared concepts.
210
- - **Opinionated**: The skill prescribes best practices, not just documentation. It tells you what to do, not just what's possible.
220
+ 1. **Routing**: [SKILL.md](skills/perf/SKILL.md) is always read first.
221
+ 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.
222
+ 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).
211
223
 
212
- ## Example Questions This Skill Handles
224
+ ### Example Queries and Loaded Files
213
225
 
214
- | Question | Files Loaded |
215
- |---|---|
216
- | "Help me write a k6 load test for our REST API" | `k6.md` |
217
- | "How should I design the workload for our e-commerce app?" | `workload-design.md` |
218
- | "Set up JMeter in our GitHub Actions pipeline" | `test-execution.md` + `jmeter.md` |
219
- | "Our p95 latency is spiking at 500 VUs - how do I debug?" | `results-analysis.md` + `observability.md` |
220
- | "How do I load test a gRPC service?" | `protocol-testing.md` + `k6.md` |
221
- | "What tool should I use? We're a Python team." | `SKILL.md` (Tool Selection Matrix) |
222
- | "Test our Kafka consumer throughput" | `protocol-testing.md` |
223
- | "Validate our K8s HPA scales correctly under load" | `modern-architectures.md` |
224
- | "Load test our PostgreSQL connection pool" | `database-testing.md` + `jmeter.md` |
226
+ | Query | Files Loaded |
227
+ | :--- | :--- |
228
+ | *"Help me write a k6 load test for our REST API"* | `k6.md` |
229
+ | *"How should I correlate a dynamic JSESSIONID in JMeter?"* | `jmeter.md` + `correlation.md` |
230
+ | *"Set up a distributed Locust execution in GitLab CI"* | `locust.md` + `test-execution.md` |
231
+ | *"Our p95 latency spikes during database writes, how do we fix?"* | `database-testing.md` + `results-analysis.md` |
232
+ | *"What TTFT/throughput can our vLLM endpoint sustain at 200 concurrent users?"* | `llm-inference.md` |
233
+ | *"How many replicas do we need, and what SLO headroom should we keep?"* | `slo-capacity.md` |
225
234
 
226
- ## Contributing
235
+ ---
227
236
 
228
- To add or update content:
237
+ ## 🤝 Contributing
229
238
 
230
- 1. **Tool-specific content** goes in `references/tools/<tool>.md` - syntax, config, tool-unique tips only.
231
- 2. **Cross-cutting concepts** go in `references/topics/<topic>.md` - patterns that apply across tools.
232
- 3. **Never duplicate** - if a concept exists in a topic file, tool files should cross-reference it, not restate it.
233
- 4. **Update SKILL.md** if you add a new file - add it to the Reference Map and Protocol Routing Table if applicable.
234
- 5. **Add a version indicator** (`> Targets: ...`) to new tool files.
239
+ We welcome contributions to expand the knowledge base:
240
+ 1. **Tool-specific syntax** belongs in `references/tools/`.
241
+ 2. **Generic concepts** belong in `references/topics/`.
242
+ 3. **Keep it DRY**: Reference topic files from tool files instead of duplicating.
243
+ 4. **Update the Index**: Remember to update the Reference Map in [SKILL.md](skills/perf/SKILL.md) when adding files.
235
244
 
236
- ## License
245
+ ## 📄 License
237
246
 
238
- See repository license.
247
+ This project is licensed under the MIT License. See [LICENSE.md](LICENSE.md) for details.
248
+ tails.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "perf-skills",
3
- "version": "1.0.4",
4
- "description": "Expert AI skill for performance testing covers JMeter, k6, Gatling, Locust, NeoLoad, LoadRunner, OctoPerf across the full lifecycle",
3
+ "version": "3.0.0",
4
+ "description": "Expert AI skill for performance testing - covers JMeter, k6, Gatling, Locust, NeoLoad, LoadRunner, OctoPerf across the full lifecycle",
5
5
  "main": "skills/perf/SKILL.md",
6
6
  "files": [
7
7
  "skills/",