CtrlK
BlogDocsLog inGet started
Tessl Logo

161-java-profiling-detect

Use when you need to set up Java application profiling to detect and measure performance issues — including trusted preinstalled async-profiler v4.x setup, problem-driven profiling (CPU, memory, threading, GC, I/O), interactive profiling scripts, JFR integration with Java 25 (JEP 518, JEP 520), or collecting profiling data with flamegraphs and JFR recordings. This should trigger for requests such as Improve the code with profiling; Apply Profiling; Refactor the code with profiling; Add profiling support; Collect JFR or async-profiler data for Java performance. Part of Plinth Toolkit

66

Quality

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

SKILL.md
Quality
Evals
Security

Quality

Content

57%

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

The body is a well-structured overview with excellent progressive disclosure, but it is hampered by cross-section redundancy, executable code deferred entirely to the reference, and only light validation checkpoints in the workflow. Tightening the repeated constraints and adding a verification step after data collection would lift the weaker dimensions.

Suggestions

De-duplicate the 'copy scripts exactly' instruction so it appears once in Constraints rather than being restated in 'What is covered', the Constraints bullets, and the Workflow.

Add an explicit validation checkpoint to step 4 (e.g., confirm the flamegraph .html and .jfr files exist and are non-empty before declaring collection complete) to introduce a feedback loop.

Inline the key runnable commands or a minimal script excerpt so the body is actionable without first opening the reference, or at minimum quote the one-line profiler-invocation command.

DimensionReasoningScore

Conciseness

The body is mostly efficient and assumes Claude's competence, but 'What is covered', 'Constraints', and 'Workflow' restate overlapping material, and 'copy the bash script templates exactly' repeats across three sections. It is not the level above because the redundancy means not every token earns its place; not the level below because it avoids explaining basic concepts.

2 / 3

Actionability

It names exact scripts (run-java-process-for-profiling.sh, profile-java-process.sh), the directory structure, and commands like 'chmod +x', but the actual executable templates are deferred to the reference and step 4 ('collect profiling artifacts') is abstract. It is not the level above because no copy-paste-ready code lives in the body; not the level below because the file/path/command guidance is concrete rather than vague.

2 / 3

Workflow Clarity

The four steps are clearly sequenced and step 3 includes a 'verify target process availability' checkpoint, but step 4 has no validation and there is no validate-fix-retry feedback loop. It is not the level above because checkpoints are light and implicit rather than explicit throughout; not the level below because a clear sequence with at least one checkpoint is present.

2 / 3

Progressive Disclosure

The body is a concise overview pointing to one real reference (references/161-java-profiling-detect.md) and two real scripts, one level deep and clearly signaled with a markdown link. It is not the level below because references are well-signaled and content is appropriately split rather than inline.

3 / 3

Total

9

/

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.

The description is strong across all dimensions: it states concrete capabilities, provides natural trigger phrases, explicitly covers both what and when, and occupies a distinct niche. No changes needed.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — 'set up Java application profiling to detect and measure performance issues' and the enumerated modes 'CPU, memory, threading, GC, I/O' plus 'collecting profiling data with flamegraphs and JFR recordings', matching the multi-action anchor. It is not the level below because it goes well beyond naming a single domain action.

3 / 3

Completeness

It opens with 'Use when you need to set up Java application profiling...' and adds 'This should trigger for requests such as...', explicitly answering both what it does and when to use it. It is not the level below, where the 'when' is missing or only implied.

3 / 3

Trigger Term Quality

It enumerates natural phrases a user would say — 'Improve the code with profiling; Apply Profiling; Refactor the code with profiling; Add profiling support; Collect JFR or async-profiler data for Java performance' — giving good coverage of common variations. It is not the level below because these are genuine user utterances, not generic jargon.

3 / 3

Distinctiveness Conflict Risk

The niche is clearly scoped to Java profiling via async-profiler v4.x and JFR, with triggers unlikely to fire for unrelated skills. It is not the level below because it is not a generic 'works with code' description that would overlap many skills.

3 / 3

Total

12

/

12

Passed

Validation

100%

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

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
jabrena/plinth
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.