Agent skill

Debugging

by idavidov13 in idavidov13/agentic-playwright

Playwright test debugging conventions for the scaffold — reading failure messages, classifying failure modes (TimeoutError, ZodError, strict-mode violation, locator not found, network errors, schema…

MITAuto-check: notesTesting & QA

Install Debugging

skills CLI
$ npx skills add idavidov13/agentic-playwright --skill debugging -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install idavidov13/agentic-playwright debugging --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/idavidov13/agentic-playwright.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/debugging .claude/skills/debugging && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
debugging
GitHub stars
223
Token cost
~6.2k tokens
SKILL.md length
2,122 words
Files
3 (incl. references)
Skills in repo
13
Repo updated
First seen
Licence
MIT

At a glance

Playwright test debugging conventions for the scaffold — reading failure messages, classifying failure modes (TimeoutError, ZodError, strict-mode violation, locator not found, network errors, schema…

  • Works in 7 steps: Read the failure message → Classify the failure mode → Reproduce locally → …
  • A Playwright test fails
  • SKILL.md covers Critical, Capture Defaults (this scaffold), Built-in npm scripts for… and Instructions, plus 1 more section
  • Calls npx, npm and gh; needs ACCESS_TOKEN

What it does

Debugging is an agent skill from idavidov13/agentic-playwright. Playwright test debugging conventions for the scaffold — reading failure messages, classifying failure modes (TimeoutError, ZodError, strict-mode violation, locator not found, network errors, schema drift), the playwright.config.ts capture defaults (trace on-first-retry, screenshot only-on-failure, video retain-on-failure), the right tool per failure (UI Mode / Trace Viewer / Inspector / headed), the npm-script entry points (test:ui, test:debug, test:headed, report), reproducing locally, fixing without…

Its SKILL.md is about 6.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/examples.md` and `references/troubleshooting.md`).

It sits in Testing & QA, covering Debugging, Browser testing and Failing and flaky tests. It works with Playwright and npm. The repository describes itself as: Production-grade Playwright + TypeScript Scaffold for Agentic Testing. Harness for all major AI coding agents baked in. The licence is MIT.

When your agent uses it

  • A Playwright test fails
  • Behaves unexpectedly
  • Triaging a flaky test
  • Investigating a ZodError from Schema.parse(body)

Example prompts

  • “/debugging”

Requirements

  • Node.js

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Read the failure message
  2. Classify the failure mode
  3. Reproduce locally
  4. Investigate with the right tool
  5. Apply the fix at the root cause
  6. Re-run and confirm stability
  7. Investigate a CI-only failure (red CI, green local)

What it can do on your machine

Read from SKILL.md and the folder at commit f6cbf35. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npx
    • npm
    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx, npm and gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • ACCESS_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Debugging loads about 6.2k tokens when it runs, and up to ~7.8k if it reads all its reference files. Until then it costs about 209 tokens; SKILL.md has 2,122 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~209
When it runs · the whole SKILL.md, loaded when a task matches
~6.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:82
    rocess.env.APP_URL`; curl it; check `env/.env.${ENVIRONMENT}`                                                    |
  • NoteMentions a .env fileSKILL.md:240
    nt env file? CI usually has its own `env/.env.ci` or relies on shell env.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from idavidov13/agentic-playwright at commit f6cbf35, republished under its MIT licence (© idavidov13). 2,122 words, ~6,239 tokens.

Download SKILL.mdSave it as .claude/skills/debugging/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
debugging
description
Playwright test debugging conventions for the scaffold — reading failure messages, classifying failure modes (TimeoutError, ZodError, strict-mode violation, locator not found, network errors, schema drift), the playwright.config.ts capture defaults (trace on-first-retry, screenshot only-on-failure, video retain-on-failure), the right tool per failure (UI Mode / Trace Viewer / Inspector / headed), the npm-script entry points (test:ui, test:debug, test:headed, report), reproducing locally, fixing without suppressing, and pulling CI artifacts to replay a CI-only failure locally. Use whenever a Playwright test fails or behaves unexpectedly, when triaging a flaky test, when investigating a `ZodError` from `Schema.parse(body)`, when a CI run is red but local is green, or when an action / assertion / navigation times out.
author
Ivan Davidov

Debugging

When a test fails, you investigate first and fix second. This skill is the canonical entry point for after a test breaks — what to look at, in what order, with which Playwright tool.

Critical

  • ALWAYS read the failure message first. Playwright errors identify the failing locator, assertion, timeout type, and source line. Skim the message before changing any code or guessing.
  • NEVER suppress a failure. Don't add test.skip without // FIXME: <ticket-url>, don't loosen an assertion, don't bump timeouts to make a flake pass, don't try/catch an expect to swallow it. If the API genuinely misbehaves, follow the api-testing Phase 7 behaviour-mismatch protocol.
  • NEVER add page.waitForTimeout(...) to "fix" a timing issue. Hard waits hide the real cause. Use a web-first assertion (await expect(locator).toBeVisible()) or page.waitForResponse(...) instead.
  • NEVER push a fix you can't reproduce locally. Pull the CI trace and replay it before believing the issue is resolved.
  • trace is opt-in for retries. This scaffold's playwright.config.ts sets trace: 'on-first-retry'. Locally retries: 0, so traces are NOT captured by default. To get a trace locally, either run with --trace on (or --trace retain-on-failure) or use UI Mode (npm run test:ui).
  • Prefer UI Mode (npm run test:ui) for interactive debugging. It's the fastest feedback loop — every test step is replayable, locators are live-pickable, the DOM at each step is inspectable. Reach for it before the Inspector or console.log.
  • Re-run multiple times before declaring a flake fixed. A passing run after one fix is not enough; aim for at least 5 consecutive green runs of the affected test before closing the issue.
  • Keep forbidOnly: !!process.env.CI in mind. test.only(...) is your friend locally for narrowing — but do not commit it. CI will fail the build.
  • Re-run lint and the full affected file after each fix — npx eslint . and npx playwright test <file> before moving on.

Capture Defaults (this scaffold)

What the scaffold automatically captures and where it lives. From playwright.config.ts:

ArtifactDefaultWhere it ends up
Traceon-first-retrytest-results/<test-id>/trace.zip — only after a retry
Screenshotonly-on-failuretest-results/<test-id>/test-failed-1.png
Videoretain-on-failuretest-results/<test-id>/video.webm
HTML reportopen on-failure (local), never (CI)playwright-report/index.html
Blob reportCI onlyblob-report/ (used to merge sharded runs)

Timeouts in effect:

SettingValueWhat it bounds
actionTimeout10000 msOne Playwright action (click, fill, etc.)
navigationTimeout30000 mspage.goto(...), page.waitForURL(...), etc.
expect.timeout10000 msOne web-first assertion (toBeVisible, toHaveText...)
timeout (test-level)60000 msThe whole test

If you hit a timeout, knowing which one tells you whether the issue is action / navigation / assertion / overall test pacing.

Built-in npm scripts for debugging

CommandWhat it does
npm run test:uiOpen Playwright UI Mode — interactive runner with timeline, locator picker, watch mode. Default first choice for any debugging.
npm run test:debugRun with Playwright Inspector (--debug). Pauses before each step; F10 to step. Best for breakpoint-style stepping through a single test.
npm run test:headedRun headed Chromium (--headed). Watch the browser do the run. Excludes @destructive.
npm run reportOpen the last playwright-report/index.html. Use after any failed run for screenshots, videos, traces, error stacks.
npx playwright show-trace <path/to/trace.zip>Open the GUI Trace Viewer on a specific trace file (e.g. one downloaded from CI artifacts).
npx playwright trace open <path/to/trace.zip>Open the CLI Trace inspector (Playwright 1.59+) — extracts the trace for headless actions, action <id>, snapshot <id>, requests, console, errors, screenshot subcommands. Best for agent-driven post-mortem in headless / CI / SSH contexts where launching the GUI Viewer isn't practical. Close with npx playwright trace close.
npx playwright test --debug=cliCLI debugger (Playwright 1.59+) — emits playwright-cli attach <session-id> instructions and pauses. Step with playwright-cli --session=<id> step-over, inspect with playwright-cli --session=<id> snapshot. Best for agentic workflows that can't drive the GUI Inspector. The default npm run test:debug (--debug alone) keeps the GUI Inspector.
npm testThe full suite, excluding @destructive. Use only after a focused debug run is green.

For ad-hoc options: npx playwright test <file> --trace on --workers=1 --retries=0 --headed is the standard "force-everything-on, deterministic" command for local investigation.

Instructions

Phase 1: Read the failure message

Open the terminal output before opening any browser. Playwright's error structure is:

  1. The test that failed (file + line + title).
  2. The exact assertion / action that failed and the received vs expected values (or the locator that timed out).
  3. The call stack — the source line where the assertion lives.
  4. Snippet of related code with the failing line highlighted.

Read all four parts. Most failures get diagnosed here without opening any tool.

Phase 2: Classify the failure mode

Map the message to the right category — each routes to a different tool and sometimes a different skill.

Failure typeSymptomMost likely causeWhere to investigate
TimeoutError on actionlocator.click() Timeout 10000ms exceededLocator wrong, element disabled, page hasn't loadedTrace Viewer (action panel + DOM snapshot at the moment of timeout)
TimeoutError on assertionexpect(locator).toBeVisible() Timeout 10000ms exceededElement legitimately not visible, wrong locator, race with navigationUI Mode + retake snapshot just before the assertion
TimeoutError on navigationpage.goto(...) Timeout 30000ms exceededWrong URL, env not set, app down, slow first-load (cold cache)Verify process.env.APP_URL; curl it; check env/.env.${ENVIRONMENT}
Strict mode violation: 2 elementsError: strict mode violation: getByRole(...) resolved to 2 elementsLocator matches multiple — selector too looseselectors skill; add { exact: true }, scope to a parent, switch to a more specific role
expect() mismatchExpected: "X" / Received: "Y"Page state, data, or the enum value driftedCompare received vs expected; if a Messages.* value drifted, follow refactor-values
ZodErrorexpect(SchemaName.parse(body)).toBeTruthy() throwsAPI response disagrees with the schema (contract drift)If the contract is documented, this is a bug → api-testing Phase 7. If not, schema needs updating to the real shape
Network errorECONNREFUSED, getaddrinfo ENOTFOUND, 5xxWrong base URL, app/API down, missing env var, missing tokenVerify process.env.API_URL, process.env.ACCESS_TOKEN; see the config and helpers skills
Element not foundError: locator.X: ... element is not attached to the DOMPage replaced before action, frame swap, navigation raceTrace Viewer; check if action fired before/after navigation
ReferenceError / TypeErrorappPage is undefined, cannot read property X of undefinedFixture not registered, bad import (from @playwright/test instead of test-options.ts), missing factory outputfixtures / test-standards Critical
Test passes alone, fails in suiteGreen with --grep, red withoutTest independence violated (shared state, missing resetStorageState, parallel collision)test-standards Phase 9; promote shared mutators to @destructive with cleanup
forbidOnly failed the buildError: focused tests are not allowed in CIA test.only(...) was committedRemove test.only(...) from the spec
Phase 3: Reproduce locally

Before opening any tool, narrow the run so you have a tight feedback loop.

bash
# Option A -- run a single spec file with retries off and a single worker
npx playwright test tests/app/functional/login.spec.ts --workers=1 --retries=0

# Option B -- narrow further with --grep (matches tag or test title)
npx playwright test --grep "should show error for invalid login" --workers=1 --retries=0

# Option C -- last resort, narrow with `test.only(...)` in the spec file (DO NOT COMMIT)
test.only('should show error for invalid login', { tag: '@regression' }, async (...) => { ... });

If the test is green locally but red in CI, skip to Phase 7.

Phase 4: Investigate with the right tool

Pick one — don't bounce between three.

UI Mode — npm run test:ui (default first choice)

Best when you can reproduce locally and want fast iteration.

  • Click the failing test in the sidebar to replay it.
  • Use the timeline to scrub through every action; each step shows the DOM snapshot at that moment.
  • Use the Pick locator tool to test a candidate selector against the live DOM.
  • Watch mode re-runs on save — change the page object or test, see the result instantly.
  • The Network tab shows API calls (URL, status, request/response) — directly answers many ZodError questions.
Trace Viewer — npx playwright show-trace <path/to/trace.zip> (GUI post-mortem)

Best when you have an existing trace (failed CI run, locally captured with --trace on) and a desktop browser handy.

  • Action panel: every Playwright call with input args and outcome.
  • DOM snapshots: before / during / after each action.
  • Console + Network panels: app logs and API traffic at exactly the right moment.
  • Source panel: the test code highlighted at the failed line.

If playwright-report/ opened automatically and showed a failure, the trace is linked from the report — click "Trace" on the failed test card.

Show full SKILL.md (842 more words)Show less
CLI Trace inspection — npx playwright trace ... (agent-friendly post-mortem, Playwright 1.59+)

Best when you're driving headless (CI agent, remote SSH, container with no display) or you want to grep across trace contents programmatically.

bash
# Extract the trace for inspection
npx playwright trace open path/to/trace.zip

# List all actions; --grep narrows to a substring
npx playwright trace actions
npx playwright trace actions --grep "expect"

# Drill into one action (use the action number from the listing)
npx playwright trace action 9

# DOM snapshots before / after the action (uses playwright-cli under the hood)
npx playwright trace snapshot 9 --name before
npx playwright trace snapshot 9 --name after

# Network / console / errors / screenshots / attachments
npx playwright trace requests
npx playwright trace console
npx playwright trace errors
npx playwright trace screenshot 9

# Done — clean up the extracted data
npx playwright trace close

This is the same trace data as show-trace, but addressable from the terminal. Switch between GUI and CLI based on context — they're not exclusive.

Playwright Inspector — npm run test:debug (interactive breakpoint stepping)

Best when you suspect logic in your test/page object and want to step through it line-by-line in the GUI Inspector.

  • The browser opens with the inspector overlay.
  • F10 to step over each action.
  • Set breakpoints in code (debugger;) and they trigger.
  • Locator highlight in the page makes selector verification trivial.

For agent-driven stepping (no GUI), use npx playwright test --debug=cli instead — Playwright pauses and prints playwright-cli attach <session-id> so an agent can drive playwright-cli --session=<id> step-over / ... snapshot / etc. from the terminal. Same lifecycle, headless-friendly.

Headed mode — npm run test:headed

Best when you need to watch the browser do something specific you can't see in trace replay (animations, async loading races, tooltip behaviour).

Phase 5: Apply the fix at the root cause

Map the diagnosis to a fix in the right place. Do not patch in the test if the bug lives in a page object or schema.

DiagnosisFix lives in
Locator returned wrong/zero/many elementsThe page object's getter (see selectors + page-objects)
Action raced ahead of navigationThe page object's action method — add page.waitForResponse(...) for the API or a web-first assertion for the post-nav state
Messages.X value drifted from the live UIenums/{area}/*.ts via the refactor-values workflow
Schema disagreed with documented contractThe test (test.skip + // FIXME: <ticket-url>) — api-testing Phase 7. NEVER loosen the schema
Schema disagreed with the real response (no docs)The schema (fixtures/api/schemas/...) — update to match
Token missing (process.env.ACCESS_TOKEN undefined)The auth-bootstrap helper / auth.setup.ts — see the helpers skill
Fixture missing (appPage is undefined)fixtures/pom/page-object-fixture.ts — see the fixtures skill
Tag combined / wrongThe test header — test-standards single-tag rule
Hardcoded string in getByText(...)Replace with Messages.* enum (enums skill)
Test depends on another test's side-effectMove the setup into beforeEach / a fixture; use a factory for unique data per test
Phase 6: Re-run and confirm stability

A green run after one fix is not enough.

bash
# Re-run the affected file with retries off
npx playwright test tests/app/functional/login.spec.ts --workers=1 --retries=0

# Re-run 5 consecutive times for confidence on flakiness fixes
for i in 1 2 3 4 5; do npx playwright test tests/app/functional/login.spec.ts --workers=1 --retries=0 || break; done

# Then re-run the full affected suite
npm test

Confirm:

  • The originally failing test passes.
  • No other test in the file was broken by the fix.
  • Lint is clean (npx eslint .).
  • No test.only(...) left behind (CI's forbidOnly will catch it, but you should catch it first).
Phase 7: Investigate a CI-only failure (red CI, green local)

When the test passes locally but fails in CI, you need CI's artifacts to reproduce.

  1. Download the CI artifacts. GitHub Actions: Actions → <run> → Summary → Artifacts → playwright-report (and test-results if separate). Or via gh: gh run download <run-id> -n playwright-report.

  2. Open the report locally. Unzip playwright-report.zip; the trace zips for failed tests live under data/.

  3. Open the failed trace.

    bash
    # GUI -- desktop browser, fastest manual review
    npx playwright show-trace path/to/trace.zip
    
    # CLI -- headless / SSH / agent-driven, scriptable (Playwright 1.59+)
    npx playwright trace open path/to/trace.zip
    npx playwright trace actions
    npx playwright trace action <id>
    npx playwright trace snapshot <id> --name after
    npx playwright trace close
  4. Compare environments.

    • Different env file? CI usually has its own env/.env.ci or relies on shell env.
    • Different storage state? Check whether auth.setup.ts ran and produced .auth/app/appStorageState.json.
    • Different viewport / device? playwright.config.ts chromium project uses 1920x1080; if your local default differs, layout-sensitive locators may behave differently.
    • Different browser version? CI installs whatever the Docker image / @playwright/test version brings.
  5. Replay the same conditions locally.

    bash
    ENVIRONMENT=ci CI=1 npx playwright test <file> --workers=1 --retries=0
  6. If still green locally, the failure is genuinely environment-driven (network, timing, state). Add temporary instrumentation (console.log, screenshot, --trace on), commit, run in CI, inspect new artifacts, then remove the instrumentation before merging.

See Also

  • api-testing skill — Phase 7 behaviour-mismatch protocol (test.skip + // FIXME:), Phase 6 negative-coverage patterns where the same ZodError types appear.
  • refactor-values skill — when a fix involves changing an enum value, an enum key, or a static-data file (cascading updates and verification).
  • selectors skill — locator priority, scoping for strict-mode violations, exploration-first workflow when a locator no longer matches.
  • page-objects skill — where action methods live; page.waitForResponse(...) belongs there, not in the spec.
  • fixtures skill — fixture lifecycle, registration; "fixture is undefined" errors live here.
  • helpers skill — auth bootstrap and how process.env.ACCESS_TOKEN is populated; debug undefined token errors here.
  • test-standards skill — single-tag rule, destructive cleanup, test independence (Phase 9) — the source of most "passes alone, fails in suite" issues.
  • type-safety skill — Zod 4 patterns, expect(Schema.parse(body)).toBeTruthy(); enforcement, zInput vs zOutput confusion behind unexpected ZodErrors.
  • config skill — env file selection (ENVIRONMENT), process.env.* correctness, where APP_URL / API_URL are sourced.
  • common-tasks skill — Phase 7 (Run tests) routes failures here; verification checklist.
  • ai-native-workflow skill — the meta workflow: how to ask, how to escalate, how to commit a fix, and the audit-then-edit pattern that keeps debugging sessions consistent across agents.
  • references/examples.md — four worked debug scenarios (action timeout, ZodError contract drift, suite-only failure, CI-only failure).
  • references/troubleshooting.md — common debugging pitfalls (missing trace, stale report, committed test.only, UI Mode resource use, timeout bump, suppressed expect, flake diagnosis, destructive leak, cross-browser).

© idavidov13, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in .claude/skills/debugging of idavidov13/agentic-playwright.

  • SKILL.md
  • references/examples.md
  • references/troubleshooting.md

Open the folder on GitHubat commit f6cbf35

Compare with similar skills

Debugging next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Debugging compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Debugging this skillidavidov13/agentic-playwright223—~6.2kAutomated safety check: NotesMIT
Activitypub TestingMicrock/ordinary-claude-skills403—~712Automated safety check: PassCustom licence
Testingkortix-ai/suna20k—~3.6kAutomated safety check: NotesCustom licence
UI Visual DebuggingNangoHQ/nango13k—~1.3kAutomated safety check: PassCustom licence
E2Esendou-ink/sendou.ink297—~2.1kAutomated safety check: NotesAGPL-3.0
Debug E2E Testbitovi/ai-enablement-prompts121—~677Automated safety check: PassMIT

Similar skills

  • Activitypub Testing

    Microck/ordinary-claude-skills

    Testing patterns for PHPUnit and Playwright E2E tests. An agent skill from Microck/ordinary-claude-skills.

    403 GitHub stars~712 tokensUpdated 1 mo ago
    Testing & QAAuto-check passed
  • Testing

    kortix-ai/suna

    A skill your agent uses for every Kortix test task, behavior change, bug fix, refactor, API route change, CLI change, SDK change, browser journey, test failure, coverage question, local benchmark…

    20k GitHub stars~3.6k tokensUpdated today
    Testing & QAAuto-check: notes
  • UI Visual Debugging

    NangoHQ/nango

    A skill your agent uses when modifying or visually debugging Nango frontend UI, including packages/webapp, packages/connect-ui, browser interactions, screenshots, and visual regressions.

    13k GitHub stars~1.3k tokensUpdated today
    Testing & QAAuto-check passed
  • E2E

    sendou-ink/sendou.ink

    Run, debug, and manage Playwright e2e tests. An agent skill from sendou-ink/sendou.ink.

    297 GitHub stars~2.1k tokensUpdated today
    Testing & QAAuto-check: notes
  • Debug E2E Test

    bitovi/ai-enablement-prompts

    Debug and fix failing Playwright E2E tests. An agent skill from bitovi/ai-enablement-prompts.

    121 GitHub stars~677 tokensUpdated 27 days ago
    Testing & QAAuto-check passed
  • Testing

    trieb-work/nextjs-turbo-redis-cache

    Run tests and add Next.js version coverage for the cache handler.

    151 GitHub stars~1.1k tokensUpdated 13 days ago
    Testing & QAAuto-check passed

More from idavidov13/agentic-playwright

All 13 skills in this repo
  • AI Native Workflow

    idavidov13/agentic-playwright

    Sole entry-point router for AI-assisted work on this Playwright scaffold — owns the 8-phase main workflow (classify → route → explore → plan+confidence → human gate → apply → verify → report), the…

    223 GitHub stars~3.5k tokensUpdated 6 days ago
    Auto-check passed
  • Common Tasks

    idavidov13/agentic-playwright

    Copy-paste AI prompt templates for common Playwright scaffold development tasks — adding page objects, functional/E2E/API tests, Zod schemas, factories, fixtures, and components.

    223 GitHub stars~2.5k tokensUpdated 6 days ago
    Auto-check passed
  • Data Strategy

    idavidov13/agentic-playwright

    Test data strategy for the Playwright scaffold — Faker + Zod factories for dynamic happy-path data, static TS files (.ts with as const exports — never .json) for domain-specific curated invalid…

    223 GitHub stars~3.4k tokensUpdated 6 days ago
    Auto-check passed
  • Page Objects

    idavidov13/agentic-playwright

    Page Object Model pattern for the Playwright scaffold — class structure, get-accessor locator pattern, action-method conventions, component composition, registration via the page-object fixture, and…

    223 GitHub stars~3.6k tokensUpdated 6 days ago
    Auto-check passed
  • Selectors

    idavidov13/agentic-playwright

    Selector strategy, exploration-first workflow, locator priority order (getByRole then getByLabel then getByPlaceholder then getByText then getByTestId), and feedback/validation-message selector…

    223 GitHub stars~2.7k tokensUpdated 6 days ago
    Auto-check passed
  • Test Standards

    idavidov13/agentic-playwright

    Spec file conventions for the Playwright scaffold — imports from test-options.ts, test file structure (describe / beforeEach / test / test.step), single-tag rule, functional vs E2E vs API vs setup…

    223 GitHub stars~3.9k tokensUpdated 6 days ago
    Auto-check passed

Works with

Questions about Debugging

What does Debugging do?

Playwright test debugging conventions for the scaffold — reading failure messages, classifying failure modes (TimeoutError, ZodError, strict-mode violation, locator not found, network errors, schema…. Debugging is an agent skill from idavidov13/agentic-playwright.

When should I use Debugging?

Debugging fits situations like: A Playwright test fails; behaves unexpectedly; triaging a flaky test; investigating a ZodError from Schema.parse(body).

How do I install Debugging in Claude Code?

Run `npx skills add idavidov13/agentic-playwright --skill debugging -a claude-code`. Or copy the skill folder (.claude/skills/debugging in idavidov13/agentic-playwright) into .claude/skills/debugging in your project. Claude Code loads it when a task matches its description.

How do I install Debugging in Codex?

Run `npx skills add idavidov13/agentic-playwright --skill debugging -a codex`. Or copy the skill folder (.claude/skills/debugging in idavidov13/agentic-playwright) into .agents/skills/debugging in your project. Codex loads it when a task matches its description.

Can I use Debugging in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add idavidov13/agentic-playwright --skill debugging -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/debugging, .gemini/skills/debugging, .github/skills/debugging and .opencode/skills/debugging in your project.

What does Debugging need to run?

Going by SKILL.md and its folder, Debugging needs the command-line tools its instructions call (npx, npm and gh) and credentials named ACCESS_TOKEN. Our summary lists: Node.js.

Does Debugging access the network?

SKILL.md contains no URLs. Its commands use npx, npm and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Debugging safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Debugging use?

Debugging is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Debugging use?

About 6.2k tokens (SKILL.md is roughly 25k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.5k tokens, read only when the agent opens those files.

What are the alternatives to Debugging?

Skills that share tags, products or a category with Debugging: Activitypub Testing (Microck/ordinary-claude-skills, 403 stars), Testing (kortix-ai/suna, 20k stars), UI Visual Debugging (NangoHQ/nango, 13k stars) and E2E (sendou-ink/sendou.ink, 297 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Debugging?

idavidov13 (a GitHub user) maintains it in idavidov13/agentic-playwright, which has 223 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on October 1, 2026.

Source: idavidov13/agentic-playwright on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.