.claude/skills/browser-e2e-tester/SKILL.md
Browser-based E2E testing for feature verification. Use when running end-to-end tests, validating features in browser, verifying user flows, or testing feature completion.
npx skillsauth add adaptationio/skrillz browser-e2e-testerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Runs browser-based end-to-end tests to verify feature implementation meets acceptance criteria.
from scripts.e2e_tester import E2ETester
tester = E2ETester(project_dir)
result = await tester.test_feature("auth-001")
if result.passed:
print(f"Feature verified: {result.feature_id}")
else:
print(f"Failed: {result.failures}")
results = await tester.test_all_features()
print(f"Passed: {results.passed}/{results.total}")
┌─────────────────────────────────────────────────────────────┐
│ E2E TEST WORKFLOW │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. SETUP │
│ ├─ Load feature acceptance criteria │
│ ├─ Start test server (if needed) │
│ ├─ Initialize browser automation │
│ └─ Set test timeout │
│ │
│ 2. EXECUTE │
│ ├─ Navigate to feature entry point │
│ ├─ Execute test steps │
│ ├─ Capture screenshots on failure │
│ └─ Record test artifacts │
│ │
│ 3. VERIFY │
│ ├─ Check expected outcomes │
│ ├─ Validate UI state │
│ ├─ Verify API responses │
│ └─ Assert data persistence │
│ │
│ 4. REPORT │
│ ├─ Generate test report │
│ ├─ Update feature status │
│ └─ Store failure artifacts │
│ │
└─────────────────────────────────────────────────────────────┘
@dataclass
class TestResult:
feature_id: str
passed: bool
duration_ms: int
steps_executed: int
steps_passed: int
failures: list[str]
screenshots: list[Path]
artifacts: dict
| Framework | Integration | Use Case | |-----------|-------------|----------| | Playwright | Native | Modern web apps | | Puppeteer | Adapter | Chrome-focused | | Selenium | Adapter | Legacy browsers | | Cypress | CLI | Component tests |
{
"feature_id": "auth-001",
"acceptance_criteria": [
{
"step": "Navigate to login page",
"action": "goto",
"target": "/login"
},
{
"step": "Enter credentials",
"action": "fill",
"target": "#email",
"value": "[email protected]"
},
{
"step": "Submit form",
"action": "click",
"target": "button[type=submit]"
},
{
"step": "Verify redirect",
"action": "assert_url",
"expected": "/dashboard"
}
]
}
references/E2E-PATTERNS.md - Test patternsreferences/BROWSER-AUTOMATION.md - Automation guidescripts/e2e_tester.py - Core testerscripts/browser_controller.py - Browser automationscripts/test_reporter.py - Report generationscripts/acceptance_parser.py - Criteria parserdevelopment
Setup secure web-based terminal access to WSL2 from mobile/tablet via ttyd + ngrok/Cloudflare/Tailscale. One-command install, start, stop, status. Use when you need remote terminal access, web terminal, browser-based shell, or mobile access to WSL2 environment.
development
Complete development workflows where Claude writes the code while Gemini and Codex provide research, planning, reviews, and different perspectives. Claude remains the main developer. Use for complex projects requiring expert planning and multi-perspective reviews.
development
Systematic progress tracking for skill development. Manages task states (pending/in_progress/completed), updates in real-time, reports progress, identifies blockers, and maintains momentum. Use when tracking skill development, coordinating work, or reporting progress.
testing
Comprehensive testing workflow orchestrating functional testing, example validation, integration testing, and usability assessment. Sequential workflow for complete skill testing from examples through scenarios to integration validation. Use when conducting thorough testing, pre-deployment validation, ensuring skill functionality, or comprehensive quality checks.