Kipt

The webapp-testing skill: test local web apps with Playwright

Anthropic's webapp testing skill lets your agent drive a local web app with Python Playwright: screenshots, logs, clicks. What's inside and how to install it.

By the Kipt team · Updated 23 October 2026

Source: anthropics/skills · Maintainer: Anthropic · License: Apache 2.0 · Checked: 23 October 2026

What is the webapp-testing skill?

The webapp-testing skill teaches a coding agent to check a web app you are building by driving a real browser with Python Playwright: it opens pages, clicks, fills forms, takes screenshots and reads the console. It is for developers who want Claude Code (or another agent) to verify frontend work itself instead of asking you to look.

Its official description in the SKILL.md reads: "Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs."

It lives in Anthropic's anthropics/skills repo, which had about 183,000 GitHub stars when checked. Its skills.sh page showed 186.0K installs on 23 October 2026.

What does the webapp-testing skill do?

The agent loads the skill when a task matches its description: verifying that a feature works, debugging a UI bug, grabbing a screenshot of a page, or checking browser logs for errors. Once loaded, the SKILL.md gives it a short decision tree:

  • Static HTML file? Read the file to find selectors, then write a Playwright script that opens it with a file:// URL.
  • Dynamic app, server not running? Use the bundled with_server.py helper to start it.
  • Server already running? Follow "reconnaissance, then action": load the page, wait for network activity to settle, take a screenshot or read the DOM, find the right selectors, then act.

The one pitfall the skill calls out by name is inspecting the DOM too early. It tells the agent to always call page.wait_for_load_state('networkidle') on dynamic apps before looking at the page, because the JavaScript may not have rendered yet.

What is in the folder?

The folder is small:

  • SKILL.md: the instructions and decision tree.
  • scripts/with_server.py: starts one or more servers, waits until each port accepts connections, runs your command, then stops the servers.
  • examples/element_discovery.py: lists the buttons, links and inputs on a page.
  • examples/static_html_automation.py: automates a local HTML file through a file:// URL.
  • examples/console_logging.py: captures console messages while the script clicks around.
  • LICENSE.txt: Apache 2.0.

The helper takes a --server command and a --port for each server, an optional --timeout (30 seconds per server by default), and then the command to run after --. The SKILL.md shows both forms:

python scripts/with_server.py --server "npm run dev" --port 5173 -- python your_automation.py
python scripts/with_server.py \
  --server "cd backend && python server.py" --port 3000 \
  --server "cd frontend && npm run dev" --port 5173 \
  -- python your_automation.py

How do you install the webapp-testing skill?

There are three documented routes. Pick one.

Claude Code plugin. The anthropics/skills README registers the repo as a plugin marketplace. In a Claude Code session, run:

/plugin marketplace add anthropics/skills
/plugin install example-skills@anthropic-agent-skills

The example-skills plugin installs Anthropic's example set (12 skills in the repo's marketplace file, including frontend-design, mcp-builder and web-artifacts-builder), not just this one. See Claude Code plugins for how plugins work.

The skills CLI. To install only this skill, use the command shown on its skills.sh page:

npx skills add https://github.com/anthropics/skills --skill webapp-testing

The skills CLI docs say it installs into the current project by default; add -g for all projects and -a claude-code to target Claude Code. For Claude Code the folder lands in .claude/skills/webapp-testing/ (project) or ~/.claude/skills/webapp-testing/ (global). The CLI needs Node.js 22.20 or later, per its README. Codex and Cursor read the same SKILL.md format; see Codex skills and Cursor skills.

Claude.ai. The README says the example skills "are all already available to paid plans in Claude.ai." Anthropic's help article on using skills in Claude explains turning on code execution and toggling skills under Customize, Skills. In practice this skill is most useful in a local agent, where your dev server actually runs.

How do you use it?

