Use when you need to set up Java application profiling to detect and measure performance issues — including automated async-profiler v4.0 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. Part of the skills-for-java project
69
61%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/161-java-profiling-detect/SKILL.mdQuality
Discovery
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.
This is a strong skill description that clearly communicates its purpose, lists specific concrete capabilities, and includes an explicit 'Use when' trigger clause. The rich set of domain-specific trigger terms (async-profiler, JFR, flamegraphs, specific JEPs) makes it highly discoverable and distinctive. Minor note: it uses second person 'you need to' in the trigger clause, but the rest of the description is appropriately neutral.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: automated async-profiler v4.0 setup, problem-driven profiling (CPU, memory, threading, GC, I/O), interactive profiling scripts, JFR integration with Java 25 (JEP 518, JEP 520), collecting profiling data with flamegraphs and JFR recordings. | 3 / 3 |
Completeness | Clearly answers both 'what' (set up Java application profiling, automated async-profiler setup, problem-driven profiling, interactive scripts, JFR integration, collecting profiling data) and 'when' with an explicit 'Use when you need to...' clause at the beginning. | 3 / 3 |
Trigger Term Quality | Excellent coverage of natural terms users would say: 'profiling', 'performance issues', 'async-profiler', 'CPU', 'memory', 'threading', 'GC', 'I/O', 'flamegraphs', 'JFR', 'Java 25', specific JEP numbers. These are terms a Java developer would naturally use when seeking profiling help. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive — focuses specifically on Java application profiling with async-profiler v4.0, JFR, and Java 25 JEPs. The combination of profiling-specific terminology and version-specific tools makes it very unlikely to conflict with other skills. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
22%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill body functions primarily as a table of contents pointing to a reference file, with almost no actionable content in the skill itself. It lacks executable code examples, concrete commands, and a clear step-by-step workflow — all of which are deferred entirely to the reference document. While the structure and reference are reasonable, the skill body needs substantially more concrete guidance to be useful on its own.
Suggestions
Add at minimum the key JVM flags and a quick-start command sequence directly in the skill body (e.g., the exact command to create the directory structure, set chmod, and run the profiling script)
Include a numbered workflow with explicit validation steps: 1) Create directories, 2) Copy scripts, 3) Start Java process with flags, 4) Verify process is running, 5) Attach profiler, 6) Verify output files exist
Add at least one concrete executable example — such as the minimal bash command to run async-profiler against a Java process — so the skill is actionable without requiring the reference file
Remove the 'What is covered in this Skill?' section and integrate those bullet points into the workflow steps to reduce redundancy
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill has some unnecessary explanation (e.g., 'What is covered in this Skill?' section repeats what's already implied by the title and description), and the introductory paragraph restates the description. However, it's not excessively verbose — it's moderately efficient but could be tightened. | 2 / 3 |
Actionability | The skill provides no concrete code, commands, or executable examples. It describes what scripts exist and mentions directory structures but delegates all actual content to a reference file. There are no copy-paste ready commands, no script templates, and no executable guidance in the skill body itself. | 1 / 3 |
Workflow Clarity | Despite being a multi-step profiling workflow involving environment setup, script creation, JVM flag configuration, and process attachment, there is no clear sequenced workflow with validation checkpoints. The constraints mention verifying Java processes are running but don't integrate this into a step-by-step process. The entire workflow is deferred to the reference file. | 1 / 3 |
Progressive Disclosure | There is a clear reference to a single external file for detailed guidance, which is good one-level-deep disclosure. However, the SKILL.md itself contains too little actionable content — it's essentially just a pointer to the reference file with a bullet-point summary, making the skill body feel like a table of contents rather than a useful overview with quick-start content. | 2 / 3 |
Total | 6 / 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.
Validation — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
9ec21dd
Table of Contents
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.