{"id":"2a608fa0-b472-40ab-804f-98dd6251f6e6","shortId":"MLLWuH","kind":"skill","title":"164-java-profiling-verify","tagline":"Use when you need to verify Java performance optimizations by comparing profiling results before and after refactoring — including baseline validation, post-refactoring report generation, quantitative before/after metrics comparison, side-by-side flamegraph analysis, regression d","description":"# Java Profiling Workflow / Step 4 / Verify results\n\nVerify performance optimizations through rigorous before/after comparison: ensure baseline and post-refactoring profiling data use identical test conditions, generate post-refactoring reports, compare metrics (memory, CPU, GC, threading), perform side-by-side flamegraph analysis, document findings in profiling-comparison-analysis-YYYYMMDD.md and profiling-final-results-YYYYMMDD.md, and validate success criteria.\n\n**What is covered in this Skill?**\n\n- Pre-refactoring baseline: run profiler with same load before changes\n- Post-refactoring: generate new reports with identical test conditions\n- Comparison: memory (leaks, allocations, GC), CPU (hotspots, contention), visual flamegraph comparison\n- Documentation: profiler/docs/profiling-comparison-analysis-YYYYMMDD.md, profiler/docs/profiling-final-results-YYYYMMDD.md\n- File naming: baseline/after suffixes, timestamp-based organization\n- Validation: verify reports exist, compare metrics, identify regressions\n\n**Scope:** Identical test conditions are critical. Document test scenarios. Validate application runs with refactored code before generating new reports.\n\n## Constraints\n\nUse identical test conditions between baseline and post-refactoring. Verify both report sets are complete. Document test scenarios.\n\n- **CONSISTENCY**: Use identical test conditions and load patterns for baseline and post-refactoring\n- **VALIDATE**: Ensure both baseline and post-refactoring reports exist and are non-empty before comparison\n- **DOCUMENT**: Record test scenarios and load patterns for reproduction\n- **BEFORE APPLYING**: Read the reference for comparison templates and validation steps\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- Verify performance fix\n- Verify the performance\n- Verify the memory\n- Verify the threading\n- Verify the GC\n- Verify the profiling\n- Verify the profiling\n- Performance benchmark\n\n## Workflow\n\n1. **Read verification reference and confirm baseline data**\n\nRead `references/164-java-profiling-verify.md` and verify baseline artifacts exist and are non-empty.\n\n2. **Generate post-refactoring profiling data**\n\nRun profiling with identical load/test conditions to produce comparable post-refactoring artifacts.\n\n3. **Compare before/after metrics and visuals**\n\nPerform quantitative comparisons for memory/CPU/GC/threading and side-by-side flamegraph analysis.\n\n4. **Document final verification outcome**\n\nCreate comparison and final results reports with regressions, gains, and reproducible scenario details.\n\n## Reference\n\nFor detailed guidance, examples, and constraints, see [references/164-java-profiling-verify.md](references/164-java-profiling-verify.md).","tags":["164","java","profiling","verify","cursor","rules","jabrena","agent-skills","ai-skills","claude","claude-code","claude-code-skills"],"capabilities":["skill","source-jabrena","skill-164-java-profiling-verify","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/164-java-profiling-verify","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,925 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:36.118Z","embedding":null,"createdAt":"2026-04-18T22:02:08.756Z","updatedAt":"2026-04-26T12:53:36.118Z","lastSeenAt":"2026-04-26T12:53:36.118Z","tsv":"'1':311 '164':1 '2':331 '3':351 '4':47,369 'alloc':127 'ambigu':250 'analysi':40,86,368 'appli':234,258 'applic':164 'artifact':324,350 'ask':253,275 'base':144 'baselin':24,58,106,179,202,210,317,323 'baseline/after':140 'before/after':32,55,353 'benchmark':309 'case':245,261 'chang':113,259 'clarifi':255 'code':168 'compar':16,74,150,346,352 'comparison':34,56,124,134,223,239,359,375 'complet':189 'condit':68,123,157,177,197,343 'confirm':316 'consist':193 'constraint':173,393 'content':131 'cover':99 'cpu':77,129 'creat':374 'criteria':96 'critic':159 'd':42 'data':64,318,337 'detail':386,389 'document':87,135,160,190,224,370 'edg':244,260 'empti':221,330 'ensur':57,208 'exampl':391 'exist':149,216,325 'file':138,265 'final':371,377 'find':88 'fix':289 'flamegraph':39,85,133,367 'gain':382 'gc':78,128,301 'generat':30,69,117,170,332 'guidanc':281,390 'hotspot':130 'ident':66,121,155,175,195,341 'identifi':152 'includ':23 'input':264 'java':3,12,43 'java-profiling-verifi':2 'leak':126 'load':111,199,229 'load/test':342 'memori':76,125,295 'memory/cpu/gc/threading':361 'metric':33,75,151,354 'miss':269,273 'name':139 'need':9 'new':118,171 'non':220,329 'non-empti':219,328 'optim':14,52 'organ':145 'outcom':373 'pattern':200,230 'perform':13,51,80,288,292,308,357 'post':27,61,71,115,182,205,213,334,348 'post-refactor':26,60,70,114,181,204,212,333,347 'pre':104 'pre-refactor':103 'proceed':278 'produc':345 'profil':4,17,44,63,108,304,307,336,339 'profiler/docs/profiling-comparison-analysis-yyyymmdd.md':136 'profiler/docs/profiling-final-results-yyyymmdd.md':137 'profiling-comparison-analysis-yyyymmdd.md':90 'profiling-final-results-yyyymmdd.md':92 'quantit':31,358 'question':256 'read':235,312,319 'record':225 'refactor':22,28,62,72,105,116,167,183,206,214,335,349 'refer':237,314,387 'references/164-java-profiling-verify.md':320,395,396 'regress':41,153,381 'report':29,73,119,148,172,186,215,270,379 'reproduc':384 'reproduct':232 'request':247 'requir':263 'result':18,49,378 'rigor':54 'run':107,165,338 'scenario':162,192,227,385 'scope':154,248 'see':394 'set':187 'setup':280 'side':36,38,82,84,364,366 'side-by-sid':35,81,363 'skill':102,286 'skill-164-java-profiling-verify' 'source-jabrena' 'step':46,243 'stop':251 'success':95 'suffix':141 'templat':240 'test':67,122,156,161,176,191,196,226 'thread':79,298 'timestamp':143 'timestamp-bas':142 'tool':267 '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' 'use':6,65,174,194,284 'valid':25,94,146,163,207,242 'verif':313,372 'verifi':5,11,48,50,147,184,287,290,293,296,299,302,305,322 'visual':132,356 'whether':276 'workflow':45,310","prices":[{"id":"785418f3-36aa-485d-896c-41d6bb6bb22b","listingId":"2a608fa0-b472-40ab-804f-98dd6251f6e6","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:08.756Z"}],"sources":[{"listingId":"2a608fa0-b472-40ab-804f-98dd6251f6e6","source":"github","sourceId":"jabrena/cursor-rules-java/164-java-profiling-verify","sourceUrl":"https://github.com/jabrena/cursor-rules-java/tree/main/skills/164-java-profiling-verify","isPrimary":false,"firstSeenAt":"2026-04-18T22:02:08.756Z","lastSeenAt":"2026-04-26T12:53:36.118Z"}],"details":{"listingId":"2a608fa0-b472-40ab-804f-98dd6251f6e6","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"jabrena","slug":"164-java-profiling-verify","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":"56a6a2492f4c0304835ef283f779e92626fa318c","skill_md_path":"skills/164-java-profiling-verify/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/jabrena/cursor-rules-java/tree/main/skills/164-java-profiling-verify"},"layout":"multi","source":"github","category":"cursor-rules-java","frontmatter":{"name":"164-java-profiling-verify","license":"Apache-2.0","description":"Use when you need to verify Java performance optimizations by comparing profiling results before and after refactoring — including baseline validation, post-refactoring report generation, quantitative before/after metrics comparison, side-by-side flamegraph analysis, regression detection, or creating profiling-comparison-analysis and profiling-final-results documentation. This should trigger for requests such as Verify performance fix; Verify the performance; Verify the memory; Verify the threading. Part of cursor-rules-java project"},"skills_sh_url":"https://skills.sh/jabrena/cursor-rules-java/164-java-profiling-verify"},"updatedAt":"2026-04-26T12:53:36.118Z"}}