web-qa-bot
AI-powered automated QA for web apps. Smoke tests, accessibility, visual regression. Works with Cursor, Claude, ChatGPT, Copilot. Vibe-coding ready.
Best use case
web-qa-bot is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
AI-powered automated QA for web apps. Smoke tests, accessibility, visual regression. Works with Cursor, Claude, ChatGPT, Copilot. Vibe-coding ready.
Teams using web-qa-bot should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/web-qa-bot/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How web-qa-bot Compares
| Feature / Agent | web-qa-bot | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
AI-powered automated QA for web apps. Smoke tests, accessibility, visual regression. Works with Cursor, Claude, ChatGPT, Copilot. Vibe-coding ready.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# web-qa-bot
AI-powered web application QA automation using accessibility-tree based testing.
## Overview
This skill provides tools for automated QA testing of web applications. It uses browser accessibility trees for reliable element detection instead of fragile CSS selectors.
## Installation
```bash
npm install -g web-qa-bot agent-browser
agent-browser install
```
## Commands
### Quick Smoke Test
```bash
web-qa-bot smoke https://example.com
```
Runs basic health checks:
- Page loads successfully
- No console errors
- Navigation elements present
- Images have alt text
### Run Test Suite
```bash
web-qa-bot run ./tests/suite.yaml --output report.md
```
### Generate PDF Report
```bash
web-qa-bot report ./results.json -o report.pdf -f pdf
```
## Use Cases
### 1. Quick Site Health Check
```bash
# Smoke test a production URL
web-qa-bot smoke https://app.example.com --checks pageLoad,consoleErrors,navigation
```
### 2. Pre-deployment QA
Create a test suite and run before each deployment:
```yaml
# tests/critical-paths.yaml
name: Critical Paths
baseUrl: https://staging.example.com
tests:
- name: Login flow
steps:
- goto: /login
- type: { ref: Email, text: test@example.com }
- type: { ref: Password, text: testpass }
- click: Sign In
- expectVisible: Dashboard
- expectNoErrors: true
```
```bash
web-qa-bot run ./tests/critical-paths.yaml --output qa-report.pdf -f pdf
```
### 3. Monitor for Regressions
```bash
# Run tests and fail CI if issues found
web-qa-bot run ./tests/smoke.yaml || exit 1
```
### 4. Programmatic Testing
```typescript
import { QABot } from 'web-qa-bot'
const qa = new QABot({
baseUrl: 'https://example.com',
headless: true
})
await qa.goto('/')
await qa.click('Get Started')
await qa.snapshot()
qa.expectVisible('Sign Up')
await qa.close()
```
## Integration with agent-browser
This tool wraps agent-browser CLI for browser automation:
```bash
# Connect to existing browser session
web-qa-bot smoke https://example.com --cdp 18800
# Run headed for debugging
web-qa-bot run ./tests/suite.yaml --no-headless
```
## Test Results Format
Results are returned as structured JSON:
```json
{
"name": "Smoke Test",
"url": "https://example.com",
"summary": {
"total": 4,
"passed": 3,
"failed": 0,
"warnings": 1
},
"tests": [
{
"name": "Page Load",
"status": "pass",
"duration": 1234
}
]
}
```
## Tips
1. **Use role-based selectors** - More reliable than CSS classes
2. **Check console errors** - Often reveals hidden issues
3. **Test both navigation methods** - Direct URL and in-app routing
4. **Screenshot on failure** - Automatic in test suites
5. **Monitor for modals** - Can block interactions
## Report Formats
- **Markdown** - Default, human-readable
- **PDF** - Professional reports via ai-pdf-builder
- **JSON** - Machine-readable for CI/CD
## Troubleshooting
### "agent-browser not found"
```bash
npm install -g agent-browser
agent-browser install
```
### "Element not found"
Take a snapshot first to see available refs:
```bash
agent-browser snapshot
```
### "Timeout waiting for element"
Increase timeout or check if element is behind a loading state:
```yaml
steps:
- waitMs: 2000
- waitFor: "Loading" # Wait for loading to appear
- waitFor: "Content" # Then wait for content
```
## Links
- [GitHub](https://github.com/NextFrontierBuilds/web-qa-bot)
- [npm](https://www.npmjs.com/package/web-qa-bot)Related Skills
bgo
Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.
writing-skills
Use when creating new skills, editing existing skills, or verifying skills work before deployment
writing-claude-md-files
Use when creating or updating CLAUDE.md files for projects or subdirectories - covers top-level vs domain-level organization, capturing architectural intent and contracts, and mandatory freshness dates
writing-ad-copy
Creates platform-specific ad copy for paid campaigns with A/B variants. Use when the user asks about ad copy, PPC ads, Google Ads, Facebook ads, LinkedIn ads, or paid campaign copy.
write-rich-descriptions
Use metadata for system models (business/technical context) and markdown tables for deployment models (infrastructure specs). Makes models queryable and self-documenting.
write-ida-script
Write an IDAPython script using verified API workflows from the IDA SDK MCP server
write-documents
Apply when creating or editing INFO, SPEC, IMPL, TEST, FIX documents, or STRUT plans
write-coding-standards-from-file
Write a coding standards document for a project using the coding styles from the file(s) and/or folder(s) passed as arguments in the prompt.
wrap
WRAP decision framework countering the four villains—narrow framing, confirmation bias, short-term emotion, and overconfidence. Use for major decisions or when stuck between options.
worktree-wizard-integration
This skill should be used when the user asks to "set up worktree-wizard", "integrate worktree-wizard", "add worktree support", "create docker-compose for worktrees", "add wt labels", "configure hot-reload for Docker", "set up volume mounts", "isolate ports per worktree", "onboard project to worktree-wizard", or needs guidance on wt.base-port labels, WT_* env var patterns, slot-based port isolation, dev-mode Dockerfiles, or hot-reload configurations per framework.
workspace
Dynamic multi-repo and monorepo awareness for Claude Code. Analyze workspace topology, track API contracts, and maintain cross-repo context.
workshop-review-technical
Review workshop content for technical accuracy