[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DS3YVKYQCQNX1XP4S7SWHD":3,"skill-same:01M6DS3YVKYQCQNX1XP4S7SWHD":105},{"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":47,"linkOnly":48,"markdownContent":49,"markdownBody":50,"frontMatter":51,"refName":52,"commitSha":53,"skillDirectory":54,"forksCount":55,"repositoryHtmlUrl":56,"repositoryHomepageUrl":6,"ownerHtmlUrl":57,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":58,"install":59,"resources":72},"01M6DS3YVKYQCQNX1XP4S7SWHD","senior-qa",null,"Generates unit tests, integration tests, and E2E tests for React\u002FNext.js applications. Scans components to create Jest + React Testing Library test stubs, analyzes Istanbul\u002FLCOV coverage reports to surface gaps, scaffolds Playwright test files from Next.js routes, mocks API calls with MSW, creates test fixtures, and configures test runners. Use when the user asks to \"generate tests\", \"write unit tests\", \"analyze test coverage\", \"scaffold E2E tests\", \"set up Playwright\", \"configure Jest\", \"implement testing patterns\", or \"improve test quality\".","zhangzhang-111-i\u002Fclaude-skills111","zhangzhang-111-i","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F251344927?v=4","01M6DRBP4NCM1ZCHTT0FW0SQHD","lixiying","01M6DRBPAMFDJSGQ69XPK9KM9J",4,"MIT","https:\u002F\u002Fgithub.com\u002Fzhangzhang-111-i\u002Fclaude-skills111\u002Fblob\u002Fmain\u002Fengineering-team\u002Fsenior-qa\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],"qa","senior qa","improve","jest","next","files","reports","react testing","up","coverage","analyze","configure","testing","api","testing patterns","SET","testing library","create","react","components","2026-11-10 10:12:30",false,"---\nname: \"senior-qa\"\ndescription: Generates unit tests, integration tests, and E2E tests for React\u002FNext.js applications. Scans components to create Jest + React Testing Library test stubs, analyzes Istanbul\u002FLCOV coverage reports to surface gaps, scaffolds Playwright test files from Next.js routes, mocks API calls with MSW, creates test fixtures, and configures test runners. Use when the user asks to \"generate tests\", \"write unit tests\", \"analyze test coverage\", \"scaffold E2E tests\", \"set up Playwright\", \"configure Jest\", \"implement testing patterns\", or \"improve test quality\".\n---\n\n# Senior QA Engineer\n\nTest automation, coverage analysis, and quality assurance patterns for React and Next.js applications.\n\n---\n\n## Quick Start\n\n```bash\n# Generate Jest test stubs for React components\npython scripts\u002Ftest_suite_generator.py src\u002Fcomponents\u002F --output __tests__\u002F\n\n# Analyze test coverage from Jest\u002FIstanbul reports\npython scripts\u002Fcoverage_analyzer.py coverage\u002Fcoverage-final.json --threshold 80\n\n# Scaffold Playwright E2E tests for Next.js routes\npython scripts\u002Fe2e_test_scaffolder.py src\u002Fapp\u002F --output e2e\u002F\n```\n\n---\n\n## Tools Overview\n\n### 1. Test Suite Generator\n\nScans React\u002FTypeScript components and generates Jest + React Testing Library test stubs with proper structure.\n\n**Input:** Source directory containing React components\n**Output:** Test files with describe blocks, render tests, interaction tests\n\n**Usage:**\n```bash\n# Basic usage - scan components and generate tests\npython scripts\u002Ftest_suite_generator.py src\u002Fcomponents\u002F --output __tests__\u002F\n\n# Include accessibility tests\npython scripts\u002Ftest_suite_generator.py src\u002F --output __tests__\u002F --include-a11y\n\n# Generate with custom template\npython scripts\u002Ftest_suite_generator.py src\u002F --template custom-template.tsx\n```\n\n**Supported Patterns:**\n- Functional components with hooks\n- Components with Context providers\n- Components with data fetching\n- Form components with validation\n\n---\n\n### 2. Coverage Analyzer\n\nParses Jest\u002FIstanbul coverage reports and identifies gaps, uncovered branches, and provides actionable recommendations.\n\n**Input:** Coverage report (JSON or LCOV format)\n**Output:** Coverage analysis with recommendations\n\n**Usage:**\n```bash\n# Analyze coverage report\npython scripts\u002Fcoverage_analyzer.py coverage\u002Fcoverage-final.json\n\n# Enforce threshold (exit 1 if below)\npython scripts\u002Fcoverage_analyzer.py coverage\u002F --threshold 80 --strict\n\n# Generate HTML report\npython scripts\u002Fcoverage_analyzer.py coverage\u002F --format html --output report.html\n```\n\n---\n\n### 3. E2E Test Scaffolder\n\nScans Next.js pages\u002Fapp directory and generates Playwright test files with common interactions.\n\n**Input:** Next.js pages or app directory\n**Output:** Playwright test files organized by route\n\n**Usage:**\n```bash\n# Scaffold E2E tests for Next.js App Router\npython scripts\u002Fe2e_test_scaffolder.py src\u002Fapp\u002F --output e2e\u002F\n\n# Include Page Object Model classes\npython scripts\u002Fe2e_test_scaffolder.py src\u002Fapp\u002F --output e2e\u002F --include-pom\n\n# Generate for specific routes\npython scripts\u002Fe2e_test_scaffolder.py src\u002Fapp\u002F --routes \"\u002Flogin,\u002Fdashboard,\u002Fcheckout\"\n```\n\n---\n\n## QA Workflows\n\n### Unit Test Generation Workflow\n\nUse when setting up tests for new or existing React components.\n\n**Step 1: Scan project for untested components**\n```bash\npython scripts\u002Ftest_suite_generator.py src\u002Fcomponents\u002F --scan-only\n```\n\n**Step 2: Generate test stubs**\n```bash\npython scripts\u002Ftest_suite_generator.py src\u002Fcomponents\u002F --output __tests__\u002F\n```\n\n**Step 3: Review and customize generated tests**\n```typescript\n\u002F\u002F __tests__\u002FButton.test.tsx (generated)\nimport { render, screen, fireEvent } from '@testing-library\u002Freact';\nimport { Button } from '..\u002Fsrc\u002Fcomponents\u002FButton';\n\ndescribe('Button', () => {\n  it('renders with label', () => {\n    render(\u003CButton>Click me\u003C\u002FButton>);\n    expect(screen.getByRole('button', { name: \"click-mei-tobeinthedocument\"\n  });\n\n  it('calls onClick when clicked', () => {\n    const handleClick = jest.fn();\n    render(\u003CButton onClick={handleClick}>Click\u003C\u002FButton>);\n    fireEvent.click(screen.getByRole('button'));\n    expect(handleClick).toHaveBeenCalledTimes(1);\n  });\n\n  \u002F\u002F TODO: Add your specific test cases\n});\n```\n\n**Step 4: Run tests and check coverage**\n```bash\nnpm test -- --coverage\npython scripts\u002Fcoverage_analyzer.py coverage\u002Fcoverage-final.json\n```\n\n---\n\n### Coverage Analysis Workflow\n\nUse when improving test coverage or preparing for release.\n\n**Step 1: Generate coverage report**\n```bash\nnpm test -- --coverage --coverageReporters=json\n```\n\n**Step 2: Analyze coverage gaps**\n```bash\npython scripts\u002Fcoverage_analyzer.py coverage\u002Fcoverage-final.json --threshold 80\n```\n\n**Step 3: Identify critical paths**\n```bash\npython scripts\u002Fcoverage_analyzer.py coverage\u002F --critical-paths\n```\n\n**Step 4: Generate missing test stubs**\n```bash\npython scripts\u002Ftest_suite_generator.py src\u002F --uncovered-only --output __tests__\u002F\n```\n\n**Step 5: Verify improvement**\n```bash\nnpm test -- --coverage\npython scripts\u002Fcoverage_analyzer.py coverage\u002F --compare previous-coverage.json\n```\n\n---\n\n### E2E Test Setup Workflow\n\nUse when setting up Playwright for a Next.js project.\n\n**Step 1: Initialize Playwright (if not installed)**\n```bash\nnpm init playwright@latest\n```\n\n**Step 2: Scaffold E2E tests from routes**\n```bash\npython scripts\u002Fe2e_test_scaffolder.py src\u002Fapp\u002F --output e2e\u002F\n```\n\n**Step 3: Configure authentication fixtures**\n```typescript\n\u002F\u002F e2e\u002Ffixtures\u002Fauth.ts (generated)\nimport { test as base } from '@playwright\u002Ftest';\n\nexport const test = base.extend({\n  authenticatedPage: async ({ page }, use) => {\n    await page.goto('\u002Flogin');\n    await page.fill('[name=\"email\"]', 'test@example.com');\n    await page.fill('[name=\"password\"]', 'password');\n    await page.click('button[type=\"submit\"]');\n    await page.waitForURL('\u002Fdashboard');\n    await use(page);\n  },\n});\n```\n\n**Step 4: Run E2E tests**\n```bash\nnpx playwright test\nnpx playwright show-report\n```\n\n**Step 5: Add to CI pipeline**\n```yaml\n# .github\u002Fworkflows\u002Fe2e.yml\n- name: \"run-e2e-tests\"\n  run: npx playwright test\n- name: \"upload-report\"\n  uses: actions\u002Fupload-artifact@v3\n  with:\n    name: \"playwright-report\"\n    path: playwright-report\u002F\n```\n\n---\n\n## Reference Documentation\n\n| File | Contains | Use When |\n|------|----------|----------|\n| `references\u002Ftesting_strategies.md` | Test pyramid, testing types, coverage targets, CI\u002FCD integration | Designing test strategy |\n| `references\u002Ftest_automation_patterns.md` | Page Object Model, mocking (MSW), fixtures, async patterns | Writing test code |\n| `references\u002Fqa_best_practices.md` | Testable code, flaky tests, debugging, quality metrics | Improving test quality |\n\n---\n\n## Common Patterns Quick Reference\n\n### React Testing Library Queries\n\n```typescript\n\u002F\u002F Preferred (accessible)\nscreen.getByRole('button', { name: \"submiti\"\nscreen.getByLabelText(\u002Femail\u002Fi)\nscreen.getByPlaceholderText(\u002Fsearch\u002Fi)\n\n\u002F\u002F Fallback\nscreen.getByTestId('custom-element')\n```\n\n### Async Testing\n\n```typescript\n\u002F\u002F Wait for element\nawait screen.findByText(\u002Floaded\u002Fi);\n\n\u002F\u002F Wait for removal\nawait waitForElementToBeRemoved(() => screen.queryByText(\u002Floading\u002Fi));\n\n\u002F\u002F Wait for condition\nawait waitFor(() => {\n  expect(mockFn).toHaveBeenCalled();\n});\n```\n\n### Mocking with MSW\n\n```typescript\nimport { rest } from 'msw';\nimport { setupServer } from 'msw\u002Fnode';\n\nconst server = setupServer(\n  rest.get('\u002Fapi\u002Fusers', (req, res, ctx) => {\n    return res(ctx.json([{ id: 1, name: \"john\" }]));\n  })\n);\n\nbeforeAll(() => server.listen());\nafterEach(() => server.resetHandlers());\nafterAll(() => server.close());\n```\n\n### Playwright Locators\n\n```typescript\n\u002F\u002F Preferred\npage.getByRole('button', { name: \"submit\" })\npage.getByLabel('Email')\npage.getByText('Welcome')\n\n\u002F\u002F Chaining\npage.getByRole('listitem').filter({ hasText: 'Product' })\n```\n\n### Coverage Thresholds (jest.config.js)\n\n```javascript\nmodule.exports = {\n  coverageThreshold: {\n    global: {\n      branches: 80,\n      functions: 80,\n      lines: 80,\n      statements: 80,\n    },\n  },\n};\n```\n\n---\n\n## Common Commands\n\n```bash\n# Jest\nnpm test                           # Run all tests\nnpm test -- --watch                # Watch mode\nnpm test -- --coverage             # With coverage\nnpm test -- Button.test.tsx        # Single file\n\n# Playwright\nnpx playwright test                # Run all E2E tests\nnpx playwright test --ui           # UI mode\nnpx playwright test --debug        # Debug mode\nnpx playwright codegen             # Generate tests\n\n# Coverage\nnpm test -- --coverage --coverageReporters=lcov,json\npython scripts\u002Fcoverage_analyzer.py coverage\u002Fcoverage-final.json\n```\n","# Senior QA Engineer\n\nTest automation, coverage analysis, and quality assurance patterns for React and Next.js applications.\n\n---\n\n## Quick Start\n\n```bash\n# Generate Jest test stubs for React components\npython scripts\u002Ftest_suite_generator.py src\u002Fcomponents\u002F --output __tests__\u002F\n\n# Analyze test coverage from Jest\u002FIstanbul reports\npython scripts\u002Fcoverage_analyzer.py coverage\u002Fcoverage-final.json --threshold 80\n\n# Scaffold Playwright E2E tests for Next.js routes\npython scripts\u002Fe2e_test_scaffolder.py src\u002Fapp\u002F --output e2e\u002F\n```\n\n---\n\n## Tools Overview\n\n### 1. Test Suite Generator\n\nScans React\u002FTypeScript components and generates Jest + React Testing Library test stubs with proper structure.\n\n**Input:** Source directory containing React components\n**Output:** Test files with describe blocks, render tests, interaction tests\n\n**Usage:**\n```bash\n# Basic usage - scan components and generate tests\npython scripts\u002Ftest_suite_generator.py src\u002Fcomponents\u002F --output __tests__\u002F\n\n# Include accessibility tests\npython scripts\u002Ftest_suite_generator.py src\u002F --output __tests__\u002F --include-a11y\n\n# Generate with custom template\npython scripts\u002Ftest_suite_generator.py src\u002F --template custom-template.tsx\n```\n\n**Supported Patterns:**\n- Functional components with hooks\n- Components with Context providers\n- Components with data fetching\n- Form components with validation\n\n---\n\n### 2. Coverage Analyzer\n\nParses Jest\u002FIstanbul coverage reports and identifies gaps, uncovered branches, and provides actionable recommendations.\n\n**Input:** Coverage report (JSON or LCOV format)\n**Output:** Coverage analysis with recommendations\n\n**Usage:**\n```bash\n# Analyze coverage report\npython scripts\u002Fcoverage_analyzer.py coverage\u002Fcoverage-final.json\n\n# Enforce threshold (exit 1 if below)\npython scripts\u002Fcoverage_analyzer.py coverage\u002F --threshold 80 --strict\n\n# Generate HTML report\npython scripts\u002Fcoverage_analyzer.py coverage\u002F --format html --output report.html\n```\n\n---\n\n### 3. E2E Test Scaffolder\n\nScans Next.js pages\u002Fapp directory and generates Playwright test files with common interactions.\n\n**Input:** Next.js pages or app directory\n**Output:** Playwright test files organized by route\n\n**Usage:**\n```bash\n# Scaffold E2E tests for Next.js App Router\npython scripts\u002Fe2e_test_scaffolder.py src\u002Fapp\u002F --output e2e\u002F\n\n# Include Page Object Model classes\npython scripts\u002Fe2e_test_scaffolder.py src\u002Fapp\u002F --output e2e\u002F --include-pom\n\n# Generate for specific routes\npython scripts\u002Fe2e_test_scaffolder.py src\u002Fapp\u002F --routes \"\u002Flogin,\u002Fdashboard,\u002Fcheckout\"\n```\n\n---\n\n## QA Workflows\n\n### Unit Test Generation Workflow\n\nUse when setting up tests for new or existing React components.\n\n**Step 1: Scan project for untested components**\n```bash\npython scripts\u002Ftest_suite_generator.py src\u002Fcomponents\u002F --scan-only\n```\n\n**Step 2: Generate test stubs**\n```bash\npython scripts\u002Ftest_suite_generator.py src\u002Fcomponents\u002F --output __tests__\u002F\n```\n\n**Step 3: Review and customize generated tests**\n```typescript\n\u002F\u002F __tests__\u002FButton.test.tsx (generated)\nimport { render, screen, fireEvent } from '@testing-library\u002Freact';\nimport { Button } from '..\u002Fsrc\u002Fcomponents\u002FButton';\n\ndescribe('Button', () => {\n  it('renders with label', () => {\n    render(\u003CButton>Click me\u003C\u002FButton>);\n    expect(screen.getByRole('button', { name: \"click-mei-tobeinthedocument\"\n  });\n\n  it('calls onClick when clicked', () => {\n    const handleClick = jest.fn();\n    render(\u003CButton onClick={handleClick}>Click\u003C\u002FButton>);\n    fireEvent.click(screen.getByRole('button'));\n    expect(handleClick).toHaveBeenCalledTimes(1);\n  });\n\n  \u002F\u002F TODO: Add your specific test cases\n});\n```\n\n**Step 4: Run tests and check coverage**\n```bash\nnpm test -- --coverage\npython scripts\u002Fcoverage_analyzer.py coverage\u002Fcoverage-final.json\n```\n\n---\n\n### Coverage Analysis Workflow\n\nUse when improving test coverage or preparing for release.\n\n**Step 1: Generate coverage report**\n```bash\nnpm test -- --coverage --coverageReporters=json\n```\n\n**Step 2: Analyze coverage gaps**\n```bash\npython scripts\u002Fcoverage_analyzer.py coverage\u002Fcoverage-final.json --threshold 80\n```\n\n**Step 3: Identify critical paths**\n```bash\npython scripts\u002Fcoverage_analyzer.py coverage\u002F --critical-paths\n```\n\n**Step 4: Generate missing test stubs**\n```bash\npython scripts\u002Ftest_suite_generator.py src\u002F --uncovered-only --output __tests__\u002F\n```\n\n**Step 5: Verify improvement**\n```bash\nnpm test -- --coverage\npython scripts\u002Fcoverage_analyzer.py coverage\u002F --compare previous-coverage.json\n```\n\n---\n\n### E2E Test Setup Workflow\n\nUse when setting up Playwright for a Next.js project.\n\n**Step 1: Initialize Playwright (if not installed)**\n```bash\nnpm init playwright@latest\n```\n\n**Step 2: Scaffold E2E tests from routes**\n```bash\npython scripts\u002Fe2e_test_scaffolder.py src\u002Fapp\u002F --output e2e\u002F\n```\n\n**Step 3: Configure authentication fixtures**\n```typescript\n\u002F\u002F e2e\u002Ffixtures\u002Fauth.ts (generated)\nimport { test as base } from '@playwright\u002Ftest';\n\nexport const test = base.extend({\n  authenticatedPage: async ({ page }, use) => {\n    await page.goto('\u002Flogin');\n    await page.fill('[name=\"email\"]', 'test@example.com');\n    await page.fill('[name=\"password\"]', 'password');\n    await page.click('button[type=\"submit\"]');\n    await page.waitForURL('\u002Fdashboard');\n    await use(page);\n  },\n});\n```\n\n**Step 4: Run E2E tests**\n```bash\nnpx playwright test\nnpx playwright show-report\n```\n\n**Step 5: Add to CI pipeline**\n```yaml\n# .github\u002Fworkflows\u002Fe2e.yml\n- name: \"run-e2e-tests\"\n  run: npx playwright test\n- name: \"upload-report\"\n  uses: actions\u002Fupload-artifact@v3\n  with:\n    name: \"playwright-report\"\n    path: playwright-report\u002F\n```\n\n---\n\n## Reference Documentation\n\n| File | Contains | Use When |\n|------|----------|----------|\n| `references\u002Ftesting_strategies.md` | Test pyramid, testing types, coverage targets, CI\u002FCD integration | Designing test strategy |\n| `references\u002Ftest_automation_patterns.md` | Page Object Model, mocking (MSW), fixtures, async patterns | Writing test code |\n| `references\u002Fqa_best_practices.md` | Testable code, flaky tests, debugging, quality metrics | Improving test quality |\n\n---\n\n## Common Patterns Quick Reference\n\n### React Testing Library Queries\n\n```typescript\n\u002F\u002F Preferred (accessible)\nscreen.getByRole('button', { name: \"submiti\"\nscreen.getByLabelText(\u002Femail\u002Fi)\nscreen.getByPlaceholderText(\u002Fsearch\u002Fi)\n\n\u002F\u002F Fallback\nscreen.getByTestId('custom-element')\n```\n\n### Async Testing\n\n```typescript\n\u002F\u002F Wait for element\nawait screen.findByText(\u002Floaded\u002Fi);\n\n\u002F\u002F Wait for removal\nawait waitForElementToBeRemoved(() => screen.queryByText(\u002Floading\u002Fi));\n\n\u002F\u002F Wait for condition\nawait waitFor(() => {\n  expect(mockFn).toHaveBeenCalled();\n});\n```\n\n### Mocking with MSW\n\n```typescript\nimport { rest } from 'msw';\nimport { setupServer } from 'msw\u002Fnode';\n\nconst server = setupServer(\n  rest.get('\u002Fapi\u002Fusers', (req, res, ctx) => {\n    return res(ctx.json([{ id: 1, name: \"john\" }]));\n  })\n);\n\nbeforeAll(() => server.listen());\nafterEach(() => server.resetHandlers());\nafterAll(() => server.close());\n```\n\n### Playwright Locators\n\n```typescript\n\u002F\u002F Preferred\npage.getByRole('button', { name: \"submit\" })\npage.getByLabel('Email')\npage.getByText('Welcome')\n\n\u002F\u002F Chaining\npage.getByRole('listitem').filter({ hasText: 'Product' })\n```\n\n### Coverage Thresholds (jest.config.js)\n\n```javascript\nmodule.exports = {\n  coverageThreshold: {\n    global: {\n      branches: 80,\n      functions: 80,\n      lines: 80,\n      statements: 80,\n    },\n  },\n};\n```\n\n---\n\n## Common Commands\n\n```bash\n# Jest\nnpm test                           # Run all tests\nnpm test -- --watch                # Watch mode\nnpm test -- --coverage             # With coverage\nnpm test -- Button.test.tsx        # Single file\n\n# Playwright\nnpx playwright test                # Run all E2E tests\nnpx playwright test --ui           # UI mode\nnpx playwright test --debug        # Debug mode\nnpx playwright codegen             # Generate tests\n\n# Coverage\nnpm test -- --coverage --coverageReporters=lcov,json\npython scripts\u002Fcoverage_analyzer.py coverage\u002Fcoverage-final.json\n```\n",{"name":5,"description":7},"main","c0a12fc98d85642fa8893e31fc5cf5dfad879de6","engineering-team\u002Fsenior-qa",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":60,"prompt":70,"zipAvailable":71},[61,64,67],{"tool":62,"command":63},"npx","npx skills add zhangzhang-111-i\u002Fclaude-skills111 --skill senior-qa",{"tool":65,"command":66},"bunx","bunx skills add zhangzhang-111-i\u002Fclaude-skills111 --skill senior-qa",{"tool":68,"command":69},"pnpm","pnpm dlx skills add zhangzhang-111-i\u002Fclaude-skills111 --skill senior-qa","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fzhangzhang-111-i\u002Fclaude-skills111\u002Fblob\u002Fmain\u002Fengineering-team\u002Fsenior-qa\u002FSKILL.md",true,[73,79,83,87,91,97,101],{"path":74,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":77,"sourceHtmlUrl":78},"README.md","REFERENCE","参考文档",5705,"https:\u002F\u002Fgithub.com\u002Fzhangzhang-111-i\u002Fclaude-skills111\u002Fblob\u002Fmain\u002Fengineering-team\u002Fsenior-qa\u002FREADME.md",{"path":80,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":81,"sourceHtmlUrl":82},"references\u002Fqa_best_practices.md",23792,"https:\u002F\u002Fgithub.com\u002Fzhangzhang-111-i\u002Fclaude-skills111\u002Fblob\u002Fmain\u002Fengineering-team\u002Fsenior-qa\u002Freferences\u002Fqa_best_practices.md",{"path":84,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":85,"sourceHtmlUrl":86},"references\u002Ftest_automation_patterns.md",24981,"https:\u002F\u002Fgithub.com\u002Fzhangzhang-111-i\u002Fclaude-skills111\u002Fblob\u002Fmain\u002Fengineering-team\u002Fsenior-qa\u002Freferences\u002Ftest_automation_patterns.md",{"path":88,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":89,"sourceHtmlUrl":90},"references\u002Ftesting_strategies.md",17198,"https:\u002F\u002Fgithub.com\u002Fzhangzhang-111-i\u002Fclaude-skills111\u002Fblob\u002Fmain\u002Fengineering-team\u002Fsenior-qa\u002Freferences\u002Ftesting_strategies.md",{"path":92,"resourceType":93,"resourceTypeDesc":94,"sizeBytes":95,"sourceHtmlUrl":96},"scripts\u002Fcoverage_analyzer.py","SCRIPT","脚本",29915,"https:\u002F\u002Fgithub.com\u002Fzhangzhang-111-i\u002Fclaude-skills111\u002Fblob\u002Fmain\u002Fengineering-team\u002Fsenior-qa\u002Fscripts\u002Fcoverage_analyzer.py",{"path":98,"resourceType":93,"resourceTypeDesc":94,"sizeBytes":99,"sourceHtmlUrl":100},"scripts\u002Fe2e_test_scaffolder.py",26469,"https:\u002F\u002Fgithub.com\u002Fzhangzhang-111-i\u002Fclaude-skills111\u002Fblob\u002Fmain\u002Fengineering-team\u002Fsenior-qa\u002Fscripts\u002Fe2e_test_scaffolder.py",{"path":102,"resourceType":93,"resourceTypeDesc":94,"sizeBytes":103,"sourceHtmlUrl":104},"scripts\u002Ftest_suite_generator.py",19896,"https:\u002F\u002Fgithub.com\u002Fzhangzhang-111-i\u002Fclaude-skills111\u002Fblob\u002Fmain\u002Fengineering-team\u002Fsenior-qa\u002Fscripts\u002Ftest_suite_generator.py",[106,133,159,187,207,230],{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":112,"publishedAt":47},"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",[],[113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132],"risk","risk management specialist","management","risk management","risk analysis","risk evaluation","product","Evaluation","Production","lifecycle","analysis","user","use","risk matrix","Market","device","control","iso","medical","iso 14971",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":139,"publishedAt":47},"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",[],[140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,131,158],"regulatory affairs head","regulatory","head","documentation","documents","packages","planning","devices","plan","access","write","strategy","evidence","standards","manage","intelligence","across","strategies","clinical",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":173,"publishedAt":47},"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",[165,168],{"categoryNo":166,"categoryName":167,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":169,"categoryName":170,"taxonomyType":171,"taxonomyTypeDesc":172},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[174,175,176,177,178,179,143,180,181,182,183,184,125,141,35,185,186,129,130,131],"quality manager qms iso13485","quality","design","review","support","workflows","audit","actions","compliance","system","process","maintenance","document",{"skillNo":188,"name":189,"nameZh":6,"description":190,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":191,"categories":192,"keywords":196,"publishedAt":47},"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",[193],{"categoryNo":194,"categoryName":195,"taxonomyType":171,"taxonomyTypeDesc":172},"01JBSEEDCAT000000000000037","律师与法务",[197,175,177,198,199,200,201,182,202,183,115,203,141,204,205,206,130],"quality manager qmr","policy","performance","governance","monitoring","regulatory compliance","oversight","cost","culture","leadership",{"skillNo":208,"name":209,"nameZh":6,"description":210,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":211,"categories":212,"keywords":217,"publishedAt":47},"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",[213,216],{"categoryNo":214,"categoryName":215,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000002","文档处理",{"categoryNo":194,"categoryName":195,"taxonomyType":171,"taxonomyTypeDesc":172},[143,218,175,177,219,220,180,122,221,183,222,223,125,224,225,226,131,227,228,229],"quality documentation manager","workflow","change","document lifecycle","change management","list","master","system management","documentation review","cfr","21 cfr part 11","change control",{"skillNo":231,"name":232,"nameZh":6,"description":233,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":234,"categories":235,"keywords":236,"publishedAt":47},"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",[],[180,237,238,146,239,240,241,242,115,125,243,128,130,131],"qms audit expert","expert","verification","execution","classification","schedule","checklist"]