Skip to main content
skill CX Codex

164-java-profiling-verify — Claude Code skill: install and usage

Validates Java performance improvements by comparing profiling metrics before and after changes under identical test scenarios.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add jabrena/plinth --skill 164-java-profiling-verify -a claude-code
Open on GitHub

What 164-java-profiling-verify does

This skill handles the fourth step of the Java profiling workflow from the Plinth Toolkit by Juan Antonio Breña Moral. It checks baseline profiling artifacts before touching post-change measurements. If baseline data is empty or missing, the process halts immediately to ask for direction.

Once fresh profiling runs finish under identical workloads, the skill compares metrics. It checks CPU hotspots, memory allocation trends, garbage collection delays, and thread contention. It also inspects flamegraphs side by side.

Findings are written to profiler/docs/profiling-comparison-analysis-YYYYMMDD.md and profiler/docs/profiling-final-results-YYYYMMDD.md. Comparison yields invalid conclusions if the test load differs between baseline and post-refactoring runs.

What it helps with

  • catch Java performance regressions after code changes
  • compare before and after flamegraphs side by side
  • track memory allocation shifts and thread contention
  • generate final profiling comparison documents

Example prompts for the agent

  • Compare before and after profiling results for this service
  • Verify performance fix and check for GC regressions
  • Verify memory allocations and thread states after refactoring

How to install 164-java-profiling-verify

1Skills CLI (Vercel)

npx skills add jabrena/plinth --skill 164-java-profiling-verify -a claude-code

2Manually: put the files in place

~/.claude/skills/164-java-profiling-verify/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/164-java-profiling-verify/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about 164-java-profiling-verify

How to install 164-java-profiling-verify in Claude Code?

Run npx skills add jabrena/plinth --skill 164-java-profiling-verify -a claude-code in your terminal. The configuration is saved to ~/.claude/skills/164-java-profiling-verify/SKILL.md.

What does 164-java-profiling-verify do?

It compares baseline and post-refactoring profiling reports under identical load conditions. It spots regressions across CPU, memory, GC, and threads while documenting final outcomes.

What files does the verification workflow generate?

It outputs markdown reports to profiler/docs/profiling-comparison-analysis-YYYYMMDD.md and profiler/docs/profiling-final-results-YYYYMMDD.md.

Source text

SKILL.md · Apache-2.0
---
name: 164-java-profiling-verify
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; Compare before and after profiling results; Check for performance regressions after refactoring. Part of Plinth Toolkit
license: Apache-2.0
metadata:
  author: Juan Antonio Breña Moral
  version: 0.19.0
---
# Java Profiling Workflow / Step 4 / Verify results

Verify 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.

**What is covered in this Skill?**

- Pre-refactoring baseline: run profiler with same load before changes
- Post-refactoring: generate new reports with identical test conditions
- Comparison: memory (leaks, allocations, GC), CPU (hotspots, contention), visual flamegraph comparison
- Documentation: profiler/docs/profiling-comparison-analysis-YYYYMMDD.md, profiler/docs/profiling-final-results-YYYYMMDD.md
- File naming: baseline/after suffixes, timestamp-based organization
- Validation: verify reports exist, compare metrics, identify regressions

**Scope:** Identical test conditions are critical. Document test scenarios. Validate application runs with refactored code before generating new reports.

## Constraints

Use identical test conditions between baseline and post-refactoring. Verify both report sets are complete. Document test scenarios.

- **CONSISTENCY**: Use identical test conditions and load patterns for baseline and post-refactoring
- **VALIDATE**: Ensure both baseline and post-refactoring reports exist and are non-empty before comparison
- **DOCUMENT**: Record test scenarios and load patterns for reproduction
- **BEFORE APPLYING**: Read the reference for comparison templates and validation steps
- **EDGE CASE**: If request scope is ambiguous, stop and ask a clarifying question before applying changes
- **EDGE CASE**: If required inputs, files, or tooling are missing, report what is missing and ask whether to proceed with setup guidance

## When to use this skill

- Verify performance fix
- Verify the performance
- Verify the memory
- Verify the threading
- Verify the GC
- Verify the profiling
- Compare before and after profiling results
- Performance benchmark
- Check for performance regressions after refactoring

## Workflow

1. **Read verification reference and confirm baseline data**

Read `references/164-java-profiling-verify.md` and verify baseline artifacts exist and are non-empty.

2. **Generate post-refactoring profiling data**

Run profiling with identical load/test conditions to produce comparable post-refactoring artifacts.

3. **Compare before/after metrics and visuals**

Perform quantitative comparisons for memory/CPU/GC/threading and side-by-side flamegraph analysis.

4. **Document final verification outcome**

Create comparison and final results reports with regressions, gains, and reproducible scenario details.

## Reference

For detailed guidance, examples, and constraints, see [references/164-java-profiling-verify.md](references/164-java-profiling-verify.md).

© Juan Antonio Breña Moral · Apache-2.0 · jabrena/plinth

Similar skills

All skills for Testing and QA →

From the same set51

033-architecture-diagrams Interactive diagram generator for Java repositories using PlantUML syntax. Builds C4 models, class structures, sequence flows, and DDD context maps through guided CLI questions. CX Codex +1 344installs 014-agile-user-story Walks the agent through a template questionnaire and writes a Markdown user story. Useful when feature requirements need splitting. CX Codex +1 339installs 163-java-profiling-refactor Takes a finished profiling report and edits Java code around the bottlenecks it names: CPU, memory, threading. Handy once the analysis is done and the fixes are next. CX Codex +1 337installs 161-java-profiling-detect This skill sets up Java profiling to collect CPU, memory, lock, GC and I/O data. Useful when an app is slow and you need to see where time goes. CX Codex +1 337installs 412-frameworks-quarkus-panache A skill for Hibernate ORM Panache in Quarkus: query patterns, DTO projections and locking, with a compile check before and after every change. CX Codex +1 331installs 402-frameworks-quarkus-rest A skill for designing and reviewing Quarkus REST APIs: JAX-RS resources, validation, status codes, versioning and caching. CX Codex +1 331installs 133-java-testing-acceptance-tests Turns maintainer-approved Gherkin scenarios into Java acceptance tests: RestAssured, DB and Kafka fixtures, WireMock for external REST. CX Codex +1 329installs 312-frameworks-spring-data-jdbc A skill that applies Spring Data JDBC rules to Java records: entities, repositories, aggregate boundaries, transactions, N+1 avoidance. CX Codex +1 329installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor