[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6P9A654XBTJXG19BWATTP0J":3,"skill-same:01M6P9A654XBTJXG19BWATTP0J":81},{"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":41,"linkOnly":42,"markdownContent":43,"markdownBody":44,"frontMatter":45,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":49,"repositoryHtmlUrl":50,"repositoryHomepageUrl":6,"ownerHtmlUrl":51,"ownerBlogUrl":52,"ownerDescription":53,"updatedAt":54,"install":55,"resources":68},"01M6P9A654XBTJXG19BWATTP0J","bmad-qa-generate-e2e-tests",null,"Generate end to end automated tests for existing features. Use when the user says \"create qa automated tests for [feature]\"","combsmith\u002F.github-private","combsmith","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F258516906?v=4","01M6H305A64BBE95VKYNNXDV4Y","CombSmith","01M6P8XQJHQ22WV72XSHE3NSKS",4,"MIT","https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-method\u002Fsrc\u002Fbmm-skills\u002F4-implementation\u002Fbmad-qa-generate-e2e-tests\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40],"generate","qa","e2e","bmad qa generate e2e tests","generate e2e tests","e2e tests","bmad qa","tests","bmad","use","features","Existing","for","end","feature","user","create","2026-11-10 10:12:30",false,"---\nname: bmad-qa-generate-e2e-tests\ndescription: 'Generate end to end automated tests for existing features. Use when the user says \"create qa automated tests for [feature]\"'\n---\n\n# QA Generate E2E Tests Workflow\n\n**Goal:** Generate automated API and E2E tests for implemented code.\n\n**Your Role:** You are a QA automation engineer. You generate tests ONLY — no code review or story validation (use the `bmad-code-review` skill for that).\n\n## Conventions\n\n- Bare paths (e.g. `checklist.md`) resolve from the skill root.\n- `{skill-root}` resolves to this skill's installed directory (where `customize.toml` lives).\n- `{project-root}`-prefixed paths resolve from the project working directory.\n- `{skill-name}` resolves to the skill directory's basename.\n\n## On Activation\n\n### Step 1: Resolve the Workflow Block\n\nRun: `python3 {project-root}\u002F_bmad\u002Fscripts\u002Fresolve_customization.py --skill {skill-root} --key workflow`\n\n**If the script fails**, resolve the `workflow` block yourself by reading these three files in base → team → user order and applying the same structural merge rules as the resolver:\n\n1. `{skill-root}\u002Fcustomize.toml` — defaults\n2. `{project-root}\u002F_bmad\u002Fcustom\u002F{skill-name}.toml` — team overrides\n3. `{project-root}\u002F_bmad\u002Fcustom\u002F{skill-name}.user.toml` — personal overrides\n\nAny missing file is skipped. Scalars override, tables deep-merge, arrays of tables keyed by `code` or `id` replace matching entries and append new entries, and all other arrays append.\n\n### Step 2: Execute Prepend Steps\n\nExecute each entry in `{workflow.activation_steps_prepend}` in order before proceeding.\n\n### Step 3: Load Persistent Facts\n\nTreat every entry in `{workflow.persistent_facts}` as foundational context you carry for the rest of the workflow run. Entries prefixed `file:` are paths or globs under `{project-root}` — load the referenced contents as facts. All other entries are facts verbatim.\n\n### Step 4: Load Config\n\nLoad config from `{project-root}\u002F_bmad\u002Fbmm\u002Fconfig.yaml` and resolve:\n\n- `project_name`, `user_name`\n- `communication_language`, `document_output_language`\n- `implementation_artifacts`\n- `date` as system-generated current datetime\n- YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`\n\n### Step 5: Greet the User\n\nGreet `{user_name}`, speaking in `{communication_language}`.\n\n### Step 6: Execute Append Steps\n\nExecute each entry in `{workflow.activation_steps_append}` in order.\n\nActivation is complete. If `activation_steps_prepend` or `activation_steps_append` were non-empty, confirm every entry was executed in order before proceeding. Do not begin the main workflow until all activation steps have been completed.\n\n## Paths\n\n- `test_dir` = `{project-root}\u002Ftests`\n- `source_dir` = `{project-root}`\n- `default_output_file` = `{implementation_artifacts}\u002Ftests\u002Ftest-summary.md`\n\n## Execution\n\n### Step 0: Detect Test Framework\n\nCheck project for existing test framework:\n\n- Look for `package.json` dependencies (playwright, jest, vitest, cypress, etc.)\n- Check for existing test files to understand patterns\n- Use whatever test framework the project already has\n- If no framework exists:\n  - Analyze source code to determine project type (React, Vue, Node API, etc.)\n  - Search online for current recommended test framework for that stack\n  - Suggest the meta framework and use it (or ask user to confirm)\n\n### Step 1: Identify Features\n\nAsk user what to test:\n\n- Specific feature\u002Fcomponent name\n- Directory to scan (e.g., `src\u002Fcomponents\u002F`)\n- Or auto-discover features in the codebase\n\n### Step 2: Generate API Tests (if applicable)\n\nFor API endpoints\u002Fservices, generate tests that:\n\n- Test status codes (200, 400, 404, 500)\n- Validate response structure\n- Cover happy path + 1-2 error cases\n- Use project's existing test framework patterns\n\n### Step 3: Generate E2E Tests (if UI exists)\n\nFor UI features, generate tests that:\n\n- Test user workflows end-to-end\n- Use semantic locators (roles, labels, text)\n- Focus on user interactions (clicks, form fills, navigation)\n- Assert visible outcomes\n- Keep tests linear and simple\n- Follow project's existing test patterns\n\n### Step 4: Run Tests\n\nExecute tests to verify they pass (use project's test command).\n\nIf failures occur, fix them immediately.\n\n### Step 5: Create Summary\n\nOutput markdown summary:\n\n```markdown\n# Test Automation Summary\n\n## Generated Tests\n\n### API Tests\n- [x] tests\u002Fapi\u002Fendpoint.spec.ts - Endpoint validation\n\n### E2E Tests\n- [x] tests\u002Fe2e\u002Ffeature.spec.ts - User workflow\n\n## Coverage\n- API endpoints: 5\u002F10 covered\n- UI features: 3\u002F8 covered\n\n## Next Steps\n- Run tests in CI\n- Add more edge cases as needed\n```\n\n## Keep It Simple\n\n**Do:**\n\n- Use standard test framework APIs\n- Focus on happy path + critical errors\n- Write readable, maintainable tests\n- Run tests to verify they pass\n\n**Avoid:**\n\n- Complex fixture composition\n- Over-engineering\n- Unnecessary abstractions\n\n**For Advanced Features:**\n\nIf the project needs:\n\n- Risk-based test strategy\n- Test design planning\n- Quality gates and NFR assessment\n- Comprehensive coverage analysis\n- Advanced testing patterns and utilities\n\n> **Install Test Architect (TEA) module**: \u003Chttps:\u002F\u002Fbmad-code-org.github.io\u002Fbmad-method-test-architecture-enterprise\u002F>\n\n## Output\n\nSave summary to: `{default_output_file}`\n\n**Done!** Tests generated and verified. Validate against `.\u002Fchecklist.md`.\n\n## On Complete\n\nRun: `python3 {project-root}\u002F_bmad\u002Fscripts\u002Fresolve_customization.py --skill {skill-root} --key workflow.on_complete`\n\nIf the resolved `workflow.on_complete` is non-empty, follow it as the final terminal instruction before exiting.\n","# QA Generate E2E Tests Workflow\n\n**Goal:** Generate automated API and E2E tests for implemented code.\n\n**Your Role:** You are a QA automation engineer. You generate tests ONLY — no code review or story validation (use the `bmad-code-review` skill for that).\n\n## Conventions\n\n- Bare paths (e.g. `checklist.md`) resolve from the skill root.\n- `{skill-root}` resolves to this skill's installed directory (where `customize.toml` lives).\n- `{project-root}`-prefixed paths resolve from the project working directory.\n- `{skill-name}` resolves to the skill directory's basename.\n\n## On Activation\n\n### Step 1: Resolve the Workflow Block\n\nRun: `python3 {project-root}\u002F_bmad\u002Fscripts\u002Fresolve_customization.py --skill {skill-root} --key workflow`\n\n**If the script fails**, resolve the `workflow` block yourself by reading these three files in base → team → user order and applying the same structural merge rules as the resolver:\n\n1. `{skill-root}\u002Fcustomize.toml` — defaults\n2. `{project-root}\u002F_bmad\u002Fcustom\u002F{skill-name}.toml` — team overrides\n3. `{project-root}\u002F_bmad\u002Fcustom\u002F{skill-name}.user.toml` — personal overrides\n\nAny missing file is skipped. Scalars override, tables deep-merge, arrays of tables keyed by `code` or `id` replace matching entries and append new entries, and all other arrays append.\n\n### Step 2: Execute Prepend Steps\n\nExecute each entry in `{workflow.activation_steps_prepend}` in order before proceeding.\n\n### Step 3: Load Persistent Facts\n\nTreat every entry in `{workflow.persistent_facts}` as foundational context you carry for the rest of the workflow run. Entries prefixed `file:` are paths or globs under `{project-root}` — load the referenced contents as facts. All other entries are facts verbatim.\n\n### Step 4: Load Config\n\nLoad config from `{project-root}\u002F_bmad\u002Fbmm\u002Fconfig.yaml` and resolve:\n\n- `project_name`, `user_name`\n- `communication_language`, `document_output_language`\n- `implementation_artifacts`\n- `date` as system-generated current datetime\n- YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`\n\n### Step 5: Greet the User\n\nGreet `{user_name}`, speaking in `{communication_language}`.\n\n### Step 6: Execute Append Steps\n\nExecute each entry in `{workflow.activation_steps_append}` in order.\n\nActivation is complete. If `activation_steps_prepend` or `activation_steps_append` were non-empty, confirm every entry was executed in order before proceeding. Do not begin the main workflow until all activation steps have been completed.\n\n## Paths\n\n- `test_dir` = `{project-root}\u002Ftests`\n- `source_dir` = `{project-root}`\n- `default_output_file` = `{implementation_artifacts}\u002Ftests\u002Ftest-summary.md`\n\n## Execution\n\n### Step 0: Detect Test Framework\n\nCheck project for existing test framework:\n\n- Look for `package.json` dependencies (playwright, jest, vitest, cypress, etc.)\n- Check for existing test files to understand patterns\n- Use whatever test framework the project already has\n- If no framework exists:\n  - Analyze source code to determine project type (React, Vue, Node API, etc.)\n  - Search online for current recommended test framework for that stack\n  - Suggest the meta framework and use it (or ask user to confirm)\n\n### Step 1: Identify Features\n\nAsk user what to test:\n\n- Specific feature\u002Fcomponent name\n- Directory to scan (e.g., `src\u002Fcomponents\u002F`)\n- Or auto-discover features in the codebase\n\n### Step 2: Generate API Tests (if applicable)\n\nFor API endpoints\u002Fservices, generate tests that:\n\n- Test status codes (200, 400, 404, 500)\n- Validate response structure\n- Cover happy path + 1-2 error cases\n- Use project's existing test framework patterns\n\n### Step 3: Generate E2E Tests (if UI exists)\n\nFor UI features, generate tests that:\n\n- Test user workflows end-to-end\n- Use semantic locators (roles, labels, text)\n- Focus on user interactions (clicks, form fills, navigation)\n- Assert visible outcomes\n- Keep tests linear and simple\n- Follow project's existing test patterns\n\n### Step 4: Run Tests\n\nExecute tests to verify they pass (use project's test command).\n\nIf failures occur, fix them immediately.\n\n### Step 5: Create Summary\n\nOutput markdown summary:\n\n```markdown\n# Test Automation Summary\n\n## Generated Tests\n\n### API Tests\n- [x] tests\u002Fapi\u002Fendpoint.spec.ts - Endpoint validation\n\n### E2E Tests\n- [x] tests\u002Fe2e\u002Ffeature.spec.ts - User workflow\n\n## Coverage\n- API endpoints: 5\u002F10 covered\n- UI features: 3\u002F8 covered\n\n## Next Steps\n- Run tests in CI\n- Add more edge cases as needed\n```\n\n## Keep It Simple\n\n**Do:**\n\n- Use standard test framework APIs\n- Focus on happy path + critical errors\n- Write readable, maintainable tests\n- Run tests to verify they pass\n\n**Avoid:**\n\n- Complex fixture composition\n- Over-engineering\n- Unnecessary abstractions\n\n**For Advanced Features:**\n\nIf the project needs:\n\n- Risk-based test strategy\n- Test design planning\n- Quality gates and NFR assessment\n- Comprehensive coverage analysis\n- Advanced testing patterns and utilities\n\n> **Install Test Architect (TEA) module**: \u003Chttps:\u002F\u002Fbmad-code-org.github.io\u002Fbmad-method-test-architecture-enterprise\u002F>\n\n## Output\n\nSave summary to: `{default_output_file}`\n\n**Done!** Tests generated and verified. Validate against `.\u002Fchecklist.md`.\n\n## On Complete\n\nRun: `python3 {project-root}\u002F_bmad\u002Fscripts\u002Fresolve_customization.py --skill {skill-root} --key workflow.on_complete`\n\nIf the resolved `workflow.on_complete` is non-empty, follow it as the final terminal instruction before exiting.\n",{"name":5,"description":7},"main","46520352938752d2973ade5f7a84b01205f7aac6","frameworks\u002Fbmad-method\u002Fsrc\u002Fbmm-skills\u002F4-implementation\u002Fbmad-qa-generate-e2e-tests",1,"https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private","https:\u002F\u002Fgithub.com\u002Fcombsmith","https:\u002F\u002Fcombsmith.com","Open-source tools and experiments spanning agent orchestration, AI agent interfaces, AI content tooling, beekeeping tech, personal finance, and consumer apps.","2026-11-12 03:31:47",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add combsmith\u002F.github-private --skill bmad-qa-generate-e2e-tests",{"tool":61,"command":62},"bunx","bunx skills add combsmith\u002F.github-private --skill bmad-qa-generate-e2e-tests",{"tool":64,"command":65},"pnpm","pnpm dlx skills add combsmith\u002F.github-private --skill bmad-qa-generate-e2e-tests","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-method\u002Fsrc\u002Fbmm-skills\u002F4-implementation\u002Fbmad-qa-generate-e2e-tests\u002FSKILL.md",true,[69,75],{"path":70,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":73,"sourceHtmlUrl":74},"checklist.md","REFERENCE","参考文档",891,"https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-method\u002Fsrc\u002Fbmm-skills\u002F4-implementation\u002Fbmad-qa-generate-e2e-tests\u002Fchecklist.md",{"path":76,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":79,"sourceHtmlUrl":80},"customize.toml","OTHER","其他",1639,"https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-method\u002Fsrc\u002Fbmm-skills\u002F4-implementation\u002Fbmad-qa-generate-e2e-tests\u002Fcustomize.toml",[82,103,117,144,161,179],{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":89,"publishedAt":41},"01M6P9K2GYFR9RBTH96ADYZXEW","bmad-testarch-trace","Generate traceability matrix and quality gate decision. Use when the user says \"lets create traceability matrix\" or \"I want to analyze test coverage\"","https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-test-architecture\u002Fsrc\u002Fworkflows\u002Ftestarch\u002Fbmad-testarch-trace\u002FSKILL.md",[88],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[90,91,32,92,93,94,95,96,97,33,98,39,99,100,24,40,101,102],"trace","bmad testarch trace","bmad testarch","analyze","matrix","traceability","gate","test coverage","coverage","decision","quality","quality gate","test",{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":110,"publishedAt":41},"01M6P9JB7TD978DGCMEWWJ88GR","bmad-testarch-test-review","Review test quality using best practices validation. Use when user says \"lets review tests\" or \"I want to evaluate test quality\"","https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-test-architecture\u002Fsrc\u002Fworkflows\u002Ftestarch\u002Fbmad-testarch-test-review\u002FSKILL.md",[109],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[32,92,111,112,113,102,114,31,115,116,33,39,100],"test review","bmad testarch test review","review","best practices","validation","evaluate",{"skillNo":118,"name":119,"nameZh":6,"description":120,"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":132,"publishedAt":41},"01M6P9J2FJH9X93F027N9XKP8G","bmad-testarch-test-design","Create system-level or epic-level test plans. Use when the user says \"lets design test plan\" or \"I want to create test strategy\"","https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-test-architecture\u002Fsrc\u002Fworkflows\u002Ftestarch\u002Fbmad-testarch-test-design\u002FSKILL.md",[123,124,127],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":125,"categoryName":126,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":128,"categoryName":129,"taxonomyType":130,"taxonomyTypeDesc":131},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[92,32,133,134,102,135,136,137,138,139,33,39,140,141,142,40,143],"bmad testarch test design","design","test design","create test","EPIC","plans","test strategy","strategy","plan","test plan","system",{"skillNo":145,"name":146,"nameZh":6,"description":147,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":148,"categories":149,"keywords":150,"publishedAt":41},"01M6P9HNE1J104G3EYV50FET7Q","bmad-testarch-nfr","Audit NFR evidence for performance, security, reliability, and scalability. Use when implementation evidence exists and the user says \"audit NFR evidence\", \"audit NFRs\", or \"evaluate non-functional requirements\"","https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-test-architecture\u002Fsrc\u002Fworkflows\u002Ftestarch\u002Fbmad-testarch-nfr\u002FSKILL.md",[],[151,32,92,116,152,36,153,154,155,156,157,33,39,158,159,160],"bmad testarch nfr","reliability","functional","requirements","scalability","implementation","evidence","audit","performance","security",{"skillNo":162,"name":163,"nameZh":6,"description":164,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":165,"categories":166,"keywords":168,"publishedAt":41},"01M6P9HD6HCAFVSRQWT2Z62NEM","bmad-testarch-framework","Initialize test framework with Playwright or Cypress. Use when the user says \"lets setup test framework\" or \"I want to initialize testing framework\"","https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-test-architecture\u002Fsrc\u002Fworkflows\u002Ftestarch\u002Fbmad-testarch-framework\u002FSKILL.md",[167],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[169,170,32,92,171,172,173,102,174,175,176,177,178,33,39],"bmad testarch framework","framework","testing framework","setup","test framework","playwright","testing","initialize","with","cypress",{"skillNo":180,"name":181,"nameZh":6,"description":182,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":183,"categories":184,"keywords":189,"publishedAt":41},"01M6P9GVNB0SW4HPA4VR9VNN2V","bmad-testarch-ci","Scaffold CI\u002FCD quality pipeline with test execution. Use when the user says \"lets setup CI pipeline\" or \"I want to create quality gates\"","https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-test-architecture\u002Fsrc\u002Fworkflows\u002Ftestarch\u002Fbmad-testarch-ci\u002FSKILL.md",[185,186],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":187,"categoryName":188,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",[32,92,190,191,192,177,193,194,195,33,39,100,196,197,40,198,172,199,102],"bmad testarch ci","ci","gates","CI\u002FCD","test execution","cd","execution","pipeline","quality gates","scaffold"]