Activitypub Testing
Microck/ordinary-claude-skills
Testing patterns for PHPUnit and Playwright E2E tests. An agent skill from Microck/ordinary-claude-skills.
Playwright test debugging conventions for the scaffold — reading failure messages, classifying failure modes (TimeoutError, ZodError, strict-mode violation, locator not found, network errors, schema…
$ npx skills add idavidov13/agentic-playwright --skill debugging -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install idavidov13/agentic-playwright debugging --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "debugging" agent skill from https://github.com/idavidov13/agentic-playwright/tree/main/.claude/skills/debugging into .claude/skills/debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "debugging", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/idavidov13/agentic-playwright/tree/main/.claude/skills/debuggingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add idavidov13/agentic-playwright --skill debugging -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install idavidov13/agentic-playwright debugging --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/idavidov13/agentic-playwright.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/debugging .agents/skills/debugging && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "debugging" agent skill from https://github.com/idavidov13/agentic-playwright/tree/main/.claude/skills/debugging into .agents/skills/debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "debugging", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add idavidov13/agentic-playwright --skill debugging -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install idavidov13/agentic-playwright debugging --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/idavidov13/agentic-playwright.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/debugging .cursor/skills/debugging && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "debugging" agent skill from https://github.com/idavidov13/agentic-playwright/tree/main/.claude/skills/debugging into .cursor/skills/debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "debugging", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/idavidov13/agentic-playwright.git --path .claude/skills/debugging--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add idavidov13/agentic-playwright --skill debugging -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install idavidov13/agentic-playwright debugging --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/idavidov13/agentic-playwright.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/debugging .gemini/skills/debugging && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "debugging" agent skill from https://github.com/idavidov13/agentic-playwright/tree/main/.claude/skills/debugging into .gemini/skills/debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "debugging", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install idavidov13/agentic-playwright debuggingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add idavidov13/agentic-playwright --skill debugging -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/idavidov13/agentic-playwright.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/debugging .github/skills/debugging && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "debugging" agent skill from https://github.com/idavidov13/agentic-playwright/tree/main/.claude/skills/debugging into .github/skills/debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "debugging", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add idavidov13/agentic-playwright --skill debugging -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install idavidov13/agentic-playwright debugging --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/idavidov13/agentic-playwright.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/debugging .opencode/skills/debugging && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "debugging" agent skill from https://github.com/idavidov13/agentic-playwright/tree/main/.claude/skills/debugging into .opencode/skills/debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "debugging", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
debuggingPlaywright 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. 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.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit f6cbf35. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
npxnpmghFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names these keys or tokens, usually read from environment variables:
ACCESS_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
rocess.env.APP_URL`; curl it; check `env/.env.${ENVIRONMENT}` |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.
The full file from idavidov13/agentic-playwright at commit f6cbf35, republished under its MIT licence (© idavidov13). 2,122 words, ~6,239 tokens.
.claude/skills/debugging/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.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.
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.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.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).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.forbidOnly: !!process.env.CI in mind. test.only(...) is your friend locally for narrowing — but do not commit it. CI will fail the build.npx eslint . and npx playwright test <file> before moving on.What the scaffold automatically captures and where it lives. From playwright.config.ts:
| Artifact | Default | Where it ends up |
|---|---|---|
| Trace | on-first-retry | test-results/<test-id>/trace.zip — only after a retry |
| Screenshot | only-on-failure | test-results/<test-id>/test-failed-1.png |
| Video | retain-on-failure | test-results/<test-id>/video.webm |
| HTML report | open on-failure (local), never (CI) | playwright-report/index.html |
| Blob report | CI only | blob-report/ (used to merge sharded runs) |
Timeouts in effect:
| Setting | Value | What it bounds |
|---|---|---|
actionTimeout | 10000 ms | One Playwright action (click, fill, etc.) |
navigationTimeout | 30000 ms | page.goto(...), page.waitForURL(...), etc. |
expect.timeout | 10000 ms | One web-first assertion (toBeVisible, toHaveText...) |
timeout (test-level) | 60000 ms | The whole test |
If you hit a timeout, knowing which one tells you whether the issue is action / navigation / assertion / overall test pacing.
| Command | What it does |
|---|---|
npm run test:ui | Open Playwright UI Mode — interactive runner with timeline, locator picker, watch mode. Default first choice for any debugging. |
npm run test:debug | Run with Playwright Inspector (--debug). Pauses before each step; F10 to step. Best for breakpoint-style stepping through a single test. |
npm run test:headed | Run headed Chromium (--headed). Watch the browser do the run. Excludes @destructive. |
npm run report | Open 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=cli | CLI 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 test | The 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.
Open the terminal output before opening any browser. Playwright's error structure is:
Read all four parts. Most failures get diagnosed here without opening any tool.
Map the message to the right category — each routes to a different tool and sometimes a different skill.
| Failure type | Symptom | Most likely cause | Where to investigate |
|---|---|---|---|
TimeoutError on action | locator.click() Timeout 10000ms exceeded | Locator wrong, element disabled, page hasn't loaded | Trace Viewer (action panel + DOM snapshot at the moment of timeout) |
TimeoutError on assertion | expect(locator).toBeVisible() Timeout 10000ms exceeded | Element legitimately not visible, wrong locator, race with navigation | UI Mode + retake snapshot just before the assertion |
TimeoutError on navigation | page.goto(...) Timeout 30000ms exceeded | Wrong 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 elements | Error: strict mode violation: getByRole(...) resolved to 2 elements | Locator matches multiple — selector too loose | selectors skill; add { exact: true }, scope to a parent, switch to a more specific role |
expect() mismatch | Expected: "X" / Received: "Y" | Page state, data, or the enum value drifted | Compare received vs expected; if a Messages.* value drifted, follow refactor-values |
ZodError | expect(SchemaName.parse(body)).toBeTruthy() throws | API 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 error | ECONNREFUSED, getaddrinfo ENOTFOUND, 5xx | Wrong base URL, app/API down, missing env var, missing token | Verify process.env.API_URL, process.env.ACCESS_TOKEN; see the config and helpers skills |
| Element not found | Error: locator.X: ... element is not attached to the DOM | Page replaced before action, frame swap, navigation race | Trace Viewer; check if action fired before/after navigation |
ReferenceError / TypeError | appPage is undefined, cannot read property X of undefined | Fixture not registered, bad import (from @playwright/test instead of test-options.ts), missing factory output | fixtures / test-standards Critical |
| Test passes alone, fails in suite | Green with --grep, red without | Test independence violated (shared state, missing resetStorageState, parallel collision) | test-standards Phase 9; promote shared mutators to @destructive with cleanup |
forbidOnly failed the build | Error: focused tests are not allowed in CI | A test.only(...) was committed | Remove test.only(...) from the spec |
Before opening any tool, narrow the run so you have a tight feedback loop.
# 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.
Pick one — don't bounce between three.
npm run test:ui (default first choice)Best when you can reproduce locally and want fast iteration.
ZodError questions.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.
If playwright-report/ opened automatically and showed a failure, the trace is linked from the report — click "Trace" on the failed test card.
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.
# 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 closeThis 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.
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.
F10 to step over each action.debugger;) and they trigger.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.
npm run test:headedBest when you need to watch the browser do something specific you can't see in trace replay (animations, async loading races, tooltip behaviour).
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.
| Diagnosis | Fix lives in |
|---|---|
| Locator returned wrong/zero/many elements | The page object's getter (see selectors + page-objects) |
| Action raced ahead of navigation | The 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 UI | enums/{area}/*.ts via the refactor-values workflow |
| Schema disagreed with documented contract | The 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 / wrong | The test header — test-standards single-tag rule |
Hardcoded string in getByText(...) | Replace with Messages.* enum (enums skill) |
| Test depends on another test's side-effect | Move the setup into beforeEach / a fixture; use a factory for unique data per test |
A green run after one fix is not enough.
# 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 testConfirm:
npx eslint .).test.only(...) left behind (CI's forbidOnly will catch it, but you should catch it first).When the test passes locally but fails in CI, you need CI's artifacts to reproduce.
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.
Open the report locally. Unzip playwright-report.zip; the trace zips for failed tests live under data/.
Open the failed trace.
# 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 closeCompare environments.
env/.env.ci or relies on shell env.auth.setup.ts ran and produced .auth/app/appStorageState.json.playwright.config.ts chromium project uses 1920x1080; if your local default differs, layout-sensitive locators may behave differently.@playwright/test version brings.Replay the same conditions locally.
ENVIRONMENT=ci CI=1 npx playwright test <file> --workers=1 --retries=0If 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.
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
SKILL.md and 2 other files (references) in .claude/skills/debugging of idavidov13/agentic-playwright.
Open the folder on GitHubat commit f6cbf35
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Debugging this skillidavidov13/agentic-playwright | 223 | — | ~6.2k | Automated safety check: Notes | MIT | |
| Activitypub TestingMicrock/ordinary-claude-skills | 403 | — | ~712 | Automated safety check: Pass | Custom licence | |
| Testingkortix-ai/suna | 20k | — | ~3.6k | Automated safety check: Notes | Custom licence | |
| UI Visual DebuggingNangoHQ/nango | 13k | — | ~1.3k | Automated safety check: Pass | Custom licence | |
| E2Esendou-ink/sendou.ink | 297 | — | ~2.1k | Automated safety check: Notes | AGPL-3.0 | |
| Debug E2E Testbitovi/ai-enablement-prompts | 121 | — | ~677 | Automated safety check: Pass | MIT |
Microck/ordinary-claude-skills
Testing patterns for PHPUnit and Playwright E2E tests. An agent skill from Microck/ordinary-claude-skills.
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…
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.
sendou-ink/sendou.ink
Run, debug, and manage Playwright e2e tests. An agent skill from sendou-ink/sendou.ink.
bitovi/ai-enablement-prompts
Debug and fix failing Playwright E2E tests. An agent skill from bitovi/ai-enablement-prompts.
trieb-work/nextjs-turbo-redis-cache
Run tests and add Next.js version coverage for the cache handler.
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…
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.
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…
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…
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…
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…
Works with
Categories
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.
Debugging fits situations like: A Playwright test fails; behaves unexpectedly; triaging a flaky test; investigating a ZodError from Schema.parse(body).
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.
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.
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.
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.
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.
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.
Debugging is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
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.
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.
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.