Dev & Engineering playwrightweb-testingbrowser-automationfrontend-debuggingscreenshotsconsole-logspython

Web App Testing Skill

Automates testing of local web applications with Playwright: verify frontend behavior, debug UI, capture screenshots and browser logs.

FollowSkills review · FSRS-2.0
Use with care
49/ 100 5-point scale 2.5 / 5
1 2 3 4 5 6
1Trust13 / 25 · 2.6/5

The skill is local automation: headless Chromium, local port polling, and server cleanup after use; no network exfiltration or credential access; no red-line risk observed. However, with_server.py executes user-supplied commands with shell=True and no confirmation or allowlisting, and SKILL.md does not disclose permission scope, data flow, or rollback — hence the deduction.

2Reliability10 / 20 · 2.5/5

with_server.py is self-consistent with clear validation (server/port count matching, timeout errors, finally cleanup); failure messages are diagnosable. But no tests or CI cover this skill; examples hardcode paths like /mnt/user-data/outputs (fail without notice if absent); PIPEd stdout/stderr are never drained, risking deadlock on large output. Static-review cap is 10.

3Adaptability8 / 15 · 2.7/5

Scenario is clear (local webapp testing) with a decision tree covering static/dynamic pages and single/multiple servers; trigger semantics are reasonably precise. Non-fit boundaries (remote sites, GUI-needed cases) are undeclared, Playwright/browser installation is assumed without instructions, and everything is English-only with no mainland-China considerations — deducted accordingly.

4Convention8 / 15 · 2.7/5

SKILL.md is well-layered (decision tree → examples → reference files) with a license pointer to LICENSE.txt, but that file is absent from the evidence; the skill has no version, changelog, known-limitations section, or FAQ, and maintenance responsibility is only inferable at repo level — hence the deduction.

5Effectiveness6 / 15 · 2.0/5

The core flow (start server → run Playwright script → recon DOM → act) is complete, and with_server.py adds real marginal value (multi-server management, readiness probing, cleanup). But examples use placeholder URLs/paths requiring user adaptation, and nothing was executed; capped at 7 statically, scored 6.

6Verifiability4 / 10 · 2.0/5

Example and helper scripts are auditable primary material, and claims (e.g., the networkidle pitfall) match the code. However, the repository tests do not cover this skill's key paths, there is no CI evidence or third-party reproduction, so evidence types are thin — scored 4.

Evidence confidence:Low Reviewed Sep 09, 2026 Reviewed revision d76a4f638968
Before you use it
  • This is a static source review (low confidence); no scripts were executed and runtime behavior is unverified.
  • with_server.py runs arbitrary command strings via shell=True, and its output pipes can deadlock on large output; review commands before use.
  • Hardcoded paths such as /mnt/user-data/outputs in examples do not exist in most local environments; create the directory or edit paths first.
  • Playwright and chromium browser binaries must be installed separately; SKILL.md gives no installation guidance.
  • LICENSE.txt referenced by SKILL.md is absent from the reviewed files; treat the repo-level MIT LICENSE as authoritative.
  • The skill has no independent version or changelog; diff against upstream when upgrading.
See the full review method →

What does this skill do, and when should you use it?

webapp-testing is a Python Playwright-based skill for interacting with and testing local web applications. It ships a with_server.py helper that manages the lifecycle of one or more dev servers, so the agent only writes plain Playwright automation logic. It prescribes a reconnaissance-then-action workflow — wait for networkidle, screenshot or inspect the DOM, discover selectors, then act — to avoid the common mistake of inspecting the DOM before JavaScript has executed. It works well as the execution layer for agent-driven end-to-end frontend verification.

The skill instructs the model to write native Python Playwright scripts against local web apps. It uses scripts/with_server.py to start and manage servers (multiple --server flags support a backend plus frontend, running the automation script once the ports are ready), then launches headless Chromium, navigates to the page, waits for networkidle, takes screenshots, reads DOM content and discovered elements like buttons, performs clicks/inputs, and captures console logs. The examples/ folder provides three reference scripts: element discovery, static HTML automation via file:// URLs, and console log capture.

  1. A developer with a local Vite/Next.js dev server who wants an agent to automatically verify that a frontend interaction (button click, form submit) works.
  2. A full-stack project needing both backend API and frontend running for end-to-end checks, handled in one command via with_server.py's multi-server mode.
  3. Someone holding a static HTML file who needs to validate structure and interaction selectors — the skill reads the file directly and tests it via a file:// URL.
  4. Debugging UI rendering or console errors where full-page screenshots and console log capture are needed to diagnose the issue.

What are this skill's strengths and limitations?

