webapp-testing

webapp-testing is a skill for Claude Code, Codex from rakib-nyc/skillassay. It costs 35 tokens per session (884 once invoked), scanned A, a copy of webapp-testing, Apache-2.0.

A Playwright-based toolkit for testing local web applications in a browser. Playwright is software that can open pages, interact with them, inspect browser logs, and take screenshots.

In plain words
What is it for?
Testing frontend behavior, debugging user-interface issues, checking browser logs, and capturing screenshots.
Why use it?
It helps verify that a web interface works and makes visual or browser errors easier to investigate.

Skill for Claude CodeCodex

Part of the example-skills plugin — 12 skills, 3 agents shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/rakib-nyc/skillassay/webapp-testing
Any agent
npx skills add rakib-nyc/skillassay --skill webapp-testing
Clone the repo
git clone --depth 1 https://github.com/rakib-nyc/skillassay

Made for: Claude Code, Codex.

Or install example-skills, the plugin that ships this one along with the rest of its 12 skills, 3 agents.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for webapp-testing

README.md
[![agentmods](https://agentmods.dev/badge/skills/rakib-nyc/skillassay/webapp-testing.svg)](https://agentmods.dev/skills/rakib-nyc/skillassay/webapp-testing)
Your own site
<a href="https://agentmods.dev/skills/rakib-nyc/skillassay/webapp-testing"><img src="https://agentmods.dev/badge/skills/rakib-nyc/skillassay/webapp-testing.svg" alt="Measured on agentmods" height="20"></a>
Per session 35 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 884 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin 98% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00035 $0.00884
Opus 5 $0.00017 $0.00442
Sonnet 5 $0.00007 $0.00177
Haiku 4.5 $0.00003 $0.00088

Measured 4d ago against content hash 51b7349e77ec, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

webapp-testing scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

The scan reads SKILL.md. This mod also ships 4 executable files (examples/console_logging.py, examples/element_discovery.py, examples/static_html_automation.py, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

98% identical to webapp-testing — 2 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

test/fixtures/anthropic-official/skills/webapp-testing/SKILL.md · 96 lines

How it starts

The opening of the file, as written. The whole thing — 96 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Web Application Testing

To test local web applications, write native Python Playwright scripts.

Helper Scripts Available:

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

Always run scripts with --help first to see usage. DO NOT read the source until you try running the script first and find that a customized solution is abslutely necessary. These scripts can be very large and thus pollute your context window. They exist to be called directly as black-box scripts rather than ingested into your context window.

Decision Tree: Choosing Your Approach

User task → Is it static HTML?
    ├─ Yes → Read HTML file directly to identify selectors
    │         ├─ Success → Write Playwright script using selectors
    │         └─ Fails/Incomplete → Treat as dynamic (below)
    │
    └─ No (dynamic webapp) → Is the server already running?
        ├─ No → Run: python scripts/with_server.py --help
        │        Then use the helper + write simplified Playwright script
        │
        └─ Yes → Reconnaissance-then-action:
            1. Navigate and wait for networkidle
            2. Take screenshot or inspect DOM
            3. Identify selectors from rendered state
            4. Execute actions with discovered selectors

Example: Using with_server.py

To start a server, run --help first, then use the helper:

Single server:

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

Multiple servers (e.g., backend + frontend):

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

To create an automation script, include only Playwright logic (servers are managed automatically):

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=True) # Always launch chromium in headless mode
    page = browser.new_page()
    page.goto('http://localhost:5173') # Server already running and ready
    page.wait_for_load_state('networkidle') # CRITICAL: Wait for JS to execute
    # ... your automation logic
    browser.close()

Read the full file on GitHub · 96 lines

Files

What ships with it

5 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 96 lines · 35 tokens per session scan A 51b7349e77ec

Subscribe to this mod's changes

webapp-testing is a skill published in the GitHub repository rakib-nyc/skillassay (2 stars, last pushed 18d ago), licensed Apache-2.0. It adds 35 tokens to every session and 884 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. It is 98% identical to webapp-testing, differing in 2 lines, and is treated as a copy.

Related

Other skills, from other repositories

deep-init

Generate an agent-agnostic, two-tier context layer for a codebase — a lean, always-loaded CLAUDE.md plus a deep, on-demand .ai/docs/ layer (business rules, live DB schema + ORM drift, cross-component workflows, and the WHY: ADRs + a knowledge log), every claim grounded to file:line and verified to exist. Built for…

deepfusionlabs/deep-init · 128 tokens

ruleblast

Git diff for AI agent repository instructions. Shows the blast radius of AGENTS.md and CLAUDE.md changes. Use when Git cannot show which agent inherited the edit, a Codex vs Claude Code split, or why one path inherited a stack.

Kpoiut/ruleblast · 53 tokens

agent-rules

Rewrites or audits text so it reads plainly: answer first, no preamble, no hype adjectives, no marketing voice, sentences short enough to read once. Applies a named ruleset plus ASD-STE100 Simplified Technical English. Use when asked to clean up, tighten, de-slop, or humanise a draft, a README, a release note, a…

tornikegomareli/agent-rules · 126 tokens

context-diet

Measure and compact an oversized agent-context file (CLAUDE.md, .cursorrules, AGENTS.md, a system prompt) without losing rules, or safely run reversible bounded, reversible ablation when intentional/aggressive context removal is requested. Triggers: "CLAUDE.md too big", "over the char limit", "context file too large"…

gaia-research/skill-context-diet · 110 tokens

contextdocs

Your AI agent maintains its own context files — a Claude Code plugin with an AGENTS-first model that covers Codex, Copilot, Cursor, Gemini, and 3 more tools. Signal Gate filtering, Context Guard hooks, health scoring, and MEMORY.md promotion.

littlebearapps/contextdocs · 56 tokens

review

Review a change and report actionable findings.

seojoonkim/agentlinter · 10 tokens