[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71AY266JB8YKJY2HTP9V2M7":3,"skill-same:01M71AY266JB8YKJY2HTP9V2M7":79},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":28,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":55,"commitSha":56,"skillDirectory":57,"forksCount":58,"repositoryHtmlUrl":59,"repositoryHomepageUrl":60,"ownerHtmlUrl":61,"ownerBlogUrl":62,"ownerDescription":63,"updatedAt":64,"install":65,"resources":78},"01M71AY266JB8YKJY2HTP9V2M7","playwright",null,"End-to-end testing with Playwright — generate, run, and debug E2E tests.","ariadoss\u002Fsuperskills","ariadoss","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F414341?v=4","01M71AC7383PT6JCRZSQJ4AVTM","Danilo Stern-Sapad","01M71AC73Y7NTBTJ9KQYNENRRE",12,"MIT","https:\u002F\u002Fgithub.com\u002Fariadoss\u002Fsuperskills\u002Fblob\u002Fmain\u002Fskills\u002Fplaywright\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[5,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"with","generate","run","e2e tests","read","end","write","testing","edit","grep","tests","e2e","debug","Bash","2026-11-10 10:12:30",false,"---\nname: playwright\ndescription: |\n  End-to-end testing with Playwright — generate, run, and debug E2E tests.\nallowed-tools:\n  - Bash\n  - Read\n  - Write\n  - Edit\n  - Grep\n  - Glob\n---\n\n# Playwright E2E Testing\n\nGenerate and run Playwright end-to-end tests for web applications.\n\n## Prerequisites\n\n```bash\nnpx playwright --version\n```\n\nIf not installed:\n```bash\nnpm init playwright@latest\n# or add to existing project:\nnpm install -D @playwright\u002Ftest && npx playwright install\n```\n\n## Workflow\n\n### 1. Analyze\nRead the source files for the page\u002Fcomponent to test. Understand routes, interactive elements, and expected behaviors.\n\n### 2. Generate Test File\nCreate a test file following the project's existing patterns and directory structure.\n\n```typescript\nimport { test, expect } from '@playwright\u002Ftest';\n\ntest.describe('Feature Name', () => {\n  test.beforeEach(async ({ page }) => {\n    \u002F\u002F Setup: navigate, authenticate, seed data\n  });\n\n  test('should do expected behavior', async ({ page }) => {\n    \u002F\u002F Arrange\n    \u002F\u002F Act\n    \u002F\u002F Assert\n  });\n});\n```\n\n### 3. Run Tests\n```bash\nnpx playwright test \u003Cfile>           # Run specific test file\nnpx playwright test --headed          # With visible browser\nnpx playwright test --ui              # Playwright UI mode\nnpx playwright test --trace on        # Capture trace for debugging\n```\n\n### 4. Debug Failures\n- Read error output carefully\n- Use `--trace on` and open trace viewer: `npx playwright show-trace trace.zip`\n- Take screenshots on failure: `await page.screenshot({ path: 'debug.png' })`\n- Use `page.pause()` for step-by-step debugging in headed mode\n\n## Capabilities\n\n- **Navigation**: `page.goto()`, URL assertions, redirect verification\n- **Forms**: `page.fill()`, `page.selectOption()`, `page.check()`, multi-step wizards\n- **Assertions**: `expect(page).toHaveURL()`, `expect(locator).toBeVisible()`, `toHaveText()`\n- **Screenshots**: `page.screenshot()`, full-page, element-level\n- **Visual regression**: `expect(page).toHaveScreenshot()` with thresholds\n- **Accessibility**: `@axe-core\u002Fplaywright`, ARIA role selectors, keyboard navigation\n- **Network**: `page.route()` for mocking, `page.waitForResponse()` for API calls\n\n## Tips\n\n- Use `data-testid` attributes for stable selectors\n- Prefer user-visible text and ARIA roles over CSS selectors\n- Use `test.step()` for complex multi-step flows\n- Set `baseURL` in `playwright.config.ts`\n- Use `page.waitForResponse()` for async navigation\n- Place test files alongside existing test patterns in the project\n","# Playwright E2E Testing\n\nGenerate and run Playwright end-to-end tests for web applications.\n\n## Prerequisites\n\n```bash\nnpx playwright --version\n```\n\nIf not installed:\n```bash\nnpm init playwright@latest\n# or add to existing project:\nnpm install -D @playwright\u002Ftest && npx playwright install\n```\n\n## Workflow\n\n### 1. Analyze\nRead the source files for the page\u002Fcomponent to test. Understand routes, interactive elements, and expected behaviors.\n\n### 2. Generate Test File\nCreate a test file following the project's existing patterns and directory structure.\n\n```typescript\nimport { test, expect } from '@playwright\u002Ftest';\n\ntest.describe('Feature Name', () => {\n  test.beforeEach(async ({ page }) => {\n    \u002F\u002F Setup: navigate, authenticate, seed data\n  });\n\n  test('should do expected behavior', async ({ page }) => {\n    \u002F\u002F Arrange\n    \u002F\u002F Act\n    \u002F\u002F Assert\n  });\n});\n```\n\n### 3. Run Tests\n```bash\nnpx playwright test \u003Cfile>           # Run specific test file\nnpx playwright test --headed          # With visible browser\nnpx playwright test --ui              # Playwright UI mode\nnpx playwright test --trace on        # Capture trace for debugging\n```\n\n### 4. Debug Failures\n- Read error output carefully\n- Use `--trace on` and open trace viewer: `npx playwright show-trace trace.zip`\n- Take screenshots on failure: `await page.screenshot({ path: 'debug.png' })`\n- Use `page.pause()` for step-by-step debugging in headed mode\n\n## Capabilities\n\n- **Navigation**: `page.goto()`, URL assertions, redirect verification\n- **Forms**: `page.fill()`, `page.selectOption()`, `page.check()`, multi-step wizards\n- **Assertions**: `expect(page).toHaveURL()`, `expect(locator).toBeVisible()`, `toHaveText()`\n- **Screenshots**: `page.screenshot()`, full-page, element-level\n- **Visual regression**: `expect(page).toHaveScreenshot()` with thresholds\n- **Accessibility**: `@axe-core\u002Fplaywright`, ARIA role selectors, keyboard navigation\n- **Network**: `page.route()` for mocking, `page.waitForResponse()` for API calls\n\n## Tips\n\n- Use `data-testid` attributes for stable selectors\n- Prefer user-visible text and ARIA roles over CSS selectors\n- Use `test.step()` for complex multi-step flows\n- Set `baseURL` in `playwright.config.ts`\n- Use `page.waitForResponse()` for async navigation\n- Place test files alongside existing test patterns in the project\n",{"name":5,"description":48,"allowed-tools":49},"End-to-end testing with Playwright — generate, run, and debug E2E tests.\n",[42,50,51,52,53,54],"Read","Write","Edit","Grep","Glob","main","c7ec8d78e5dc37484c2cfe90ab04de163d97dd41","skills\u002Fplaywright",0,"https:\u002F\u002Fgithub.com\u002Fariadoss\u002Fsuperskills","https:\u002F\u002Fhyperion360.com\u002Fblog\u002Fparallel-ai-agents-engineering-workflow\u002F","https:\u002F\u002Fgithub.com\u002Fariadoss","https:\u002F\u002Fdanilosapad.com\u002F","CEO & Founder of @Hyperion360","2026-11-01 12:36:50",{"source":8,"skillName":5,"commands":66,"prompt":76,"zipAvailable":77},[67,70,73],{"tool":68,"command":69},"npx","npx skills add ariadoss\u002Fsuperskills --skill playwright",{"tool":71,"command":72},"bunx","bunx skills add ariadoss\u002Fsuperskills --skill playwright",{"tool":74,"command":75},"pnpm","pnpm dlx skills add ariadoss\u002Fsuperskills --skill playwright","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fariadoss\u002Fsuperskills\u002Fblob\u002Fmain\u002Fskills\u002Fplaywright\u002FSKILL.md",true,[],[80,104,129,147,176,192],{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":89,"publishedAt":43},"01M71AZE3MPF891RM354EMRYA1","youtube","Download YouTube video transcripts when user provides a YouTube URL or asks to download\u002Fget\u002Ffetch a transcript from YouTube. Also use when user wants to transcribe or get captions\u002Fsubtitles from a YouTube video.","https:\u002F\u002Fgithub.com\u002Fariadoss\u002Fsuperskills\u002Fblob\u002Fmain\u002Fskills\u002Fyoutube\u002FSKILL.md",[86],{"categoryNo":87,"categoryName":88,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",[82,90,91,92,35,93,94,42,95,96,97,98,99,100,33,101,102,103],"user","download","transcribe","transcript","video transcripts","URL","when","Captions","get","fetch","Video","use","subtitles","transcripts",{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":110,"publishedAt":43},"01M71AZAYR85PW6BJGSQXS4BN2","write-plan","Use when you have a spec or requirements for a multi-step task, before touching code. Produces an engineering plan complete with TDD tasks, DRY\u002FSOLID\u002FYAGNI principles, a required Test Plan & Verification section, and a coverage target — then auto-runs \u002Fplan-eng-review as an independent double-check before execution.","https:\u002F\u002Fgithub.com\u002Fariadoss\u002Fsuperskills\u002Fblob\u002Fmain\u002Fskills\u002Fwrite-plan\u002FSKILL.md",[],[111,112,35,113,114,115,116,117,118,96,119,120,121,122,123,124,125,126,127,128],"write plan","plan","dry","verification","review","tasks","code","you","auto","eng","coverage","complete","section","for","test plan","target","as","yagni",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":135,"publishedAt":43},"01M71AZ8NDDP5ZMGEE6FSC4FKR","worktrees","Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification","https:\u002F\u002Fgithub.com\u002Fariadoss\u002Fsuperskills\u002Fblob\u002Fmain\u002Fskills\u002Fworktrees\u002FSKILL.md",[],[131,136,137,29,101,138,139,140,141,142,143,114,144,96,145,146],"implementation","workspace","plans","feature","isolation","git","directory","work","git worktrees","selection","Safety",{"skillNo":148,"name":149,"nameZh":6,"description":150,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":156,"publishedAt":43},"01M71AZ4ZQHTNWFRZVYHKQFP08","web-perf","Analyzes web performance using Chrome DevTools MCP. Measures Core Web Vitals (LCP, INP, CLS) and supplementary metrics (FCP, TBT, Speed Index), identifies render-blocking resources, network dependency chains, layout shifts, caching issues, and accessibility gaps. Use when asked to audit, profile, debug, or optimize page load performance, Lighthouse scores, or site speed. Biases towards retrieval from current documentation over pre-trained knowledge.","https:\u002F\u002Fgithub.com\u002Fariadoss\u002Fsuperskills\u002Fblob\u002Fmain\u002Fskills\u002Fweb-perf\u002FSKILL.md",[153],{"categoryNo":154,"categoryName":155,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[157,158,159,160,161,162,163,164,165,96,166,167,168,169,170,171,172,173,174,175],"web","perf","web perf","resources","MCP","layout","optimize","documentation","caching","qa","knowledge","devtools","issues","render","re","performance","chrome devtools","vitals","never",{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":182,"publishedAt":43},"01M71AZ2KZNWYEGKKRMJH8PYG2","verify","Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always","https:\u002F\u002Fgithub.com\u002Fariadoss\u002Fsuperskills\u002Fblob\u002Fmain\u002Fskills\u002Fverify\u002FSKILL.md",[],[178,122,183,184,143,114,185,186,96,187,101,188,189,190,191],"commands","about","claims","output","assertions","claim","prs","evidence","running",{"skillNo":193,"name":194,"nameZh":6,"description":195,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":196,"categories":197,"keywords":198,"publishedAt":43},"01M71AZ0ACCK7N1QMWQK1FV2HJ","validate-idea","Validate a business idea using the minimalist entrepreneur framework. Use when someone has a business idea and wants to test if it's worth pursuing before building anything.","https:\u002F\u002Fgithub.com\u002Fariadoss\u002Fsuperskills\u002Fblob\u002Fmain\u002Fskills\u002Fvalidate-idea\u002FSKILL.md",[],[199,200,201,202,203,204,205,96,206,101,207],"validate","idea","validate idea","framework","it","minimalist","test","business","before building"]