{"id":"ebdd8033-fa2c-47e7-9e53-8e7bff7de868","shortId":"yr9Kaz","kind":"skill","title":"162-java-profiling-analyze","tagline":"Use when you need to analyze Java profiling data collected during the detection phase — including interpreting flamegraphs, memory allocation patterns, CPU hotspots, threading issues, systematic problem categorization, evidence documentation with profiling-problem-analysis and pr","description":"# Java Profiling Workflow / Step 2 / Analyze profiling data\n\nAnalyze profiling results systematically: inventory results (flamegraphs, JFR, GC logs, thread dumps), identify problems (memory leaks, CPU hotspots, threading issues), document findings using standardized templates (profiling-problem-analysis-YYYYMMDD.md, profiling-solutions-YYYYMMDD.md), prioritize using Impact/Effort scores, and correlate multiple profiling files for validation.\n\n**What is covered in this Skill?**\n\n- Inventory: scan profiler/results/ for allocation-flamegraph, heatmap-cpu, memory-leak, *.jfr, *.log, *.txt\n- Problem identification: memory (leaks, excessive allocations, GC pressure), performance (CPU hotspots, blocking), threading (deadlocks, contention, pool saturation)\n- Documentation: docs/profiling-problem-analysis-YYYYMMDD.md, docs/profiling-solutions-YYYYMMDD.md\n- Prioritization: Impact (1–5) / Effort (1–5), focus on high priority first\n- Tools: async-profiler, JFR, JProfiler/YourKit, GCViewer, flamegraphs, heatmaps\n\n**Scope:** Validate profiling results represent realistic load scenarios. Cross-reference multiple files. Include quantitative metrics.\n\n## Constraints\n\nValidate profiling results represent realistic load before analysis. Document assumptions and limitations. Cross-reference multiple files.\n\n- **VALIDATE**: Ensure profiling results represent realistic load scenarios before analysis\n- **DOCUMENT**: Record assumptions and limitations in analysis reports\n- **CROSS-REFERENCE**: Use multiple profiling files to validate findings\n- **BEFORE APPLYING**: Read the reference for problem analysis and solutions templates\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- Analyze JFR profile\n- Analyze the profile\n- Analyze the performance\n- Analyze the memory\n- Analyze the threading\n- Analyze the GC\n- Analyze the profiling\n- Analyze the profiling\n- Performance analysis\n\n## Workflow\n\n1. **Read analysis reference and inventory inputs**\n\nRead `references/162-java-profiling-analyze.md` and inventory profiling artifacts in `profiler/results/`.\n\n2. **Validate data quality and assumptions**\n\nConfirm datasets represent realistic load conditions and record assumptions/limitations before drawing conclusions.\n\n3. **Identify and prioritize bottlenecks**\n\nAnalyze memory/CPU/threading findings, cross-reference multiple files, and prioritize issues by Impact/Effort.\n\n4. **Document findings and solution options**\n\nCreate `docs/profiling-problem-analysis-YYYYMMDD.md` and `docs/profiling-solutions-YYYYMMDD.md` with quantitative evidence.\n\n## Reference\n\nFor detailed guidance, examples, and constraints, see [references/162-java-profiling-analyze.md](references/162-java-profiling-analyze.md).","tags":["162","java","profiling","analyze","cursor","rules","jabrena","agent-skills","ai-skills","claude","claude-code","claude-code-skills"],"capabilities":["skill","source-jabrena","skill-162-java-profiling-analyze","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/162-java-profiling-analyze","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,926 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.893Z","embedding":null,"createdAt":"2026-04-18T22:02:07.264Z","updatedAt":"2026-04-26T12:53:35.893Z","lastSeenAt":"2026-04-26T12:53:35.893Z","tsv":"'1':132,135,294 '162':1 '2':46,309 '3':327 '4':345 '5':133,136 'alloc':24,99,115 'allocation-flamegraph':98 'ambigu':230 'analysi':39,175,194,201,220,292,296 'analyz':5,11,47,50,267,270,273,276,279,282,285,288,332 'appli':214,238 'artifact':306 'ask':233,255 'assumpt':177,197,314 'assumptions/limitations':323 'async':144 'async-profil':143 'block':121 'bottleneck':331 'case':225,241 'categor':32 'chang':239 'clarifi':235 'collect':15 'conclus':326 'condit':320 'confirm':315 'constraint':167,364 'content':124 'correl':82 'cover':90 'cpu':26,66,103,119 'creat':351 'cross':160,181,204,336 'cross-refer':159,180,203,335 'data':14,49,311 'dataset':316 'deadlock':123 'detail':360 'detect':18 'docs/profiling-problem-analysis-yyyymmdd.md':128,352 'docs/profiling-solutions-yyyymmdd.md':129,354 'document':34,70,127,176,195,346 'draw':325 'dump':61 'edg':224,240 'effort':134 'ensur':186 'evid':33,357 'exampl':362 'excess':114 'file':85,163,184,209,245,339 'find':71,212,334,347 'first':141 'flamegraph':22,56,100,149 'focus':137 'gc':58,116,284 'gcviewer':148 'guidanc':261,361 'heatmap':102,150 'heatmap-cpu':101 'high':139 'hotspot':27,67,120 'identif':111 'identifi':62,328 'impact':131 'impact/effort':79,344 'includ':20,164 'input':244,300 'interpret':21 'inventori':54,94,299,304 'issu':29,69,342 'java':3,12,42 'java-profiling-analyz':2 'jfr':57,107,146,268 'jprofiler/yourkit':147 'leak':65,106,113 'limit':179,199 'load':157,173,191,319 'log':59,108 'memori':23,64,105,112,278 'memory-leak':104 'memory/cpu/threading':333 'metric':166 'miss':249,253 'multipl':83,162,183,207,338 'need':9 'option':350 'pattern':25 'perform':118,275,291 'phase':19 'pool':125 'pr':41 'pressur':117 'priorit':77,130,330,341 'prioriti':140 'problem':31,38,63,110,219 'proceed':258 'profil':4,13,37,43,48,51,84,145,153,169,187,208,269,272,287,290,305 'profiler/results':96,308 'profiling-problem-analysi':36 'profiling-problem-analysis-yyyymmdd.md':75 'profiling-solutions-yyyymmdd.md':76 'qualiti':312 'quantit':165,356 'question':236 'read':215,295,301 'realist':156,172,190,318 'record':196,322 'refer':161,182,205,217,297,337,358 'references/162-java-profiling-analyze.md':302,366,367 'report':202,250 'repres':155,171,189,317 'request':227 'requir':243 'result':52,55,154,170,188 'satur':126 'scan':95 'scenario':158,192 'scope':151,228 'score':80 'see':365 'setup':260 'skill':93,266 'skill-162-java-profiling-analyze' 'solut':222,349 'source-jabrena' 'standard':73 'step':45 'stop':231 'systemat':30,53 'templat':74,223 'thread':28,60,68,122,281 'tool':142,247 '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' 'txt':109 'use':6,72,78,206,264 'valid':87,152,168,185,211,310 'whether':256 'workflow':44,293","prices":[{"id":"77680e7f-30d6-4279-b307-2483caab5405","listingId":"ebdd8033-fa2c-47e7-9e53-8e7bff7de868","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:07.264Z"}],"sources":[{"listingId":"ebdd8033-fa2c-47e7-9e53-8e7bff7de868","source":"github","sourceId":"jabrena/cursor-rules-java/162-java-profiling-analyze","sourceUrl":"https://github.com/jabrena/cursor-rules-java/tree/main/skills/162-java-profiling-analyze","isPrimary":false,"firstSeenAt":"2026-04-18T22:02:07.264Z","lastSeenAt":"2026-04-26T12:53:35.893Z"}],"details":{"listingId":"ebdd8033-fa2c-47e7-9e53-8e7bff7de868","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"jabrena","slug":"162-java-profiling-analyze","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":"f886d41ef2e08799adc8aecb68556af3520c7614","skill_md_path":"skills/162-java-profiling-analyze/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/jabrena/cursor-rules-java/tree/main/skills/162-java-profiling-analyze"},"layout":"multi","source":"github","category":"cursor-rules-java","frontmatter":{"name":"162-java-profiling-analyze","license":"Apache-2.0","description":"Use when you need to analyze Java profiling data collected during the detection phase — including interpreting flamegraphs, memory allocation patterns, CPU hotspots, threading issues, systematic problem categorization, evidence documentation with profiling-problem-analysis and profiling-solutions markdown files, or prioritizing fixes using Impact/Effort scoring. This should trigger for requests such as Analyze JFR profile; Analyze the profile; Analyze the performance; Analyze the memory. Part of cursor-rules-java project"},"skills_sh_url":"https://skills.sh/jabrena/cursor-rules-java/162-java-profiling-analyze"},"updatedAt":"2026-04-26T12:53:35.893Z"}}