Web Application Testing
anthropics/skills
Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.
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…
$ npx skills add idavidov13/agentic-playwright --skill ai-native-workflow -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install idavidov13/agentic-playwright ai-native-workflow --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/ai-native-workflow .claude/skills/ai-native-workflow && 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 "ai-native-workflow" agent skill from https://github.com/idavidov13/agentic-playwright/tree/main/.claude/skills/ai-native-workflow into .claude/skills/ai-native-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ai-native-workflow", 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/ai-native-workflowType 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 ai-native-workflow -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install idavidov13/agentic-playwright ai-native-workflow --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/ai-native-workflow .agents/skills/ai-native-workflow && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ai-native-workflow" agent skill from https://github.com/idavidov13/agentic-playwright/tree/main/.claude/skills/ai-native-workflow into .agents/skills/ai-native-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ai-native-workflow", 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 ai-native-workflow -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install idavidov13/agentic-playwright ai-native-workflow --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/ai-native-workflow .cursor/skills/ai-native-workflow && 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 "ai-native-workflow" agent skill from https://github.com/idavidov13/agentic-playwright/tree/main/.claude/skills/ai-native-workflow into .cursor/skills/ai-native-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ai-native-workflow", 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/ai-native-workflow--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 ai-native-workflow -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install idavidov13/agentic-playwright ai-native-workflow --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/ai-native-workflow .gemini/skills/ai-native-workflow && 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 "ai-native-workflow" agent skill from https://github.com/idavidov13/agentic-playwright/tree/main/.claude/skills/ai-native-workflow into .gemini/skills/ai-native-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ai-native-workflow", 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 ai-native-workflowInstalls 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 ai-native-workflow -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/ai-native-workflow .github/skills/ai-native-workflow && 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 "ai-native-workflow" agent skill from https://github.com/idavidov13/agentic-playwright/tree/main/.claude/skills/ai-native-workflow into .github/skills/ai-native-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ai-native-workflow", 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 ai-native-workflow -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 ai-native-workflow --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/ai-native-workflow .opencode/skills/ai-native-workflow && 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 "ai-native-workflow" agent skill from https://github.com/idavidov13/agentic-playwright/tree/main/.claude/skills/ai-native-workflow into .opencode/skills/ai-native-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ai-native-workflow", 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.
ai-native-workflowSole 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…
AI Native Workflow is an agent skill from 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 human↔agent conversation contract, the routing matrix that picks the right specialized skill, and the confidence-gate format that every non-trivial proposal must include. Use whenever a user starts a non-trivial task ("add tests for X", "create a page object", "rename this enum", "debug this failure", "refactor Y")…
Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including reference files (for example `evals/evals.json`, `references/conversation-contract.md` and `references/examples.md`).
It sits in Testing & QA, covering Browser testing. It works with Playwright. 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.
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:
playwrightFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
AI Native Workflow loads about 3.5k tokens when it runs, and up to ~7k if it reads all its reference files. Until then it costs about 214 tokens; SKILL.md has 1,265 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 found no risky patterns in SKILL.md.
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). 1,265 words, ~3,546 tokens.
.claude/skills/ai-native-workflow/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.Routing layer between user intent and the specialized skills that own the rules. Load first on every non-trivial task.
For deeper context: see references/three-layer-model.md, references/conversation-contract.md, references/principles.md, references/examples.md, references/troubleshooting.md.
ls, grep, playwright-cli, OpenAPI — or ask.TODO / skeleton / "to fill in later" outputs count as placeholders too — offering a "skeleton page object with TODO locators while we wait for playwright-cli" is the same failure mode as inventing locators outright; don't.api-testing, page-objects, etc. It tells you which skill to load and in what order.CLAUDE.md Constitution is the safety floor. MUST/SHOULD/WON'T tables are hard stops; they take precedence over any prose, template, or example.playwright-cli only (no IDE browser MCP, no Cursor browser, no playwright codegen). API → OpenAPI/docs first, live HTTP only as fallback.debugging — never suppress, never bump timeouts.Every non-trivial task runs through these phases in order.
| # | Phase | Generic substeps | Flow-specific substeps owned by |
|---|---|---|---|
| 1 | Classify intent | Match user request → intent class (codegen / edit / refactor / debug / explore / config). | — |
| 2 | Route | Pick first skill from routing table. Codegen → common-tasks. Other → direct skill. | — |
| 3 | Explore | Confirm what's known vs unknown; gather evidence per flow. If a primary input is missing (URL, OpenAPI, area folder, field list), ASK the user before advancing — do NOT carry the gap into Phase 4. | UI: playwright-cli. API: api-testing Phase 1 (OpenAPI). Refactor: refactor-values Phase 1 (impact grep). Debug: debugging capture step. |
| 4 | Plan + Confidence | Produce proposal block (see format below). | — (owned here) |
| 5 | Human gate | Wait for confirm / reject / rework. On reject → return to Phase 3 with stated gap. | — |
| 6 | Apply | Edits per leaf-skill rules. Re-check Critical blocks of every loaded skill. | leaf skill |
| 7 | Verify | Lint + run affected tests. Red → load debugging. | debugging (on red), refactor-values Phase 4 (refactor), api-testing Phase 5 (API coverage matrix) |
| 8 | Report + commit ask | Files changed, line counts, lint status. Ask before committing. | — |
Every Plan output before the human gate uses this shape:
## Proposal
- Scope: <files + what changes>
- Trade-offs: <if any>
- Confidence: <1-10> (<low|medium|high>)
- Rationale: <one line per +/- factor>
- Unknowns: <list or "none">Confidence rules (canonical home — conversation-contract.md and the Critical block above link here; never restate these thresholds elsewhere):
{area} ambiguity, no missing enum / env / credential, no untested branch, no in-flight conflicting work.| User intent | First skill | Then chains to |
|---|---|---|
"Add tests for POST /api/..." | api-testing | data-strategy, enums, type-safety, debugging |
| "Add a page object for X" | page-objects | selectors, playwright-cli, enums, fixtures |
| "Generate prompt for X" / "How do I add Y?" | common-tasks | matching specialized skill |
| "Test failing / flaky" | debugging | api-testing, selectors, fixtures, refactor-values |
| "Rename enum / change static value" | refactor-values | enums or data-strategy → debugging |
| "Create factory for X" | data-strategy | type-safety, api-testing |
| "Wire setup helper / helper fixture" | helpers or fixtures | api-testing Phase 8 |
| "Add env var / config / utility URL" | config | enums, type-safety |
| "Add enum / endpoint / message" | enums | playwright-cli for live-text verification |
| "Refactor Zod schema / convert any → typed" | type-safety | api-testing |
| "Add spec file / tag / structure question" | test-standards | data-strategy, api-testing, page-objects |
| "Create / improve / eval an agent skill" | skill-creator | ai-native-workflow (routing fit), this index |
| "How does this scaffold work with AI?" | this skill | relevant specialized skill |
If intent matches none of the above → default to common-tasks or ask the user to clarify.
For trivial work (one-line fix, obvious typo, single import) the agent applies and reports back. The user can say "just do it" once to opt out of audit-then-edit for the rest of the session for trivial work. Substantive changes still go through the 8-phase workflow.
Even in Direct Mode, verify the user's premise before editing. Open the cited file, find the cited line, confirm the reported defect is actually there. If the typo isn't on that line, the import isn't where the user said, or the value isn't what the user claims it currently is — stop and report the mismatch instead of applying a "fix" to a defect that doesn't exist. This is the same anti-invention principle as Phase 3 ASK, scaled to one-line work.
ls first; if still unclear, ask).playwright-cli for UI, OpenAPI for API; ask if neither).For the full conversation contract (audit-then-edit details, refusal triggers), see references/conversation-contract.md.
Surface across multiple specialized skills — re-check before declaring done:
expect(SchemaName.parse(body)).toBeTruthy(); for API responses.getByRole > getByLabel > getByPlaceholder > getByText > getByTestId for selectors.@destructive is heaviest and wins — shared/global state only (locale, permissions, roles, access, flags, settings). Isolated own-data tests keep their importance tag. Any state-mutating test needs a revert hook.z.strictObject() (never z.object()), no any, no XPath, no page.waitForTimeout(...).process.env.* for URLs/credentials; enums/{area}/* for paths/messages..ts with as const exports — never .json.CLAUDE.md — always-loaded Constitution (MUST/SHOULD/WON'T tables).common-tasks — codegen sub-router with prompt templates.debugging — failure-investigation half of the lifecycle (Phase 7 routes here on red).api-testing — deep skill for API work; owns Phase 1 (contract source) and Phase 7 (behaviour mismatch).refactor-values — deep skill for changing existing enum / static values.page-objects, selectors, playwright-cli — UI authoring chain.test-standards, data-strategy, type-safety, enums, config, fixtures, helpers — rest of the suite.skill-creator — authoring/improving/evaluating the skills themselves (meta-work on this suite).references/three-layer-model.md — how orchestrator / specialized skills / code conventions layer.references/conversation-contract.md — audit-then-edit, when to ask vs do, when to refuse.references/principles.md — the five principles that make the scaffold AI-native.references/examples.md — three end-to-end multi-skill chains (API test, refactor, CI failure).references/troubleshooting.md — common agent failure modes and fixes.© 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 6 other files (references) in .claude/skills/ai-native-workflow of idavidov13/agentic-playwright.
Open the folder on GitHubat commit f6cbf35
AI Native Workflow 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 |
|---|---|---|---|---|---|---|
| AI Native Workflow this skillidavidov13/agentic-playwright | 223 | — | ~3.5k | Automated safety check: Pass | MIT | |
| Web Application Testinganthropics/skills | 180k | 51 repos | ~966 | Automated safety check: Pass | Apache-2.0 | |
| Playwright CLIsanity-io/sanity | 6.4k | 18 repos | ~1.9k | Automated safety check: Pass | MIT | |
| playwright-cli Browser Automationgithub/gh-aw | 5.4k | 24 repos | ~2.8k | Automated safety check: Pass | MIT | |
| Write and Verify Playwright Testsappsmithorg/appsmith | 41k | — | ~2.9k | Automated safety check: Notes | Apache-2.0 | |
| Cucumber and Playwright E2E Testslanggenius/dify | 158k | — | ~682 | Automated safety check: Pass | Custom licence |
anthropics/skills
Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.
sanity-io/sanity
Automates browser interactions for web testing, form filling, screenshots, and data extraction.
github/gh-aw
Drives a real browser from the command line with playwright-cli to open pages, interact, mock requests, save state and work with Playwright tests.
appsmithorg/appsmith
Writes a Playwright end-to-end test from a prompt, runs it against a live Appsmith deployment and retries with fixes up to three times until it passes.
langgenius/dify
Guides changes and reviews of the Cucumber and Playwright end-to-end suite under `e2e/`: feature files, step definitions, support code, tags, locators and assertions.
langflow-ai/langflow
Write and review Playwright E2E tests for Langflow. An agent skill from langflow-ai/langflow.
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…
idavidov13/agentic-playwright
TypeScript type safety conventions for the Playwright scaffold — the "no any" rule, Zod 4 schema patterns (z.strictObject, top-level validators like z.uuid / z.email / z.url / z.int / z.enum)…
Works with
Categories
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…. AI Native Workflow is an agent skill from 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 human↔agent conversation contract, the routing matrix that picks the right specialized skill, and the confidence-gate format that every non-trivial proposal must include.
AI Native Workflow fits situations like: A user starts a non-trivial task (add tests for X; create a page object; rename this enum; debug this failure.
Run `npx skills add idavidov13/agentic-playwright --skill ai-native-workflow -a claude-code`. Or copy the skill folder (.claude/skills/ai-native-workflow in idavidov13/agentic-playwright) into .claude/skills/ai-native-workflow in your project. Claude Code loads it when a task matches its description.
Run `npx skills add idavidov13/agentic-playwright --skill ai-native-workflow -a codex`. Or copy the skill folder (.claude/skills/ai-native-workflow in idavidov13/agentic-playwright) into .agents/skills/ai-native-workflow 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 ai-native-workflow -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ai-native-workflow, .gemini/skills/ai-native-workflow, .github/skills/ai-native-workflow and .opencode/skills/ai-native-workflow in your project.
Going by SKILL.md and its folder, AI Native Workflow needs the command-line tools its instructions call (playwright).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
AI Native Workflow is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k 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 3.5k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with AI Native Workflow: Web Application Testing (anthropics/skills, 180k stars), Playwright CLI (sanity-io/sanity, 6.4k stars), playwright-cli Browser Automation (github/gh-aw, 5.4k stars) and Write and Verify Playwright Tests (appsmithorg/appsmith, 41k 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.