webapp-testing — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited webapp-testing (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Test web applications using Python Playwright scripts.
User task → Is it static HTML?
├─ Yes → Read HTML file directly for selectors
│ └─ Write Playwright script
│
└─ No (dynamic webapp) → Is server already running?
├─ No → Start server first, then test
│
└─ Yes → Reconnaissance-then-action:
1. Navigate and wait for networkidle
2. Take screenshot or inspect DOM
3. Identify selectors from rendered state
4. Execute actionsfrom 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: Wait for JS
# Reconnaissance
page.screenshot(path='/tmp/inspect.png', full_page=True)
# Actions
page.click('button#submit')
browser.close() page.screenshot(path='/tmp/inspect.png', full_page=True)
content = page.content()
page.locator('button').all()❌ Inspect DOM before waiting for networkidle ✅ Always page.wait_for_load_state('networkidle') first
sync_playwright() for synchronous scriptstext=, role=, CSS, IDswait_for_selector(), wait_for_timeout()headless=True modeUse this skill for the capability described in this document.
Use this skill when the request matches the capability, constraints, and activation cues described below.
Follow the primary workflow, commands, and decision points documented in the sections below.
Use the examples and snippets already present in this document whenever they apply to the task.
Use any linked scripts, assets, reference files, and companion resources mentioned in this document.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.