CtrlK
BlogDocsLog inGet started
Tessl Logo

cpu-profile-analysis

Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-*.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating user timing marks.

65

Quality

79%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./.github/skills/cpu-profile-analysis/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

63%Weight 40%Scale 1-5

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

A highly actionable, domain-expert body with executable code and well-sequenced procedures for both profile formats. Its main weaknesses are a monolithic structure that inlines reference-grade material (huge-file parsing, category tables) and noticeable redundancy between the two parallel procedures.

Suggestions

Move the 'Handling Huge Files' Buffer-parsing code and the trace phase/category tables into separate reference files (e.g. references/huge-files.md, references/trace-format.md) and link them from a lean SKILL.md overview, reducing the main body to the detection, key concepts, and core procedures.

Deduplicate the size-check and reformat steps shared by Part 1 and Part 2 (a single 'Parsing' section covering both formats), and consolidate the repeated '--max-old-space-size=16384' advice into one place.

Remove or bundle the dangling 'parseSnapshot.ts' reference, and make the Part 2 'Build Data Structures' snippet consistent with the size-guarded parsing pattern (use the imported 'readFileSync' rather than 'fs.readFileSync').

DimensionReasoningScore

Conciseness

Mostly efficient and rich in genuinely non-obvious detail (format internals, trace category tables, the ~512MB V8 string limit workaround), but there is clear redundancy: the size-check and reformat steps are repeated nearly verbatim in Part 1 and Part 2, and 'node --max-old-space-size=16384' appears three times. Matches the 'mostly efficient but could be tightened' anchor; not a 4 because the duplication is more than minor.

3 / 5

Actionability

Concrete, executable Node.js code covers parsing, node/parent map construction, stack walking, event filtering, embedded profile reconstruction, and Buffer-based huge-file extraction. Not a 5: the 'Handling Huge Files' section references 'parseSnapshot.ts' which is not part of this skill's bundle, and the Part 2 'Build Data Structures' snippet re-parses without the size guard and mixes 'fs.readFileSync' with the 'import { readFileSync }' idiom used elsewhere.

4 / 5

Workflow Clarity

Both file types have clear numbered procedures with an upfront file-size checkpoint and a file-type detection section, and each procedure ends with an explicit report format. Not a 5: there are no explicit error-recovery/checkpoint loops (e.g. what to do when a marker function never appears or a key is missing from the buffer), so minor validation gaps remain.

4 / 5

Progressive Disclosure

The ~510-line monolithic body inlines substantial content that belongs in separate reference files — notably the ~150-line Buffer-based parsing section and the exhaustive phase/category/process tables — with no bundle files present. In-file navigation via headers and tables is good, but content that should be split is inline, matching the anchor 3 example.

3 / 5

Total

14

/

20

Passed

Description

95%Weight 40%Scale 1-5

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 description with an explicit what + when structure, natural trigger phrases, file extensions, and a well-defined niche. The only minor weakness is that the capability statement leans on a single generic 'Analyze' verb, with the specific analysis types delegated to the trigger list.

DimensionReasoningScore

Specificity

The trigger list enumerates concrete actions ("investigating slow functions", "comparing code paths", "finding bottlenecks", "analyzing layout/paint/rendering") anchored to two named file formats, matching the 'several specific actions; minor gaps' anchor. It is not a 5 because the core capability statement is a single generic verb ('Analyze') without stating what outputs or analyses are produced (e.g. timing measurement, self-time ranking).

4 / 5

Completeness

Both 'what' ('Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-*.json)') and 'when' (an explicit 'Use when:' clause with eight concrete trigger phrases) are clearly and explicitly stated.

5 / 5

Trigger Term Quality

Comprehensive natural terms including synonyms and file extensions: '.cpuprofile', 'Trace-*.json', 'profiling performance', 'slow functions', 'bottlenecks', 'comparing code paths', 'layout/paint/rendering', 'user timing marks'. These are phrases a user would naturally say when needing this skill.

5 / 5

Distinctiveness Conflict Risk

Clear niche defined by two specific file formats and domain-specific terminology (sampling profiler, call trees, user timing marks, timeToRequest); minimal overlap risk with other skills since the triggers are format-anchored.

5 / 5

Total

19

/

20

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.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (518 lines); consider splitting into references/ and linking

Warning

Total

15

/

16

Passed

Repository
posit-dev/positron
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.