ruizrica/agent-pi/qa-web

Trust tier 2
  • community
LLM review pending
Source check pending

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

QA test skill for web applications using agent-browser. Tests forms, navigation, responsive layouts, state persistence via cookies/localStorage, and visual regression. The web counterpart to agent-device — together they cover native + web testing. Invoke when user says "test the web app", "test localhost", "QA the website", "test the form", "verify responsive layout", "run web tests", "test browser", or any task requiring automated web application testing.

Install

npx vskill@latest install ruizrica/agent-pi/qa-web

SKILL.md

qa-web

Web application QA testing using agent-browser. The web counterpart to agent-device — together they provide full coverage for apps with both native and web versions.

When to Use

ScenarioTool
Test native iOS/Android appagent-device + CDP
Test web app / localhostagent-browser (this skill)
Test React Native Webagent-browser (this skill)
Test responsive layoutsagent-browser (this skill)
Test forms and navigationagent-browser (this skill)

Core Workflow

Every web test follows the same pattern as native tests:

  1. Navigate: agent-browser open <url>
  2. Snapshot: agent-browser snapshot -i (get element refs)
  3. Interact: Use refs to click, fill, select
  4. Re-snapshot: After navigation/DOM changes, get fresh refs
  5. Assert: Verify URL, text, element state
bash
agent-browser open http://localhost:3000/login
agent-browser snapshot -i
# Output: @e1 [input type="email"], @e2 [input type="password"], @e3 [button] "Sign In"
agent-browser fill @e1 "user@example.com"
agent-browser fill @e2 "password123"
agent-browser click @e3
agent-browser wait --load networkidle
agent-browser snapshot -i # Check result

Configuration

Set web-specific values in qa.config.sh:

bash
export WEB_BASE_URL="http://localhost:3000" # Your web app URL
export WEB_SESSION="qa" # Browser session name
export WEB_VIEWPORT_WIDTH=1280 # Default viewport
export WEB_VIEWPORT_HEIGHT=720

Usage

Run example web test
bash
bash .pi/skills/qa-automation/qa-web/run.sh
Run with headed browser (see what's happening)
bash
export WEB_HEADED=true
bash .pi/skills/qa-automation/qa-web/flows/example-web-test.sh

Helper Library — web-helpers.sh

Source this in your web test scripts for consistent patterns:

bash
source .pi/skills/qa-automation/qa-web/lib/web-helpers.sh
Available Functions
FunctionPurpose
web_open "url"Navigate to URL
web_snapshotGet interactive element refs
web_click "ref_or_selector"Click element
web_fill "ref" "text"Fill input field
web_select "ref" "value"Select dropdown option
web_wait "selector_or_ms"Wait for element/time
web_screenshot "name"Screenshot with naming convention
web_get_text "ref"Get element text
web_get_urlGet current URL
web_get_titleGet page title
web_is_visible "ref"Check element visibility
web_assert_url "pattern"Assert URL matches pattern
web_assert_title "text"Assert page title
web_assert_text "text"Assert text visible on page
web_scroll "direction" [px]Scroll page
web_save_state "file"Save cookies/storage
web_load_state "file"Restore saved state

Test Patterns

Form Testing
bash
source web-helpers.sh
web_open "$WEB_BASE_URL/signup"
web_snapshot
web_fill @e1 "Jane Doe"
web_fill @e2 "jane@example.com"
web_fill @e3 "password123"
web_select @e4 "California"
web_click @e5 # Submit
web_wait --load networkidle
web_assert_url "**/dashboard"
web_assert_text "Welcome, Jane"
web_screenshot "signup-success"
Navigation Testing
bash
web_open "$WEB_BASE_URL"
web_snapshot
# Click nav links
web_click @e3 # "About" link
web_assert_url "**/about"
web_screenshot "about-page"
# Go back
agent-browser back
web_assert_url "**/"
Responsive Testing
bash
# Desktop
agent-browser set viewport 1440 900
web_open "$WEB_BASE_URL"
web_screenshot "desktop-home"
# Tablet
agent-browser set viewport 768 1024
web_screenshot "tablet-home"
# Mobile
agent-browser set viewport 375 812
web_screenshot "mobile-home"
State Persistence (Cookies/Storage)
bash
# Login and save state
web_open "$WEB_BASE_URL/login"
web_fill @e1 "user@example.com"
web_fill @e2 "password"
web_click @e3
web_wait --load networkidle
web_save_state "/tmp/qa-auth-state.json"
# Reuse in future tests
web_load_state "/tmp/qa-auth-state.json"
web_open "$WEB_BASE_URL/dashboard"
web_assert_text "Welcome" # Still logged in
Accessibility Testing
bash
web_open "$WEB_BASE_URL"
agent-browser snapshot # Full a11y tree
agent-browser screenshot --full /tmp/qa-full-page.png

File Structure

qa-web/
├── SKILL.md # This file
├── lib/
│ └── web-helpers.sh # Web test helper functions
├── flows/
│ └── example-web-test.sh # Example test
└── run.sh # Runner

Integration with Native Tests

For apps with both native and web versions, use both tools in the same test run:

bash
# Test native app
bash .pi/skills/qa-automation/qa-scroll/run.sh
# Test web app
bash .pi/skills/qa-automation/qa-web/run.sh
# Both results in /tmp/qa-tests/

Troubleshooting

ProblemSolution
"agent-browser: command not found"Install: npm install -g agent-browser
Browser launches but page is blankCheck URL and dev server: curl $WEB_BASE_URL
Refs invalidated after clickAlways re-snapshot after navigation/DOM changes
Can't access localhostagent-browser runs locally — it CAN access localhost (unlike web_remote)
Headed mode not showingSet export WEB_HEADED=true before running

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

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

Source

Popularity

Repository stars
205
Repository forks
35
7-day trend score
27

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/ruizrica/agent-pi/qa-web/badge)](https://verified-skill.com/skills/ruizrica/agent-pi/qa-web)

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