[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DS1ASV3V4SQXF9BFVZP644":3,"skill-same:01M6DS1ASV3V4SQXF9BFVZP644":71},{"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":26,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":50,"install":51,"resources":64},"01M6DS1ASV3V4SQXF9BFVZP644","review",null,"Review Playwright tests for quality. Use when user says \"review tests\", \"check test quality\", \"audit tests\", \"improve tests\", \"test code review\", or \"playwright best practices check\".","zhangzhang-111-i\u002Fclaude-skills111","zhangzhang-111-i","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F251344927?v=4","01M6DRBP4NCM1ZCHTT0FW0SQHD","lixiying","01M6DRBPAMFDJSGQ69XPK9KM9J",3,"MIT","https:\u002F\u002Fgithub.com\u002Fzhangzhang-111-i\u002Fclaude-skills111\u002Fblob\u002Fmain\u002Fengineering-team\u002Fplaywright-pro\u002Fskills\u002Freview\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000007","代码审查","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[5,27,28,29,30,31,32,33,34,35,36,37,38],"code review","playwright","test","code","best practices","audit","improve","quality","check","user","use","tests","2026-11-10 10:12:30",false,"---\nname: \"review\"\ndescription: >-\n  Review Playwright tests for quality. Use when user says \"review tests\",\n  \"check test quality\", \"audit tests\", \"improve tests\", \"test code review\",\n  or \"playwright best practices check\".\n---\n\n# Review Playwright Tests\n\nSystematically review Playwright test files for anti-patterns, missed best practices, and coverage gaps.\n\n## Input\n\n`$ARGUMENTS` can be:\n- A file path: review that specific test file\n- A directory: review all test files in the directory\n- Empty: review all tests in the project's `testDir`\n\n## Steps\n\n### 1. Gather Context\n\n- Read `playwright.config.ts` for project settings\n- List all `*.spec.ts` \u002F `*.spec.js` files in scope\n- If reviewing a single file, also check related page objects and fixtures\n\n### 2. Check Each File Against Anti-Patterns\n\nLoad `anti-patterns.md` from this skill directory. Check for all 20 anti-patterns.\n\n**Critical (must fix):**\n1. `waitForTimeout()` usage\n2. Non-web-first assertions (`expect(await ...)`)\n3. Hardcoded URLs instead of `baseURL`\n4. CSS\u002FXPath selectors when role-based exists\n5. Missing `await` on Playwright calls\n6. Shared mutable state between tests\n7. Test execution order dependencies\n\n**Warning (should fix):**\n8. Tests longer than 50 lines (consider splitting)\n9. Magic strings without named constants\n10. Missing error\u002Fedge case tests\n11. `page.evaluate()` for things locators can do\n12. Nested `test.describe()` more than 2 levels deep\n13. Generic test names (\"should work\", \"test 1\")\n\n**Info (consider):**\n14. No page objects for pages with 5+ locators\n15. Inline test data instead of factory\u002Ffixture\n16. Missing accessibility assertions\n17. No visual regression tests for UI-heavy pages\n18. Console error assertions not checked\n19. Network idle waits instead of specific assertions\n20. Missing `test.describe()` grouping\n\n### 3. Score Each File\n\nRate 1-10 based on:\n- **9-10**: Production-ready, follows all golden rules\n- **7-8**: Good, minor improvements possible\n- **5-6**: Functional but has anti-patterns\n- **3-4**: Significant issues, likely flaky\n- **1-2**: Needs rewrite\n\n### 4. Generate Review Report\n\nFor each file:\n```\n## \u003Cfilename> — Score: X\u002F10\n\n### Critical\n- Line 15: `waitForTimeout(2000)` → use `expect(locator).toBeVisible()`\n- Line 28: CSS selector `.btn-submit` → `getByRole('button', { name: \"submit\" })`\n\n### Warning\n- Line 42: Test name \"test login\" → \"should redirect to dashboard after login\"\n\n### Suggestions\n- Consider adding error case: what happens with invalid credentials?\n```\n\n### 5. For Project-Wide Review\n\nIf reviewing an entire test suite:\n- Spawn sub-agents per file for parallel review (up to 5 concurrent)\n- Or use `\u002Fbatch` for very large suites\n- Aggregate results into a summary table\n\n### 6. Offer Fixes\n\nFor each critical issue, provide the corrected code. Ask user: \"Apply these fixes? [Yes\u002FNo]\"\n\nIf yes, apply all fixes using `Edit` tool.\n\n## Output\n\n- File-by-file review with scores\n- Summary: total files, average score, critical issue count\n- Actionable fix list\n- Coverage gaps identified (pages\u002Ffeatures with no tests)\n","# Review Playwright Tests\n\nSystematically review Playwright test files for anti-patterns, missed best practices, and coverage gaps.\n\n## Input\n\n`$ARGUMENTS` can be:\n- A file path: review that specific test file\n- A directory: review all test files in the directory\n- Empty: review all tests in the project's `testDir`\n\n## Steps\n\n### 1. Gather Context\n\n- Read `playwright.config.ts` for project settings\n- List all `*.spec.ts` \u002F `*.spec.js` files in scope\n- If reviewing a single file, also check related page objects and fixtures\n\n### 2. Check Each File Against Anti-Patterns\n\nLoad `anti-patterns.md` from this skill directory. Check for all 20 anti-patterns.\n\n**Critical (must fix):**\n1. `waitForTimeout()` usage\n2. Non-web-first assertions (`expect(await ...)`)\n3. Hardcoded URLs instead of `baseURL`\n4. CSS\u002FXPath selectors when role-based exists\n5. Missing `await` on Playwright calls\n6. Shared mutable state between tests\n7. Test execution order dependencies\n\n**Warning (should fix):**\n8. Tests longer than 50 lines (consider splitting)\n9. Magic strings without named constants\n10. Missing error\u002Fedge case tests\n11. `page.evaluate()` for things locators can do\n12. Nested `test.describe()` more than 2 levels deep\n13. Generic test names (\"should work\", \"test 1\")\n\n**Info (consider):**\n14. No page objects for pages with 5+ locators\n15. Inline test data instead of factory\u002Ffixture\n16. Missing accessibility assertions\n17. No visual regression tests for UI-heavy pages\n18. Console error assertions not checked\n19. Network idle waits instead of specific assertions\n20. Missing `test.describe()` grouping\n\n### 3. Score Each File\n\nRate 1-10 based on:\n- **9-10**: Production-ready, follows all golden rules\n- **7-8**: Good, minor improvements possible\n- **5-6**: Functional but has anti-patterns\n- **3-4**: Significant issues, likely flaky\n- **1-2**: Needs rewrite\n\n### 4. Generate Review Report\n\nFor each file:\n```\n## \u003Cfilename> — Score: X\u002F10\n\n### Critical\n- Line 15: `waitForTimeout(2000)` → use `expect(locator).toBeVisible()`\n- Line 28: CSS selector `.btn-submit` → `getByRole('button', { name: \"submit\" })`\n\n### Warning\n- Line 42: Test name \"test login\" → \"should redirect to dashboard after login\"\n\n### Suggestions\n- Consider adding error case: what happens with invalid credentials?\n```\n\n### 5. For Project-Wide Review\n\nIf reviewing an entire test suite:\n- Spawn sub-agents per file for parallel review (up to 5 concurrent)\n- Or use `\u002Fbatch` for very large suites\n- Aggregate results into a summary table\n\n### 6. Offer Fixes\n\nFor each critical issue, provide the corrected code. Ask user: \"Apply these fixes? [Yes\u002FNo]\"\n\nIf yes, apply all fixes using `Edit` tool.\n\n## Output\n\n- File-by-file review with scores\n- Summary: total files, average score, critical issue count\n- Actionable fix list\n- Coverage gaps identified (pages\u002Ffeatures with no tests)\n",{"name":5,"description":7},"main","c0a12fc98d85642fa8893e31fc5cf5dfad879de6","engineering-team\u002Fplaywright-pro\u002Fskills\u002Freview",0,"https:\u002F\u002Fgithub.com\u002Fzhangzhang-111-i\u002Fclaude-skills111","https:\u002F\u002Fgithub.com\u002Fzhangzhang-111-i","2026-03-13 21:49:18",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add zhangzhang-111-i\u002Fclaude-skills111 --skill review",{"tool":57,"command":58},"bunx","bunx skills add zhangzhang-111-i\u002Fclaude-skills111 --skill review",{"tool":60,"command":61},"pnpm","pnpm dlx skills add zhangzhang-111-i\u002Fclaude-skills111 --skill review","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fzhangzhang-111-i\u002Fclaude-skills111\u002Fblob\u002Fmain\u002Fengineering-team\u002Fplaywright-pro\u002Fskills\u002Freview\u002FSKILL.md",true,[65],{"path":66,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":69,"sourceHtmlUrl":70},"anti-patterns.md","REFERENCE","参考文档",4294,"https:\u002F\u002Fgithub.com\u002Fzhangzhang-111-i\u002Fclaude-skills111\u002Fblob\u002Fmain\u002Fengineering-team\u002Fplaywright-pro\u002Fskills\u002Freview\u002Fanti-patterns.md",[72,97,123,149,169,192],{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":78,"publishedAt":39},"01M6DSNYM8PZKEXGYMRX53PVPH","risk-management-specialist","Medical device risk management specialist implementing ISO 14971 throughout product lifecycle. Provides risk analysis, risk evaluation, risk control, and post-production information analysis. Use when user mentions risk management, ISO 14971, risk analysis, FMEA, fault tree analysis, hazard identification, risk control, risk matrix, benefit-risk analysis, residual risk, risk acceptability, or post-market risk.","https:\u002F\u002Fgithub.com\u002Fzhangzhang-111-i\u002Fclaude-skills111\u002Fblob\u002Fmain\u002Fra-qm-team\u002Frisk-management-specialist\u002FSKILL.md",[],[79,80,81,82,83,84,85,86,87,88,89,36,37,90,91,92,93,94,95,96],"risk","risk management specialist","management","risk management","risk analysis","risk evaluation","product","Evaluation","Production","lifecycle","analysis","risk matrix","Market","device","control","iso","medical","iso 14971",{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":103,"publishedAt":39},"01M6DSNSRBGVZWS23TK0ZQ52QC","regulatory-affairs-head","Senior Regulatory Affairs Manager for HealthTech and MedTech companies. Prepares FDA 510(k), De Novo, and PMA submission packages; analyzes regulatory pathways for new medical devices; drafts responses to FDA deficiency letters and Notified Body queries; develops CE marking technical documentation under EU MDR 2017\u002F745; coordinates multi-market approval strategies across FDA, EU, Health Canada, PMDA, and NMPA; and maintains regulatory intelligence on evolving standards. Use when users need to plan or execute FDA submissions, navigate 510(k) or PMA approval processes, achieve CE marking, prepare pre-submission meeting materials, write regulatory strategy documents, respond to agency queries, or manage compliance documentation for medical device market access.","https:\u002F\u002Fgithub.com\u002Fzhangzhang-111-i\u002Fclaude-skills111\u002Fblob\u002Fmain\u002Fra-qm-team\u002Fregulatory-affairs-head\u002FSKILL.md",[],[104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,95,122],"regulatory affairs head","regulatory","head","documentation","documents","packages","planning","devices","plan","access","write","strategy","evidence","standards","manage","intelligence","across","strategies","clinical",{"skillNo":124,"name":125,"nameZh":6,"description":126,"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":137,"publishedAt":39},"01M6DSNN7GNR2HZE66S4D31EP8","quality-manager-qms-iso13485","ISO 13485 Quality Management System implementation and maintenance for medical device organizations. Provides QMS design, documentation control, internal auditing, CAPA management, and certification support. Use when working with medical device quality systems, preparing for ISO 13485 audits, managing regulatory compliance documentation, setting up corrective actions, or building audit preparation programs. Useful for quality management, audit preparation, regulatory compliance, medical device documentation, and corrective action workflows.","https:\u002F\u002Fgithub.com\u002Fzhangzhang-111-i\u002Fclaude-skills111\u002Fblob\u002Fmain\u002Fra-qm-team\u002Fquality-manager-qms-iso13485\u002FSKILL.md",[129,132],{"categoryNo":130,"categoryName":131,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":133,"categoryName":134,"taxonomyType":135,"taxonomyTypeDesc":136},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[138,34,139,5,140,141,107,32,142,143,144,145,37,105,146,147,148,93,94,95],"quality manager qms iso13485","design","support","workflows","actions","compliance","system","process","up","maintenance","document",{"skillNo":150,"name":151,"nameZh":6,"description":152,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":158,"publishedAt":39},"01M6DSNE5PQM106PM4EDGPBWGZ","quality-manager-qmr","Senior Quality Manager Responsible Person (QMR) for HealthTech and MedTech companies. Provides quality system governance, management review leadership, regulatory compliance oversight, and quality performance monitoring per ISO 13485 Clause 5.5.2.","https:\u002F\u002Fgithub.com\u002Fzhangzhang-111-i\u002Fclaude-skills111\u002Fblob\u002Fmain\u002Fra-qm-team\u002Fquality-manager-qmr\u002FSKILL.md",[155],{"categoryNo":156,"categoryName":157,"taxonomyType":135,"taxonomyTypeDesc":136},"01JBSEEDCAT000000000000037","律师与法务",[159,34,5,160,161,162,163,143,164,144,81,165,105,166,167,168,94],"quality manager qmr","policy","performance","governance","monitoring","regulatory compliance","oversight","cost","culture","leadership",{"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":179,"publishedAt":39},"01M6DSN7MYXB6X42TB1GH2TNSB","quality-documentation-manager","Document control system management for medical device QMS. Covers document numbering, version control, change management, and 21 CFR Part 11 compliance. Use for document control procedures, change control workflow, document numbering, version management, electronic signature compliance, or regulatory documentation review.","https:\u002F\u002Fgithub.com\u002Fzhangzhang-111-i\u002Fclaude-skills111\u002Fblob\u002Fmain\u002Fra-qm-team\u002Fquality-documentation-manager\u002FSKILL.md",[175,178],{"categoryNo":176,"categoryName":177,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000002","文档处理",{"categoryNo":156,"categoryName":157,"taxonomyType":135,"taxonomyTypeDesc":136},[107,180,34,5,181,182,32,88,183,144,184,185,37,186,187,188,95,189,190,191],"quality documentation manager","workflow","change","document lifecycle","change management","list","master","system management","documentation review","cfr","21 cfr part 11","change control",{"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":39},"01M6DSN3R749H3R20K15QE8X8W","qms-audit-expert","ISO 13485 internal audit expertise for medical device QMS. Covers audit planning, execution, nonconformity classification, and CAPA verification. Use for internal audit planning, audit execution, finding classification, external audit preparation, or audit program management.","https:\u002F\u002Fgithub.com\u002Fzhangzhang-111-i\u002Fclaude-skills111\u002Fblob\u002Fmain\u002Fra-qm-team\u002Fqms-audit-expert\u002FSKILL.md",[],[32,199,200,110,201,202,203,204,81,37,205,92,94,95],"qms audit expert","expert","verification","execution","classification","schedule","checklist"]