{"id":"3996f997-2b16-4101-95c3-106abe0c9774","shortId":"tFrAe5","kind":"skill","title":"151-java-performance-jmeter","tagline":"Use when you need to set up JMeter performance testing for a Java project — including creating the run-jmeter.sh script from the exact template, configuring load tests with loops, threads, and ramp-up, or running performance tests from the project root with custom or default sett","description":"# Run performance tests based on JMeter\n\nProvide a complete JMeter performance testing solution by creating the run-jmeter.sh script from the exact template, making it executable, and configuring the project structure for load testing. Supports custom loops, threads, ramp-up, and environment variable overrides.\n\n**What is covered in this Skill?**\n\n- Create run-jmeter.sh in project root from the exact template (no modifications)\n- Project structure: src/test/resources/jmeter/load-test.jmx, target/ for results\n- Script options: -l (loops), -t (threads), -r (ramp-up), -g (GUI), -h (help)\n- Environment variables: JMETER_LOOPS, JMETER_THREADS, JMETER_RAMP_UP\n- Verify JMeter is installed and available before proceeding\n\n**Scope:** Copy the script template verbatim. Do not modify, interpret, or enhance the template content.\n\n## Constraints\n\nJMeter must be installed and available in PATH. If not available, show a message and exit. Use only the exact template for the run-jmeter.sh script.\n\n- **PREREQUISITE**: Verify JMeter is installed and accessible via `jmeter --version` before creating the script\n- **CRITICAL**: Copy the run-jmeter.sh template exactly — do not modify, interpret, or enhance\n- **PERMISSION**: Make the script executable with `chmod +x run-jmeter.sh`\n- **BEFORE APPLYING**: Read the reference for the exact script template and usage instructions\n- **EDGE CASE**: If request scope is ambiguous, stop and ask a clarifying question before applying changes\n- **EDGE CASE**: If required inputs, files, or tooling are missing, report what is missing and ask whether to proceed with setup guidance\n\n## When to use this skill\n\n- Improve the code with JMeter performance testing\n- Apply JMeter performance testing\n- Refactor the code with JMeter performance testing\n- Add JMeter support\n\n## Workflow\n\n1. **Verify JMeter prerequisite**\n\nCheck `jmeter --version` and stop with guidance if JMeter is not installed or not available in PATH.\n\n2. **Read JMeter reference template**\n\nRead `references/151-java-performance-jmeter.md` and use the `run-jmeter.sh` template exactly as provided.\n\n3. **Create script and project structure**\n\nCreate `run-jmeter.sh` in project root, ensure required JMeter directories/files exist, and apply executable permission with `chmod +x`.\n\n4. **Explain usage and environment overrides**\n\nDocument CLI options (`-l`, `-t`, `-r`, `-g`, `-h`) and environment variable overrides (`JMETER_LOOPS`, `JMETER_THREADS`, `JMETER_RAMP_UP`).\n\n## Reference\n\nFor detailed guidance, examples, and constraints, see [references/151-java-performance-jmeter.md](references/151-java-performance-jmeter.md).","tags":["151","java","performance","jmeter","cursor","rules","jabrena","agent-skills","ai-skills","claude","claude-code","claude-code-skills"],"capabilities":["skill","source-jabrena","skill-151-java-performance-jmeter","topic-agent-skills","topic-ai-skills","topic-claude","topic-claude-code","topic-claude-code-skills","topic-claude-code-subagents","topic-claude-skills","topic-cursor-agent","topic-cursor-ai","topic-cursor-skills","topic-cursorai","topic-github-copilot"],"categories":["cursor-rules-java"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/jabrena/cursor-rules-java/151-java-performance-jmeter","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add jabrena/cursor-rules-java","source_repo":"https://github.com/jabrena/cursor-rules-java","install_from":"skills.sh"}},"qualityScore":"0.631","qualityRationale":"deterministic score 0.63 from registry signals: · indexed on github topic:agent-skills · 362 github stars · SKILL.md body (2,630 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-26T12:53:35.757Z","embedding":null,"createdAt":"2026-04-18T22:02:05.689Z","updatedAt":"2026-04-26T12:53:35.757Z","lastSeenAt":"2026-04-26T12:53:35.757Z","tsv":"'1':304 '151':1 '2':325 '3':340 '4':363 'access':197 'add':300 'ambigu':245 'appli':227,253,289,357 'ask':248,270 'avail':147,171,176,322 'base':55 'case':240,256 'chang':254 'check':308 'chmod':223,361 'clarifi':250 'cli':370 'code':284,295 'complet':60 'configur':29,78 'constraint':165,394 'content':164 'copi':151,206 'cover':98 'creat':21,66,102,202,341,346 'critic':205 'custom':48,86 'default':50 'detail':390 'directories/files':354 'document':369 'edg':239,255 'enhanc':161,216 'ensur':351 'environ':93,133,367,378 'exact':27,72,109,185,210,233,337 'exampl':392 'execut':76,221,358 'exist':355 'exit':181 'explain':364 'file':260 'g':129,375 'gui':130 'guidanc':276,314,391 'h':131,376 'help':132 'improv':282 'includ':20 'input':259 'instal':145,169,195,319 'instruct':238 'interpret':159,214 'java':3,18 'java-performance-jmet':2 'jmeter':5,13,57,61,135,137,139,143,166,193,199,286,290,297,301,306,309,316,327,353,381,383,385 'l':121,372 'load':30,83 'loop':33,87,122,136,382 'make':74,218 'messag':179 'miss':264,268 'modif':112 'modifi':158,213 'must':167 'need':9 'option':120,371 'overrid':95,368,380 'path':173,324 'perform':4,14,41,53,62,287,291,298 'permiss':217,359 'prerequisit':191,307 'proceed':149,273 'project':19,45,80,105,113,344,349 'provid':58,339 'question':251 'r':125,374 'ramp':37,90,127,140,386 'ramp-up':36,89,126 'read':228,326,330 'refactor':293 'refer':230,328,388 'references/151-java-performance-jmeter.md':331,396,397 'report':265 'request':242 'requir':258,352 'result':118 'root':46,106,350 'run':40,52 'run-jmeter.sh':23,68,103,189,208,225,335,347 'scope':150,243 'script':24,69,119,153,190,204,220,234,342 'see':395 'set':11 'sett':51 'setup':275 'show':177 'skill':101,281 'skill-151-java-performance-jmeter' 'solut':64 'source-jabrena' 'src/test/resources/jmeter/load-test.jmx':115 'stop':246,312 'structur':81,114,345 'support':85,302 'target':116 'templat':28,73,110,154,163,186,209,235,329,336 'test':15,31,42,54,63,84,288,292,299 'thread':34,88,124,138,384 'tool':262 'topic-agent-skills' 'topic-ai-skills' 'topic-claude' 'topic-claude-code' 'topic-claude-code-skills' 'topic-claude-code-subagents' 'topic-claude-skills' 'topic-cursor-agent' 'topic-cursor-ai' 'topic-cursor-skills' 'topic-cursorai' 'topic-github-copilot' 'usag':237,365 'use':6,182,279,333 'variabl':94,134,379 'verbatim':155 'verifi':142,192,305 'version':200,310 'via':198 'whether':271 'workflow':303 'x':224,362","prices":[{"id":"7e82b1bf-3c22-4b81-aa9f-49053a22ca25","listingId":"3996f997-2b16-4101-95c3-106abe0c9774","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"jabrena","category":"cursor-rules-java","install_from":"skills.sh"},"createdAt":"2026-04-18T22:02:05.689Z"}],"sources":[{"listingId":"3996f997-2b16-4101-95c3-106abe0c9774","source":"github","sourceId":"jabrena/cursor-rules-java/151-java-performance-jmeter","sourceUrl":"https://github.com/jabrena/cursor-rules-java/tree/main/skills/151-java-performance-jmeter","isPrimary":false,"firstSeenAt":"2026-04-18T22:02:05.689Z","lastSeenAt":"2026-04-26T12:53:35.757Z"}],"details":{"listingId":"3996f997-2b16-4101-95c3-106abe0c9774","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"jabrena","slug":"151-java-performance-jmeter","github":{"repo":"jabrena/cursor-rules-java","stars":362,"topics":["agent-skills","ai-skills","claude","claude-code","claude-code-skills","claude-code-subagents","claude-skills","cursor-agent","cursor-ai","cursor-skills","cursorai","github-copilot","intellij-idea","java","prompting","system-prompts"],"license":"apache-2.0","html_url":"https://github.com/jabrena/cursor-rules-java","pushed_at":"2026-04-26T12:50:01Z","description":"A curated and opinionated collection of Skills and Agents to be used in modern SDLC workflows for Java Enterprise development with your favorite AI Agent harness.","skill_md_sha":"472fa9857fed11f486921b15edd5cf626b114cd4","skill_md_path":"skills/151-java-performance-jmeter/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/jabrena/cursor-rules-java/tree/main/skills/151-java-performance-jmeter"},"layout":"multi","source":"github","category":"cursor-rules-java","frontmatter":{"name":"151-java-performance-jmeter","license":"Apache-2.0","description":"Use when you need to set up JMeter performance testing for a Java project — including creating the run-jmeter.sh script from the exact template, configuring load tests with loops, threads, and ramp-up, or running performance tests from the project root with custom or default settings. This should trigger for requests such as Improve the code with JMeter performance testing; Apply JMeter performance testing; Refactor the code with JMeter performance testing; Add JMeter support. Part of cursor-rules-java project"},"skills_sh_url":"https://skills.sh/jabrena/cursor-rules-java/151-java-performance-jmeter"},"updatedAt":"2026-04-26T12:53:35.757Z"}}