Help us improve
Share bugs, ideas, or general feedback.
From pw
Run tests on BrowserStack. Use when user mentions "browserstack", "cross-browser", "cloud testing", "browser matrix", "test on safari", "test on firefox", or "browser compatibility".
npx claudepluginhub ciciliaeth/claude-skills --plugin pwHow this skill is triggered — by the user, by Claude, or both
Slash command
/pw:browserstackThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Run Playwright tests on BrowserStack's cloud grid for cross-browser and cross-device testing.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
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 |