[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6JF35E3MAGDFKP6NMM0T5ZQ":3,"skill-same:01M6JF35E3MAGDFKP6NMM0T5ZQ":95},{"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":23,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":53,"repositoryHtmlUrl":54,"repositoryHomepageUrl":6,"ownerHtmlUrl":55,"ownerBlogUrl":56,"ownerDescription":57,"updatedAt":58,"install":59,"resources":72},"01M6JF35E3MAGDFKP6NMM0T5ZQ","playwright",null,"Use when writing E2E tests with Playwright, setting up test infrastructure, or debugging flaky browser tests. Invoke for browser automation, E2E tests, Page Object Model, test flakiness, visual testing.","jdiegosierra\u002Fenterprise-agent-plugins","jdiegosierra","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F27728978?v=4","01M6JF1FEEGH0TEKZ1X8C4DC89","Diego","01M6JF1FJR2H5YYKPRJ0HTJ9RJ",1,"MIT","https:\u002F\u002Fgithub.com\u002Fjdiegosierra\u002Fenterprise-agent-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Facme-engineering\u002Fsrc\u002Fskills\u002Fplaywright\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[5,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"model","for","object","claude-skills","with","tests","visual","up","use","page","testing","e2e","browser","debugging","e2e tests","test","automation","browser automation","writing","2026-11-10 10:12:30",false,"---\nname: playwright\ndescription: Use when writing E2E tests with Playwright, setting up test infrastructure, or debugging flaky browser tests. Invoke for browser automation, E2E tests, Page Object Model, test flakiness, visual testing.\nmetadata:\n  based_on: jeffallan\u002Fclaude-skills\n---\n\n# Playwright\n\nSenior E2E testing specialist with deep expertise in Playwright for robust, maintainable browser automation.\n\n## Role Definition\n\nYou are a senior QA automation engineer with 8+ years of browser testing experience. You specialize in Playwright test architecture, Page Object Model, and debugging flaky tests. You write reliable, fast tests that run in CI\u002FCD.\n\n## Core Workflow\n\n1. **Analyze requirements** - Identify user flows to test\n2. **Setup** - Configure Playwright with proper settings\n3. **Write tests** - Use POM pattern, proper selectors, auto-waiting\n4. **Debug** - Fix flaky tests, use traces\n5. **Integrate** - Add to CI\u002FCD pipeline\n\n## Reference Guide\n\nLoad detailed guidance based on context:\n\n| Topic | Reference | Load When |\n|-------|-----------|-----------|\n| Selectors | `references\u002Fselectors-locators.md` | Writing selectors, locator priority |\n| Page Objects | `references\u002Fpage-object-model.md` | POM patterns, fixtures |\n| API Mocking | `references\u002Fapi-mocking.md` | Route interception, mocking |\n| Configuration | `references\u002Fconfiguration.md` | playwright.config.ts setup |\n| Debugging | `references\u002Fdebugging-flaky.md` | Flaky tests, trace viewer |\n\n## Constraints\n\n### MUST DO\n- Use role-based selectors when possible\n- Leverage auto-waiting (don't add arbitrary timeouts)\n- Keep tests independent (no shared state)\n- Use Page Object Model for maintainability\n- Enable traces\u002Fscreenshots for debugging\n- Run tests in parallel\n\n### MUST NOT DO\n- Use `waitForTimeout()` (use proper waits)\n- Rely on CSS class selectors (brittle)\n- Share state between tests\n- Ignore flaky tests\n- Use `first()`, `nth()` without good reason\n\n## Output Templates\n\nWhen implementing Playwright tests, provide:\n1. Page Object classes\n2. Test files with proper assertions\n3. Fixture setup if needed\n4. Configuration recommendations\n\n## Knowledge Reference\n\nPlaywright, Page Object Model, auto-waiting, locators, fixtures, API mocking, trace viewer, visual comparisons, parallel execution, CI\u002FCD integration\n\n## Attribution\n\nBased on [jeffallan\u002Fclaude-skills](https:\u002F\u002Fgithub.com\u002Fjeffallan\u002Fclaude-skills).\n","# Playwright\n\nSenior E2E testing specialist with deep expertise in Playwright for robust, maintainable browser automation.\n\n## Role Definition\n\nYou are a senior QA automation engineer with 8+ years of browser testing experience. You specialize in Playwright test architecture, Page Object Model, and debugging flaky tests. You write reliable, fast tests that run in CI\u002FCD.\n\n## Core Workflow\n\n1. **Analyze requirements** - Identify user flows to test\n2. **Setup** - Configure Playwright with proper settings\n3. **Write tests** - Use POM pattern, proper selectors, auto-waiting\n4. **Debug** - Fix flaky tests, use traces\n5. **Integrate** - Add to CI\u002FCD pipeline\n\n## Reference Guide\n\nLoad detailed guidance based on context:\n\n| Topic | Reference | Load When |\n|-------|-----------|-----------|\n| Selectors | `references\u002Fselectors-locators.md` | Writing selectors, locator priority |\n| Page Objects | `references\u002Fpage-object-model.md` | POM patterns, fixtures |\n| API Mocking | `references\u002Fapi-mocking.md` | Route interception, mocking |\n| Configuration | `references\u002Fconfiguration.md` | playwright.config.ts setup |\n| Debugging | `references\u002Fdebugging-flaky.md` | Flaky tests, trace viewer |\n\n## Constraints\n\n### MUST DO\n- Use role-based selectors when possible\n- Leverage auto-waiting (don't add arbitrary timeouts)\n- Keep tests independent (no shared state)\n- Use Page Object Model for maintainability\n- Enable traces\u002Fscreenshots for debugging\n- Run tests in parallel\n\n### MUST NOT DO\n- Use `waitForTimeout()` (use proper waits)\n- Rely on CSS class selectors (brittle)\n- Share state between tests\n- Ignore flaky tests\n- Use `first()`, `nth()` without good reason\n\n## Output Templates\n\nWhen implementing Playwright tests, provide:\n1. Page Object classes\n2. Test files with proper assertions\n3. Fixture setup if needed\n4. Configuration recommendations\n\n## Knowledge Reference\n\nPlaywright, Page Object Model, auto-waiting, locators, fixtures, API mocking, trace viewer, visual comparisons, parallel execution, CI\u002FCD integration\n\n## Attribution\n\nBased on [jeffallan\u002Fclaude-skills](https:\u002F\u002Fgithub.com\u002Fjeffallan\u002Fclaude-skills).\n",{"name":5,"metadata":48,"description":7},{"based_on":49},"jeffallan\u002Fclaude-skills","main","558f37431dd6df3458f8bd5e229edb6c1c254ca7","plugins\u002Facme-engineering\u002Fsrc\u002Fskills\u002Fplaywright",0,"https:\u002F\u002Fgithub.com\u002Fjdiegosierra\u002Fenterprise-agent-plugins","https:\u002F\u002Fgithub.com\u002Fjdiegosierra","https:\u002F\u002Fjdiegosierra.github.io","Site Reliability Engineer | DevOps | MLOps | Software Craftsmanship | Blockchain Expert | Embedded Software Developer","2026-04-08 06:00:05",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":71},[61,64,67],{"tool":62,"command":63},"npx","npx skills add jdiegosierra\u002Fenterprise-agent-plugins --skill playwright",{"tool":65,"command":66},"bunx","bunx skills add jdiegosierra\u002Fenterprise-agent-plugins --skill playwright",{"tool":68,"command":69},"pnpm","pnpm dlx skills add jdiegosierra\u002Fenterprise-agent-plugins --skill playwright","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjdiegosierra\u002Fenterprise-agent-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Facme-engineering\u002Fsrc\u002Fskills\u002Fplaywright\u002FSKILL.md",true,[73,79,83,87,91],{"path":74,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":77,"sourceHtmlUrl":78},"references\u002Fapi-mocking.md","REFERENCE","参考文档",3145,"https:\u002F\u002Fgithub.com\u002Fjdiegosierra\u002Fenterprise-agent-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Facme-engineering\u002Fsrc\u002Fskills\u002Fplaywright\u002Freferences\u002Fapi-mocking.md",{"path":80,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":81,"sourceHtmlUrl":82},"references\u002Fconfiguration.md",3286,"https:\u002F\u002Fgithub.com\u002Fjdiegosierra\u002Fenterprise-agent-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Facme-engineering\u002Fsrc\u002Fskills\u002Fplaywright\u002Freferences\u002Fconfiguration.md",{"path":84,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":85,"sourceHtmlUrl":86},"references\u002Fdebugging-flaky.md",3207,"https:\u002F\u002Fgithub.com\u002Fjdiegosierra\u002Fenterprise-agent-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Facme-engineering\u002Fsrc\u002Fskills\u002Fplaywright\u002Freferences\u002Fdebugging-flaky.md",{"path":88,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":89,"sourceHtmlUrl":90},"references\u002Fpage-object-model.md",3684,"https:\u002F\u002Fgithub.com\u002Fjdiegosierra\u002Fenterprise-agent-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Facme-engineering\u002Fsrc\u002Fskills\u002Fplaywright\u002Freferences\u002Fpage-object-model.md",{"path":92,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":93,"sourceHtmlUrl":94},"references\u002Fselectors-locators.md",2798,"https:\u002F\u002Fgithub.com\u002Fjdiegosierra\u002Fenterprise-agent-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Facme-engineering\u002Fsrc\u002Fskills\u002Fplaywright\u002Freferences\u002Fselectors-locators.md",[96,118,124,130,151,169],{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":105,"publishedAt":43},"01M6JF56YA4GJ2G91M4655E2VF","vue","Use when building Vue 3 applications with Composition API, Nuxt 3, or Quasar. Invoke for Pinia, TypeScript, PWA, Capacitor mobile apps, Vite configuration.","https:\u002F\u002Fgithub.com\u002Fjdiegosierra\u002Fenterprise-agent-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Facme-engineering\u002Fsrc\u002Fskills\u002Fvue\u002FSKILL.md",[102],{"categoryNo":103,"categoryName":104,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",[98,25,106,107,108,109,32,110,111,112,113,114,115,116,117,28,27],"Composition","configuration","mobile","vite","capacitor","pwa","pinia","nuxt","apps","api","applications","typescript",{"skillNo":119,"name":120,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":123,"publishedAt":43},"01M6JF55WHCX01YN0EDC1ENBP1","update","https:\u002F\u002Fgithub.com\u002Fjdiegosierra\u002Fenterprise-agent-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Facme-engineering\u002Fsrc\u002Fskills\u002Fupdate\u002FSKILL.md",[],[120],{"skillNo":125,"name":126,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":129,"publishedAt":43},"01M6JF52TKMMW8CSBWWK0D60Z7","uninstall","https:\u002F\u002Fgithub.com\u002Fjdiegosierra\u002Fenterprise-agent-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Facme-engineering\u002Fsrc\u002Fskills\u002Funinstall\u002FSKILL.md",[],[126],{"skillNo":131,"name":117,"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},"01M6JF4ZA6KVK7K37FYCGKZR3V","Use when working with TypeScript's advanced type system — generics, conditional types, mapped types, or full-stack type safety. Assumes ES2023+ JavaScript knowledge (see javascript for fundamentals). Invoke for type guards, utility types, tRPC integration, monorepo setup.","https:\u002F\u002Fgithub.com\u002Fjdiegosierra\u002Fenterprise-agent-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Facme-engineering\u002Fsrc\u002Fskills\u002Ftypescript\u002FSKILL.md",[],[117,32,27,136,28,137,138,139,140,141,25,142,143,144,145,146,147,148,149,150],"advanced","types","trpc","utility","type","type system","monorepo","system","stack","knowledge","Safety","Type Safety","integration","conditional","javascript",{"skillNo":152,"name":34,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":157,"publishedAt":43},"01M6JF4VJD26K2THYRJGM1BK6M","Use when writing tests, creating test strategies, or building automation frameworks. Invoke for unit tests, integration tests, E2E, coverage analysis, performance testing, security testing.","https:\u002F\u002Fgithub.com\u002Fjdiegosierra\u002Fenterprise-agent-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Facme-engineering\u002Fsrc\u002Fskills\u002Ftesting\u002FSKILL.md",[156],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[34,25,42,158,27,159,160,29,161,162,163,32,164,35,165,166,167,39,40,168],"coverage","test strategies","unit","Security Testing","strategies","frameworks","analysis","writing tests","unit tests","integration tests","performance",{"skillNo":170,"name":171,"nameZh":6,"description":172,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":173,"categories":174,"keywords":178,"publishedAt":43},"01M6JF4PEBCHAS2VP7EEW634B7","terraform","Use when working with Terraform or OpenTofu — creating modules, writing tests, setting up CI\u002FCD pipelines, reviewing configurations, debugging state issues, implementing security scanning, or making IaC architecture decisions. For Pulumi see pulumi-best-practices, for general CI\u002FCD see devops.","https:\u002F\u002Fgithub.com\u002Fjdiegosierra\u002Fenterprise-agent-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Facme-engineering\u002Fsrc\u002Fskills\u002Fterraform\u002FSKILL.md",[175],{"categoryNo":176,"categoryName":177,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",[171,31,25,179,180,27,181,29,182,183,184,185,186,32,187,188,37,189,190,42],"implementing","pulumi","CI\u002FCD","best-practices","general","modules","iac","scanning","ci","issues","architecture","security"]