artifacts/bundle/skills/engineering-team/browserstack/SKILL.md
# BrowserStack Integration Run Playwright tests on BrowserStack's cloud grid for cross-browser and cross-device testing. ## Prerequisites Environment variables must be set: - `BROWSERSTACK_USERNAME` — your BrowserStack username - `BROWSERSTACK_ACCESS_KEY` — your access key If not set, inform the user how to get them from [browserstack.com/accounts/settings](https://www.browserstack.com/accounts/settings) and stop. ## Capabilities ### 1. Configure for BrowserStack ``` /pw:browserstack set
npx skillsauth add neekware/ehayeskills artifacts/bundle/skills/engineering-team/browserstackInstall 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.
Run Playwright tests on BrowserStack's cloud grid for cross-browser and cross-device testing.
Environment variables must be set:
BROWSERSTACK_USERNAME — your BrowserStack usernameBROWSERSTACK_ACCESS_KEY — your access keyIf not set, inform the user how to get them from browserstack.com/accounts/settings and stop.
/pw:browserstack setup
Steps:
playwright.config.ts// Add to playwright.config.ts
import { defineConfig } from "@playwright/test";
const isBS = !!process.env.BROWSERSTACK_USERNAME;
export default defineConfig({
// ... existing config
projects: isBS
? [
{
name: "chromelatestwindows-11",
use: {
connectOptions: {
wsEndpoint: `wss://cdp.browserstack.com/playwright?caps=${encodeURIComponent(
JSON.stringify({
browser: "chrome",
browser_version: "latest",
os: "Windows",
os_version: "11",
"browserstack.username": process.env.BROWSERSTACK_USERNAME,
"browserstack.accessKey": process.env.BROWSERSTACK_ACCESS_KEY,
}),
)}`,
},
},
},
{
name: "firefoxlatestwindows-11",
use: {
connectOptions: {
wsEndpoint: `wss://cdp.browserstack.com/playwright?caps=${encodeURIComponent(
JSON.stringify({
browser: "playwright-firefox",
browser_version: "latest",
os: "Windows",
os_version: "11",
"browserstack.username": process.env.BROWSERSTACK_USERNAME,
"browserstack.accessKey": process.env.BROWSERSTACK_ACCESS_KEY,
}),
)}`,
},
},
},
{
name: "webkitlatestos-x-ventura",
use: {
connectOptions: {
wsEndpoint: `wss://cdp.browserstack.com/playwright?caps=${encodeURIComponent(
JSON.stringify({
browser: "playwright-webkit",
browser_version: "latest",
os: "OS X",
os_version: "Ventura",
"browserstack.username": process.env.BROWSERSTACK_USERNAME,
"browserstack.accessKey": process.env.BROWSERSTACK_ACCESS_KEY,
}),
)}`,
},
},
},
]
: [
// ... local projects fallback
],
});
"test:e2e:cloud": "npx playwright test --project='chrome@*' --project='firefox@*' --project='webkit@*'"/pw:browserstack run
Steps:
BROWSERSTACK_USERNAME=$BROWSERSTACK_USERNAME \
BROWSERSTACK_ACCESS_KEY=$BROWSERSTACK_ACCESS_KEY \
npx playwright test --project='chrome@*' --project='firefox@*'
/pw:browserstack results
Steps:
browserstack_get_builds MCP tool/pw:browserstack browsers
Steps:
browserstack_get_browsers MCP tool/pw:browserstack local
For testing localhost or staging behind firewall:
npm install -D browserstack-local| Tool | When |
| ----------------------------- | --------------------------------- |
| browserstack_get_plan | Check account limits |
| browserstack_get_browsers | List available browsers |
| browserstack_get_builds | List recent builds |
| browserstack_get_sessions | Get sessions in a build |
| browserstack_get_session | Get session details (video, logs) |
| browserstack_update_session | Mark pass/fail |
| browserstack_get_logs | Get text/network logs |
Creator: Engineering Team License: MIT Source Repo:
neekware/ehaye-skillsSource Bucket:engineering-teamOriginal Path:engineering-team/playwright-pro/skills/browserstack
testing
/em -stress-test — Business Assumption Stress Testing
research
/em -postmortem — Honest Analysis of What Went Wrong
development
/em -hard-call — Framework for Decisions With No Good Options
research
/em -challenge — Pre-Mortem Plan Analysis