CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

debug-e2e-test

Use when investigating a specific named Positron e2e (Playwright) test that is failing or flaking -- in CI ("why is <test> failing on main", "this test is flaky in CI", "is this a test bug or a product bug") or on the engineer's machine ("this e2e test just failed locally", "debug this e2e failure"). From CI it surfaces the test's distinct failure modes from history and pulls evidence for one; locally it reads the run's own trace, snapshot, and logs. Either way it reasons to a falsifiable root cause with the engineer and lands on a test fix, a product-bug issue, or an accepted-flake note. Do NOT use for a test you are writing or currently editing (author-e2e-tests); a whole CI run's failures, or a run ID/URL (e2e-failure-analyzer); Vitest or extension-host failures.

77

Quality

97%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

92%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 well-engineered orchestrator body: every step is executable, every phase transition has a validation gate, and detail is properly pushed into one-level-deep references that all exist. The only weakness is minor over-explanation in a few rationale and framing paragraphs that slightly duplicate each other.

Suggestions

Trim the "This is the debugging process for this case" paragraph in When-to-use -- it restates the intro's one-line framing of the skill's discipline; the rules it introduces are already fully stated in Non-negotiable rules.

Compress the rationale sentences in Non-negotiable rules (the foreground-run paragraph and the triage-id paragraph) to the rule plus one short clause of why; the full mechanism can live in a reference like the others.

DimensionReasoningScore

Conciseness

The body is dense with operational specifics Claude cannot know (script contracts, verdict names, phase gates) and states a real delegation principle ("this file holds the invariant, the reference holds the mechanism"), with no concept-explanation padding. However, a few passages could be trimmed: the "This is the debugging process for this case. Don't layer a general debugging workflow on top of it" paragraph restates the intro's framing, and some rationale sentences (the foreground-run explanation, why an invented triage-id silos the checkpoint) run longer than the rule they justify. That fits the efficient-with-minor-trims anchor rather than the every-token-earns-its-place anchor.

4 / 5

Actionability

Fully executable, copy-paste-ready commands with exact paths, flags, and placeholders (e.g. `node .claude/skills/debug-e2e-test/scripts/resolve-test-key.js '<whatever they gave>'`, `checkpoint.js --triage-id <id> --init --test-key '<key>'`), plus output-field contracts (`resolved.testKey`, `candidates`, `rates`, `fixHeld`, `cause: "missing-api-key"`), concrete rendering examples ("5d ago (Jul 24)"), a worked failure-mode table, and per-error routing to the right reference. Common cases and failure branches are both covered.

5 / 5

Workflow Clarity

The multi-phase sequence (resolve -> history -> prior-triage check -> table -> pattern selection -> evidence -> root cause -> reproduce/fix -> record outcome) is clearly ordered, with explicit validation checkpoints at every transition: verdict gating after each script call, checkpoint phases (`phase=pattern-selected`, `evidence-gathered`, `hypothesis-ready`, `implementation`, `done`), stop conditions (`stop: true`, `open-attempt-in-flight`), and a hard gate ("`checkpoint.js` refuses `phase=done` until it's satisfied"). Error-recovery loops route each failure mode to the owning reference.

5 / 5

Progressive Disclosure

SKILL.md holds the invariants and workflow while nine references each own one mechanism, clearly signaled with links at the point of need and explicit ownership statements ("that reference owns the block format, the dispatch contract, the ladder..."). All referenced files exist, script flag contracts are split into references/scripts.md, and references link only to siblings for navigation (one level deep, no deferred-content chains). The split is deliberate and easy to navigate.

5 / 5

Total

19

/

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.

An exemplary description: concrete capabilities, natural trigger phrases for both CI and local entries, explicit when-guidance, and a precise exclusion list that separates it from sibling skills. Long, but every clause is functional rather than padded.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions covering the full workflow: "surfaces the test's distinct failure modes from history and pulls evidence for one", "reads the run's own trace, snapshot, and logs", "reasons to a falsifiable root cause", and "lands on a test fix, a product-bug issue, or an accepted-flake note". Coverage spans evidence gathering, diagnosis, and all three terminal outcomes, which matches the comprehensive anchor rather than the minor-gaps anchor at 4.

5 / 5

Completeness

It explicitly answers both questions: an explicit "Use when investigating a specific named Positron e2e (Playwright) test that is failing or flaking" clause with concrete trigger phrases, and a full statement of what it does (failure-mode history, evidence pulling, trace/snapshot/log reading, root-cause reasoning, fix/issue/flake-note outcomes). Voice is third person ("it surfaces", "it reads"), so no penalty applies.

5 / 5

Trigger Term Quality

It embeds the exact natural phrases users would say: "why is <test> failing on main", "this test is flaky in CI", "is this a test bug or a product bug", "this e2e test just failed locally", "debug this e2e failure", plus domain terms (e2e, Playwright, failing, flaking, CI, locally). Both the CI and local entry vocabularies and their synonyms are covered.

5 / 5

Distinctiveness Conflict Risk

It carves a clear niche (one specific named failing/flaking e2e test) and closes every adjacent overlap with an explicit do-NOT-use list naming sibling skills (author-e2e-tests, e2e-failure-analyzer) and neighboring domains (whole-run failures, run IDs/URLs, Vitest, extension-host). Conflict risk is minimal.

5 / 5

Total

20

/

20

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 — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

posit-dev/positron

Path

.claude/skills/debug-e2e-test/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.