You don't need to name the skill. Ask for the job and the agent should pick it up. Some prompts that fit what it does:

  • "Start the dev server and check that the signup form shows an error when the email is empty."
  • "Take a full-page screenshot of localhost:5173 and tell me what looks broken on the pricing section."
  • "Open the dashboard, click through each tab and collect any console errors."
  • "List every button and link on the settings page so we can pick stable selectors."
  • "Run the backend on port 3000 and the frontend on 5173, then log in as the test user and confirm the welcome banner appears."

Requirements

The SKILL.md lists no requirements file, but its scripts and examples assume:

  • Python 3 with Playwright for Python. Playwright's library guide installs it with pip install playwright, then playwright install to download the browsers.
  • Chromium. The SKILL.md tells the agent to always launch Chromium in headless mode.
  • Whatever your app needs to run locally (Node, a database, and so on). with_server.py itself uses only the Python standard library.
pip install playwright
playwright install

Tips and limits

  • Scripts are black boxes on purpose. The SKILL.md tells the agent to run each helper with --help first and not read its source unless it truly needs a custom version, to keep its context window clear. If the agent starts reading the script, that is the skill being ignored.
  • It runs commands you give it. with_server.py starts each --server string through the shell, so it will run whatever command it is handed. Read the commands before you approve them, as you would any agent shell call.
  • Fix example paths. static_html_automation.py and console_logging.py save their output to /mnt/user-data/outputs/, a folder that won't exist on most machines. Change output paths before reusing the examples.
  • Local apps first. The description says "local web applications," and the examples all point at localhost. Playwright can open any URL, but logging into third-party sites is a different job; see agent-browser for general browsing.
  • Not a test suite. The scripts are one-off checks. For permanent end-to-end tests, Playwright's getting started guide recommends its pytest plugin.
  • Demonstration status. Anthropic's README calls these skills "provided for demonstration and educational purposes only." The skills.sh page also lists third-party security audit results for the skill; check them before installing in a sensitive environment.

Save it in your Kipt library

If you collect skills like this one, Kipt keeps them in one place. Open Skills in Kipt and paste the skill's GitHub folder link into the import box; Kipt reads the SKILL.md and its files, and for a repo with many skills it shows a list to pick from. You can also drop the folder or a .zip. Your skills live in your own private GitHub repo and install into Claude Code or Codex with one command:

npx skills add https://github.com/<you>/<repo>.git --all -g

Similar skills

Questions

What is the webapp-testing skill?

It is an Agent Skill from Anthropic, published in the anthropics/skills GitHub repo, that teaches an agent to test local web applications by writing Python Playwright scripts. It includes a helper that starts your dev server, waits for it, runs the script and shuts the server down.

Do I need to install Playwright to use the webapp-testing skill?

Yes. The skill tells the agent to write native Python Playwright scripts, and the folder has no requirements file, so you install Playwright for Python yourself. Playwright's docs give pip install playwright followed by playwright install, which downloads the browser binaries.

How do I install the webapp-testing skill in Claude Code?

Run /plugin marketplace add anthropics/skills, then /plugin install example-skills@anthropic-agent-skills, which installs Anthropic's example skills including this one. Or install just this skill with npx skills add https://github.com/anthropics/skills --skill webapp-testing.

Does the webapp-testing skill write a test suite?

Not by default. It writes short automation scripts that open the page, wait for it to load, inspect it and act on it. If you want a permanent end-to-end suite in CI, Playwright's own docs recommend its pytest plugin, and you can ask the agent to write tests in that style.

Is the webapp-testing skill free to use and change?

The folder ships with an Apache 2.0 license, so you can use, copy and modify it as long as you keep the license and note your changes. Anthropic's README adds that the example skills are for demonstration and educational purposes, so test it on your own projects.

More in Skill directory

All guides

Keep your prompts and skills in one place, in your own GitHub. Install every skill with one command.

Get started

Kipt is an independent product, not affiliated with or endorsed by Anthropic, OpenAI, Cursor or GitHub. Claude, ChatGPT, Codex, Cursor and GitHub are trademarks of their owners.