Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/mostafa-drz/claude-skillsnpx agentmods add skills/mostafa-drz/claude-skills/ui-testWrote 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.
[](https://agentmods.dev/skills/mostafa-drz/claude-skills/ui-test)<a href="https://agentmods.dev/skills/mostafa-drz/claude-skills/ui-test"><img src="https://agentmods.dev/badge/skills/mostafa-drz/claude-skills/ui-test/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/mostafa-drz/claude-skills/ui-test"><img src="https://agentmods.dev/badge/skills/mostafa-drz/claude-skills/ui-test.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00190 | $0.06529 |
| Opus 5 | $0.00095 | $0.03265 |
| Sonnet 5 | $0.00038 | $0.01306 |
| Haiku 4.5 | $0.00019 | $0.00653 |
Grade A, and why
ui-test scanned grade A with 1 finding 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 10d ago.
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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- Bash(curl *) How it starts
The opening of the file, as written. The whole thing — 498 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Preferences
On startup, use Read to load ~/.claude/skills/ui-test/preferences.md. If missing, treat as first-run (see First-time detection).
Defaults when no preferences exist:
output-root:./test-results/ui-test/(cwd-relative when in a project; falls back to~/.claude/skills/ui-test/runs/outside a project)viewport:1440x900(single) — accepts a comma list for matrix runs (e.g.375x812,1440x900)categories:e2e,visual,a11y,perf(debug is a separate mode, not a category)screenshot-strategy:per-step(per-step / on-fail / never)a11y-severity-floor:serious(minor / moderate / serious / critical — anything at-or-above is a failure)perf-budget:lcp<=2500,cls<=0.1,inp<=200,js-heap<=50mb— overridable per-run via--perf-budgetverbosity:verbose-on-failure(concise / detailed / verbose-on-failure)spec-priority:inline-first(inline-first / project-first / both)auto-baseline:true(record on first run, diff thereafter)auto-open-report:trueconfirm-plan:always(always / only-multi-step / never)
Also load ~/.claude/skills/ui-test/feedback-journal.md if present — surface the one-line Signal: from the latest 5 sessions to bias defaults (false-positive categories get pre-deselected, baselines flagged-as-flaky get re-recorded, etc.).
Context
On startup, use Bash to detect: today's date (date +%Y-%m-%d-%H%M), the current working directory (pwd), whether ./tests/ui/ exists, whether the user is inside a git repo (git rev-parse --is-inside-work-tree — silently fail if not), and whether the configured output-root exists. Do NOT call any browser tool yet — preflight runs in Step 1.
Command routing
Check $ARGUMENTS:
help→ display help, stopconfig→ run config flow, stopreset→ deletepreferences.md+feedback-journal.md+sessions/+resume-state.md, confirm, stopfeedback→ collect ratings on the most recent run (see Feedback section), stophistory→ list recent run folders with title, verdict, timestamp, stopsetup→ walk through Claude-in-Chrome extension setup (see Setup section), stoprecord <name>→ take the most recent inline run and persist it as./tests/ui/<name>.md, stop--debug <url|description>→ enter interactive debug mode (see Debug section), stop--file <path>→ load a single project test file and run it--suite <glob>→ resolve the glob under./tests/ui/, run each match in order- anything else → treat
$ARGUMENTSas an inline description, run it (Step 1 onward)
What ships with it
3 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.
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.
- 10d ago First seen · 498 lines · 190 tokens per session scan A 06f3f126159d
ui-test is a skill published in the GitHub repository mostafa-drz/claude-skills (4 stars, last pushed 27d ago), licensed MIT. It adds 190 tokens to every session and 6,529 once invoked, about $0.0010 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
shipkit-qa-visual
Visual QA using Playwright as a browser automation library. --setup installs Playwright and creates ui-goals.json; default mode writes inline scripts to navigate, screenshot, and report against goals.
playwright-pro
Production-grade Playwright testing skill for E2E suites, flaky test diagnosis, browser automation, migration from Cypress/Selenium, CI integration, visual checks, and regression validation.
browser-qa-delivery
Validate a Design Studio HTML artifact in the sandbox browser, fix rendering and runtime defects, then deliver exactly the tested file.
ag-testar-e2e
QA Playwright automatizado: navega como usuario, captura console/rede/UI quebrada e gera relatorio para fluxos criticos e regressao.
ag-testar-e2e-batch
Suite E2E completa com pre-flight de infra, batches de 10-20 testes, auto-fix de falhas (seletores/mocks/timing), retry ate 3 ciclos, progresso em /tmp/e2e-progress.md.
ag-referencia-playwright
Patterns canonicos Playwright 2026 — Chromium isolado, web-first assertions, locators semanticos, persistent context. Carregar antes de QAT/E2E/browser test.