majiayu000/claude-skill-registry-data/webapp-testing-mshafei721-turbocat

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Tainted

Author "majiayu000" has blocked skill(s)

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.

Install

npx vskill@latest install majiayu000/claude-skill-registry-data/webapp-testing-mshafei721-turbocat

SKILL.md

The same SKILL.md was published earlier as majiayu000/claude-skill-registry/webapp-testing-mshafei721-turbocat.

Web Application Testing

Test local web applications using native Python Playwright scripts.

Helper Scripts

  • scripts/with_server.py - Manages server lifecycle (supports multiple servers)

Always run with `--help` first to see usage.

Decision Tree

User task → Is it static HTML?
├─ Yes → Read HTML file directly for selectors
│ → Write Playwright script
│
└─ No (dynamic webapp) → Is server running?
├─ No → Use with_server.py helper
│
└─ Yes → Reconnaissance-then-action:
1. Navigate and wait for networkidle
2. Take screenshot or inspect DOM
3. Identify selectors
4. Execute actions

Using with_server.py

Single server:

bash
python scripts/with_server.py --server "npm run dev" --port 5173 -- python your_automation.py

Multiple servers:

bash
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

Playwright Script Template

python
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=True)
page = browser.new_page()
page.goto('http://localhost:5173')
page.wait_for_load_state('networkidle') # CRITICAL!
# Reconnaissance
page.screenshot(path='/tmp/inspect.png', full_page=True)
# Actions
page.locator('button:has-text("Submit")').click()
browser.close()

Common Pitfall

Don't inspect DOM before networkidle on dynamic apps. Do wait for page.wait_for_load_state('networkidle') first.

Best Practices

  • Use sync_playwright() for synchronous scripts
  • Always close the browser when done
  • Use descriptive selectors: text=, role=, CSS, IDs
  • Add appropriate waits: wait_for_selector(), wait_for_timeout()

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
23
Repository forks
8
7-day trend score
21

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/majiayu000/claude-skill-registry-data/webapp-testing-mshafei721-turbocat/badge)](https://verified-skill.com/skills/majiayu000/claude-skill-registry-data/webapp-testing-mshafei721-turbocat)

Something wrong with this skill or its page? Tell us.