CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/jvm-gc-tuning

Diagnoses JVM garbage-collection behaviour under load: reads and interprets unified GC logs (-Xlog:gc*), selects the right collector (G1 vs ZGC vs Parallel vs Serial), tunes heap sizing and pause-time targets, quantifies allocation rate, and traces the GC-pause-to-latency-tail link using GCViewer and Java Flight Recorder (JFR). Use when a load test reveals p99/p999 latency spikes that correlate with GC activity, or when heap sizing and collector selection need justification before a performance baseline is locked.

74

Quality

93%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Overview
Quality
Evals
Security
Files

Quality

Content

85%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-structured, highly actionable diagnostic skill with a clear multi-step workflow, real verification/escalation loops, and proper one-level progressive disclosure. Its only weakness is mild verbosity: introductory conceptual framing and a caveat duplicated across the body and reference could be trimmed.

Suggestions

Tighten the Overview: drop the 'CPU-bound or I/O-bound in a flame graph' preamble and lead directly with what the skill does, since STW-vs-profiler framing already appears in the Anti-patterns and Step 9.

De-duplicate the 'G1 is not a real-time collector ... below 10 ms ... causes G1 to thrash' caveat — keep it in gc-reference.md and reference it once from Step 4 instead of stating it in both places.

Cut the 'Java 9+ replaced the legacy -XX:+PrintGCDetails' historical aside to a single line in the migration note, or move it next to the deprecation reminder rather than opening Step 1.

DimensionReasoningScore

Conciseness

Mostly efficient and dense with actionable specifics, but retains conceptual padding Claude already knows (the Overview framing of STW pauses, 'Java 9+ replaced the legacy...' backstory) and repeats caveats verbatim across the body and gc-reference.md (e.g. 'G1 is not a real-time collector ... Setting it below 10 ms ...').

2 / 3

Actionability

Fully executable, copy-paste-ready commands throughout: the `-Xlog:gc*` capture invocations, concrete G1/ZGC flag blocks with values, the `grep | awk` allocation-rate extraction, `jfr print --events` queries, and `java -jar gcviewer-1.36.jar gc.log`.

3 / 3

Workflow Clarity

A clearly sequenced 9-step diagnostic flow with an explicit decision/escalation feedback loop in Step 9 ('If spikes occur without matching GC pauses ... escalate to flame-graph-analyzer') and a dedicated Verification section in the output format that re-runs the load test and confirms the p99 threshold.

3 / 3

Progressive Disclosure

Runnable commands and per-step guidance stay inline while lookup tables are split into the single one-level-deep references/gc-reference.md, signposted via repeated markdown links (G1 flags, JFR events, GCViewer metrics); verified the referenced file exists and is genuinely one level deep.

3 / 3

Total

11

/

12

Passed

Description

100%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong, third-person description that names concrete capabilities and tools, includes explicit 'Use when' triggers grounded in observable signals, and carves out a distinct niche unlikely to conflict with sibling skills. No improvements needed.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'reads and interprets unified GC logs (-Xlog:gc*)', 'selects the right collector (G1 vs ZGC vs Parallel vs Serial)', 'tunes heap sizing and pause-time targets', 'quantifies allocation rate', 'traces the GC-pause-to-latency-tail link' — each naming a specific tool or flag rather than abstract capability.

3 / 3

Completeness

Clearly states both what (the diagnostic/tuning actions) and when via an explicit 'Use when a load test reveals p99/p999 latency spikes that correlate with GC activity, or when heap sizing and collector selection need justification before a performance baseline is locked' clause.

3 / 3

Trigger Term Quality

Natural terms a perf engineer would say are well covered: 'load test', 'p99/p999 latency spikes', 'GC activity', 'heap sizing', 'collector selection', 'performance baseline', alongside the tool names GCViewer and JFR.

3 / 3

Distinctiveness Conflict Risk

A clear JVM-GC-under-load niche with triggers tied to p99/p999-vs-GC correlation; third-person voice ('Diagnoses', 'selects') is used, and the scope is narrow enough to avoid firing for unrelated performance skills.

3 / 3

Total

12

/

12

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Reviewed

Table of Contents