-
Notifications
You must be signed in to change notification settings - Fork 1.6k
feat: Claude Code skill for browser testing workflows + CI integration #1116
Copy link
Copy link
Open
Description
Proposal
We've built a comprehensive browser testing skill around agent-browser and would like to contribute it upstream.
What the skill covers
1. Flow testing patterns
- CRUD flows with @ref handle extraction (not fragile text= selectors)
- 7 reusable bash helper functions (ab_find_and_click, ab_fill_field, ab_verify_text, etc.)
- HAR capture per flow for network analysis
- Test data cleanup via API (prefixed test data for easy identification)
2. Visual regression
- Screenshot capture → baseline diff pipeline
- Pixel diff threshold tuning (1% strict, 2% CI gate)
- PR comment reporting with diff summaries
- Baseline management (commit vs auto-generate)
3. Auth patterns
- 3-tier auth fallback: persistent state → auth vault → full login
- Cross-domain state save (v0.23.1+) for cookie persistence
- 1Password integration for credential injection
- CI cache for auth state (shared across workflows)
4. Observability dashboard integration
- Dashboard wrapper script (start/stop/status)
- Portless route registration for named dashboard URL
--dashboardflag on flow scripts for opt-in live viewport- Stream enable/disable lifecycle management
5. CI workflow templates
- Non-blocking → blocking gate promotion path
- Skip label escape hatch (
skip-browser-tests) - Unique port allocation per workflow (avoid collision)
- Artifact upload (screenshots, HAR, logs)
- PR comment on failure with collapsible details
6. .expect config patterns
- Route mapping (50+ routes, glob patterns)
- HMAC cookie auth strategy
- State profile + max age settings
- Accessibility snapshot diffing
Tested against
agent-browser v0.23.4 with 3 CRUD flows, 4 read-only flows, 5 saved .expect scenarios, 6 MCP tools, and CI pipelines on self-hosted M4 Max runner.
Format
Ready as skills/agent-browser/SKILL.md. Happy to PR.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels