CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

playwright-trace-analyzer

Analyzes Playwright `trace.zip` archives (or a GitHub Actions run URL) — action timeline, network, console errors — to name the race behind a flake and rank test or app fixes by measured impact. Invoke with /playwright-trace-analyzer for "why is this test flaky" or "why did playwright time out".

Quality

87%

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

SKILL.md
Quality
Evals
Security

Quality

Content

73%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 a well-orchestrated, concise phase workflow with genuinely strong validation gates and executable quickstart scripts, but it is structured as a thin index over bundle files that are largely not there: all seven rules/*.md files and the report template are referenced and do not exist, so the progressive-disclosure architecture collapses at every phase beyond the quickstart. Fixing the bundle (or inlining the essential rules) would raise this to a top-tier skill.

Suggestions

Add the missing bundle files — the seven `rules/*.md` files (input-detection, measurement-methodology, action-timing, network-analysis, console-and-errors, flake-diagnosis, confidence-loop) and `templates/analysis-report.md` — or inline their essential content into SKILL.md; currently 8 of 11 referenced paths are dead ends, breaking the entire phase-driven navigation.

Merge the "Workflow" table and the "Required reading by phase" table, which list the same rule files twice, into a single phase table (phase → files → gate) to remove the duplication.

Tighten the "Anti-patterns" section: it promises "full list in references/flake-patterns.md" yet repeats several entries inline — keep the one-liners that frame the skill's philosophy and defer the enumerated traps to the reference file.

DimensionReasoningScore

Conciseness

The body is dense and mostly lean — tables for inputs and phases, concrete commands, a checklist — with little explanation of concepts Claude already knows. Not 5: there is real duplication that could be trimmed: the "Workflow" table (phase → rule file → gate) and the "Required reading by phase" table list the same files twice, and the "Confidence-gated iteration" section restates the Phase 4 gate ("≥ 90%", "max 2 deep-dives") already given in the workflow table. Not 3: outside this duplication, every section earns its tokens with skill-specific guidance ("`page.click('text=Save')` waited 4,820ms across 3 attempts").

4 / 5

Actionability

The quickstart gives copy-paste-ready commands that exist in the bundle: "node <skill_dir>/scripts/trace-extract.mjs <path/to/trace.zip>", "trace-summary.mjs", "trace-diff.mjs", "fetch-gh-run.mjs", each with its expected output described, plus concrete measurement definitions ("`responseEnd - requestStart` (ms)"). Not 5: the core analysis phases (2–5) direct the reader to execute against `rules/*.md` and `templates/analysis-report.md` files that are absent from the bundle, so the workflow cannot actually be followed end-to-end — a significant executable gap beyond the quickstart.

4 / 5

Workflow Clarity

Six named phases with an explicit per-phase gate ("Do not skip a gate"; Phase 0: "Format detected, archive unpacked, `trace.trace` + `trace.network` parseable"), an explicit validation feedback loop ("≥ 90% → proceed; 70–89% → one deeper pass; < 70% → surface the gap to the user"), bounded iteration ("After two deep-dive iterations without reaching 90%, stop"), and a Definition of Done checklist. This matches the anchor-5 pattern of clear sequence, explicit validation, error recovery, and a checklist. Not 4: every checkpoint is stated, none implicit.

5 / 5

Progressive Disclosure

The design intent is exemplary — "the body of `SKILL.md` is a thin orchestrator", "Load on demand — do not preload" — and references are clearly signaled with per-phase loading tables. But scored against the actual bundle: 8 of the 11 referenced paths do not exist. All of `rules/` (input-detection.md, measurement-methodology.md, action-timing.md, network-analysis.md, console-and-errors.md, flake-diagnosis.md, confidence-loop.md) and `templates/analysis-report.md` are missing; only the two `references/*.md` files and four scripts are present. Every phase of the navigation dead-ends at a missing file, so the core content is neither in the body nor reachable — effectively broken navigation rather than imperfect organization. Not 3: the structure that exists is well-signaled, but a majority of the disclosure targets being unresolvable is a more severe failure than "could be better organized".

2 / 5

Total

15

/

20

Passed

Description

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

The description is a strong example of the form: it names the exact inputs (trace.zip, GitHub Actions run URL), the analysis dimensions (action timeline, network, console errors), the outcome (name the race, rank fixes by measured impact), and quotes the two natural-language questions a user would type. It is written in third person with no padding.

DimensionReasoningScore

Specificity

Quotes multiple concrete actions with the artifacts they operate on: "Analyzes Playwright `trace.zip` archives (or a GitHub Actions run URL) — action timeline, network, console errors — to name the race behind a flake and rank test or app fixes by measured impact." Analyzing archives/URLs, inspecting timeline/network/console, naming the race, and ranking fixes are specific, verifiable actions. Not 4: coverage is comprehensive for the skill's purpose — input formats, analysis dimensions, and output (ranked fixes) are all named, leaving no minor gap.

5 / 5

Completeness

Both questions are answered explicitly: what — "Analyzes Playwright `trace.zip` archives ... to name the race behind a flake and rank test or app fixes by measured impact"; when — "Invoke with /playwright-trace-analyzer for \"why is this test flaky\" or \"why did playwright time out\"." This matches the anchor-5 pattern of a clear what followed by concrete trigger phrases. Not 4: the when-clause is explicit and quoted, not merely present.

5 / 5

Trigger Term Quality

Includes the natural phrases users would actually type, verbatim: "why is this test flaky" and "why did playwright time out", plus synonyms ("flake", "flaky"), the file extension/artifact name "trace.zip", and "GitHub Actions run URL". Not 4: keyword coverage is comprehensive including the tool name, the archive format, and quoted user-style questions — no commonly-said term is missing for this domain.

5 / 5

Distinctiveness Conflict Risk

A clear niche (Playwright trace/flake diagnosis) with distinct triggers — "trace.zip", "playwright", "flake" — that no generic debugging or testing skill would claim. Not 4: overlap risk is minimal because the triggers are tied to a specific artifact type and a named tool.

5 / 5

Total

20

/

20

Passed

Validation

81%

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

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

relative_links

Relative link issues: 21 missing

Warning

Total

13

/

16

Passed

Repository

mthines/agent-skills

Path

skills/analysis/playwright-trace-analyzer/SKILL.md

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.