CtrlK
BlogDocsLog inGet started
Tessl Logo

js-perf-investigation

Structured performance opportunity investigation for SpiderMonkey (the Firefox JavaScript engine). Use this skill when the user wants to investigate JS engine performance, profile SpiderMonkey, find optimization opportunities, write performance patches, or evaluate benchmark regressions. Trigger on mentions of: profiling JS, SpiderMonkey performance, JIT optimization, benchmark regression analysis, shell benchmarking, or any request to make JS workloads faster. The methodolgy is described mostly for the JS shell but can be adapted to browser investigation.

71

Quality

88%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

—

The risk profile of this skill

SKILL.md
Quality
Evals
Security

Quality

Content

85%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.

The body is an exceptionally concrete, well-sequenced expert methodology with strong validation checkpoints — its workflow and actionability are near-ideal. Its weaknesses are surface-level (typos, a truncated "you can use that if" sentence about hyperfine, one dangling reference to a missing references/advanced-tools.md) and its monolithic length with an unfulfilled reference file, which costs it on progressive disclosure.

Suggestions

Create the referenced references/advanced-tools.md (or remove the line 113 pointer to it) so the body's only file reference is not dangling.

Split the self-contained blocks — the Mann-Whitney evaluation script (4.1), the instrumentation/JS_LOG patterns (2.2), and the advanced JIT investigation detail (IONPERF=ir) — into one-level-deep reference files linked from the relevant sections, keeping SKILL.md as a lean overview.

Proofread for the typos and broken sentences ('questionsfile', 'runtimeconfiguration', 'methodolgy', 'is is often compelling', 'optimziation', 'independnet', 'commited', and "you can use that if.") which currently cost it on conciseness and clarity.

DimensionReasoningScore

Conciseness

The body is dense with non-obvious expert knowledge (IONPERF/PERF_SPEW_DIR, --strict-benchmark-mode, pref-gating, the 20-run cap) and never explains basics Claude already knows, so it is above the 'mostly efficient' anchor. It falls short of 5 due to wordy passages (the long microbenchmark-rationale sentence in 3.3, the awkward 'that are needed to be evaluated' clause in 4.3) and scattered typos ('questionsfile', 'runtimeconfiguration', 'optimziation', 'independnet', 'is is often compelling') that could be trimmed or cleaned.

4 / 5

Actionability

Nearly everything is copy-paste ready: the samply recording command with env vars and flags, mozconfig options, throttled JS_LOG snippets, StaticPrefList.yaml entries, the --setpref measurement commands, the mach test invocations, and a runnable uv-scripted Mann-Whitney analysis. It is not 4 because the few placeholders (np.array([...])) are appropriate template slots rather than missing detail, and the guidance covers the common cases comprehensively.

5 / 5

Workflow Clarity

Four explicitly sequenced phases build on each other with repeated instruction not to skip ahead, and validation checkpoints are embedded throughout: confirm hypotheses with instrumentation before patching (2.3), verify the new code path fires (3.2), statistical significance testing with explicit escalation and stop rules (4.1), re-profiling to confirm effect (4.2), and mandatory test suites before commit (4.3), plus error-recovery guidance ("if it doesn't, investigate why") and an anti-patterns checklist. This matches the top anchor with feedback loops throughout.

5 / 5

Progressive Disclosure

Section structure is good, but the body is a ~370-line monolith with content that could live in separate reference files (the statistical-evaluation script, the instrumentation patterns, the advanced JIT investigation material), and the single file reference — "see `references/advanced-tools.md`" — points to a file that does not exist in the bundle, leaving that promise dangling. This matches 'some structure but could be better organized; references present but not clearly signaled; content that should be separate is inline' rather than 4, where references would be mostly real and clear.

3 / 5

Total

17

/

20

Passed

Description

92%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: it names a specific niche, enumerates concrete capabilities, and provides an explicit 'Use this skill when' clause with a trigger-term list. The only deductions are a few missing natural trigger synonyms and a typo ('methodolgy'), neither of which materially harms triggering.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions spanning the full workflow — "investigate JS engine performance, profile SpiderMonkey, find optimization opportunities, write performance patches, or evaluate benchmark regressions" — which comprehensively covers the skill's purpose. It sits at the top anchor rather than 4 because these actions map onto every phase of the skill with no significant coverage gap.

5 / 5

Completeness

Both what ("Structured performance opportunity investigation for SpiderMonkey (the Firefox JavaScript engine)") and when ("Use this skill when the user wants to investigate JS engine performance... Trigger on mentions of:...") are explicitly stated with concrete trigger phrases. This is the clear top-anchor example, not 4, because the 'when' clause is fully explicit rather than merely present.

5 / 5

Trigger Term Quality

Trigger terms are good and mostly natural — "profiling JS, SpiderMonkey performance, JIT optimization, benchmark regression analysis, shell benchmarking, or any request to make JS workloads faster" — but common variations are missing (e.g. "Firefox JavaScript is slow", "speed up JS", "optimize SpiderMonkey"). This matches the 'good keyword coverage; a few natural terms missing' anchor, not 5, since synonyms and informal phrasings users would plausibly say are not covered.

4 / 5

Distinctiveness Conflict Risk

The description carves out a clear niche — SpiderMonkey/Firefox JS engine performance work — with distinct triggers ("SpiderMonkey", "shell benchmarking", "JIT optimization") that would not plausibly fire a general web-dev or generic profiling skill. Minimal conflict risk, matching the top anchor.

5 / 5

Total

19

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

14

/

16

Passed

Repository
mozilla/enterprise-firefox
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.