Content
86%Weight 40%Scale 1-5Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
A strong, highly actionable body: every step is executable code, comments capture real pitfalls (flush ordering, closure scope, LoAF browser support), and the anti-patterns and limitations sections add genuine value. The main weaknesses are minor verbosity (repeated citation phrases, the definition/threshold preamble) and an internal inconsistency where the flagship CI recipe asserts a single sample despite the skill itself labeling that an anti-pattern.
Suggestions
Make Step 4's Playwright example consistent with the Anti-patterns guidance: loop the interaction N times and assert the P75 of collected INP values rather than a single sample's max.
Trim the repeated "Per the [INP web.dev article]" citations to a single citation per claim, and cut the opening INP definition quote and threshold table (or compress to one line: "Good <= 200ms, Poor > 500ms at P75") since Claude knows the definition.
Add an explicit recovery step after the Step 4 assertion, e.g. "If the assertion fails, use Step 3 decomposition to identify the dominant component: input delay -> Step 5 long tasks; processing duration -> reduce handler work; presentation delay -> check render-blocking effects."
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The body is dense executable code whose comments encode genuinely non-obvious gotchas ("Redefine the property to 'hidden' FIRST, THEN dispatch the event"; the closure-local array that "would never reach window.__longTasks"), but there is trimmable material: the opening INP definition quote, the threshold table Claude largely knows, and the citation phrase "Per the [INP web.dev article]" repeated five-plus times. This is anchor 4 (efficient with minor over-explanation that could be trimmed) rather than 5. | 4 / 5 |
Actionability | Every step ships copy-paste-ready code: the npm install command, the web-vitals/attribution decomposition snippet, two complete Playwright tests (including the visibilitychange flush workaround and a buffered longtask observer), and a ready-to-run CrUX curl with the correct API-key header. Fully executable guidance covering the common cases - anchor 5. | 5 / 5 |
Workflow Clarity | Steps 1-6 are clearly sequenced (install, measure, decompose, assert, find blocking tasks, correlate field data) with assertions as checkpoints and a diagnostic chain from over-budget INP to component decomposition to long-task identification. It falls short of anchor 5 because Step 4's example asserts a single sample's max while the skill's own Anti-patterns table flags "Assert single sample" as a failure mode prescribing P75 over N runs - an internal inconsistency and a missing explicit recovery step. | 4 / 5 |
Progressive Disclosure | No bundle files exist, so the single-file organization is appropriate: scannable sections (When to use, numbered steps, Anti-patterns, Limitations, References) with every external reference clearly listed one level deep and annotated (e.g. "[MDN LoAF] - Long Animation Frames API (richer, not yet Baseline)"). Well-organized and easy to navigate - anchor 5. | 5 / 5 |
Total | 18 / 20 Passed |