Pros
  • with_server.py automates server lifecycle and supports multiple servers (backend + frontend) in one command.
  • Clear decision tree and best practices like 'wait for networkidle before inspecting DOM' reduce common automation failures.
  • Helper scripts are designed as black-box invocations, preventing large files from cluttering the agent's context window.
  • examples/ offers three directly reusable patterns: element discovery, static HTML, and console logging.
Limitations
  • Requires Python and Playwright (including browser binaries) preinstalled; the skill provides no setup script.
  • Docs assume headless Chromium and do not mention support for other browsers.
  • The license is stated as 'see LICENSE.txt'; exact terms require checking the repository file.
  • SKILL.md includes no dedicated test suite or version information for this skill itself.

How do you install this skill?

The skill lives at mini_agent/skills/webapp-testing/ in the Mini-Agent repository (https://github.com/MiniMax-AI/Mini-Agent), bundled with 15 skills. In Development Mode, clone the repo and run git submodule update --init --recursive to initialize skills; in Quick Start Mode, install via uv tool install git+https://github.com/MiniMax-AI/Mini-Agent.git. Place the skill folder where your Claude Code skills are discovered (exact placement is not detailed in the source docs). Playwright must be installed beforehand (pip install playwright && playwright install chromium — this command is not in the source docs; it is standard Playwright setup).

How do you use this skill?

  1. Run automation against a single dev server: python scripts/with_server.py --server "npm run dev" --port 5173 -- python your_automation.py; for backend + frontend, repeat the --server flag. 2. Write only Playwright logic in your automation script — servers are managed for you, e.g. launch headless Chromium with sync_playwright(), page.goto('http://localhost:5173'), page.wait_for_load_state('networkidle'), then act. 3. Always run any bundled script with --help first; do not read the source unless a custom solution is truly necessary, to avoid polluting your context window. 4. For dynamic apps, inspect (screenshot/DOM) before acting — the reconnaissance-then-action pattern.

FAQ

What runtime environment does it need?
A shell-capable environment with Python and Playwright (including Chromium) installed. Since it tests local web apps, the corresponding dev server must be startable locally; page access is localhost network activity.
Can it run a backend and frontend together?
Yes. with_server.py accepts multiple --server flags, e.g. starting `python server.py` on port 3000 and `npm run dev` on port 5173, then running the automation script once both ports are ready.
Why wait for networkidle before inspecting the DOM?
Dynamic apps render via JavaScript, so inspecting too early yields an unrendered page and missing selectors. The skill explicitly calls this out as the most common pitfall and requires calling page.wait_for_load_state('networkidle') first.
Can it test live production websites?
The skill is scoped to local web applications — its decision tree and server management are built around local environments. No workflow for public sites is provided, so it should not be used for that purpose as documented.

More skills from this repository

All from MiniMax-AI/Mini-Agent

Dev & Engineering

MCP Server Builder Guide

A guided skill that walks you through building high-quality MCP servers for LLMs, from research and planning through implementation to evaluation.

Design & Frontend

Slack GIF Creator Toolkit

Generates Slack-optimized animated GIFs for both messages and emoji, with built-in validators for Slack's size limits — including the strict 64KB emoji cap.

Design & Frontend

Artifacts Builder — Multi-Component Frontend Artifact Suite

Scaffold and bundle complex claude.ai HTML artifacts with React, Tailwind CSS, and shadcn/ui, shipped as a single shareable file.

Design & Frontend

Anthropic Brand Guidelines Skill

A skill that packages Anthropic's official brand colors and typography rules so any document or artifact can adopt a consistent brand look without manually hunting for hex values.

Dev & Engineering

Skill Creator

A meta-skill that guides you through building high-quality skills for Claude, from requirement gathering to packaged distribution.

Design & Frontend

Theme Factory

Apply professional color and font themes to slides, docs, reports, and landing pages—or generate a new theme on the fly.

Productivity & Collaboration

Internal Comms Skill

A skill for writing internal communications — status reports, 3P updates, company newsletters, FAQs and incident reports — in your company's preferred formats.

Data & Analysis

xlsx Spreadsheet Skill

Equips an agent to create, edit, and analyze Excel files professionally, with zero formula errors and preserved formulas and formatting.

Productivity & Collaboration

PPTX Presentation Skill

Enables an AI agent to create, edit, and analyze PowerPoint (.pptx) files end to end — from blank decks to template-based and in-place XML editing.

Design & Frontend

Canvas Design Skill

Turns a prompt into an original poster or artwork: it first writes a design philosophy manifesto, then renders it on canvas with museum-grade craftsmanship.

Dev & Engineering

Template Skill (Mini Agent template-skill)

A blank skill template bundled with Mini Agent, giving developers a minimal valid skeleton to copy when authoring their own Agent Skills.

Related skills