synapse-hub 2.2.4 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (311) hide show
  1. package/.agents/agents/failure-analyst.md +11 -0
  2. package/.agents/agents/live-explorer.md +28 -0
  3. package/.agents/agents/orchestrator.md +20 -4
  4. package/.agents/agents/pom-crafter.md +12 -0
  5. package/.agents/agents/quality-gatekeeper.md +19 -4
  6. package/.agents/agents/test-runner.md +11 -0
  7. package/.agents/rules/communication-style.md +40 -0
  8. package/.agents/rules/context-engineering.md +23 -0
  9. package/.agents/rules/git-push-protocol.md +10 -16
  10. package/.agents/rules/graphify.md +14 -14
  11. package/.agents/rules/mandatory-playwright-live.md +29 -29
  12. package/.agents/rules/mobile_appium_rules.md +132 -0
  13. package/.agents/rules/performance_testing_rules.md +74 -0
  14. package/.agents/rules/systematic-debugging.md +6 -6
  15. package/.agents/skills/agent-orchestration-multi-agent-optimize/SKILL.md +64 -215
  16. package/.agents/skills/agent-orchestration-multi-agent-optimize/examples/swarm_workload_config.json +12 -0
  17. package/.agents/skills/antigravity-test-sentinel/SKILL.md +3 -3
  18. package/.agents/skills/antigravity-test-sentinel/examples/dod_gate_policy.json +11 -0
  19. package/.agents/skills/api-network-mocking-interception/SKILL.md +1 -1
  20. package/.agents/skills/api-network-mocking-interception/examples/network_route_stub.json +9 -0
  21. package/.agents/skills/api-spec-to-e2e-matrix/SKILL.md +9 -9
  22. package/.agents/skills/api-spec-to-e2e-matrix/examples/sample_openapi.json +19 -0
  23. package/.agents/skills/architecture-decision-records/SKILL.md +35 -412
  24. package/.agents/skills/architecture-decision-records/examples/0001-record-architecture-decisions.md +12 -0
  25. package/.agents/skills/auth-session-and-cookie-manager/SKILL.md +1 -1
  26. package/.agents/skills/auth-session-and-cookie-manager/examples/storage_state_sample.json +11 -0
  27. package/.agents/skills/backend-load-and-stress-patterns/SKILL.md +80 -186
  28. package/.agents/skills/backend-load-and-stress-patterns/examples/k6_load_test_sample.js +13 -0
  29. package/.agents/skills/bats-testing-patterns/SKILL.md +1 -1
  30. package/.agents/skills/bats-testing-patterns/examples/cli_runner_test.bats +6 -0
  31. package/.agents/skills/bats-testing-patterns/resources/implementation-playbook.md +614 -614
  32. package/.agents/skills/clean-pom-crafter/SKILL.md +21 -3
  33. package/.agents/skills/clean-pom-crafter/examples/standard_test_case.groovy +28 -28
  34. package/.agents/skills/clean-pom-crafter/references/pom_patterns.groovy +138 -138
  35. package/.agents/skills/code-refactoring-refactor-clean/SKILL.md +2 -2
  36. package/.agents/skills/code-refactoring-refactor-clean/examples/refactored_page_sample.groovy +9 -0
  37. package/.agents/skills/db-state-verifier-and-seeder/SKILL.md +5 -5
  38. package/.agents/skills/db-state-verifier-and-seeder/examples/db_fixture_seed.json +12 -0
  39. package/.agents/skills/e2e-testing-patterns/SKILL.md +1 -1
  40. package/.agents/skills/e2e-testing-patterns/examples/playwright_sharded_config.ts +12 -0
  41. package/.agents/skills/e2e-testing-patterns/resources/implementation-playbook.md +522 -522
  42. package/.agents/skills/failure-autopsy-and-healing/SKILL.md +17 -3
  43. package/.agents/skills/failure-autopsy-and-healing/examples/sample_junit_failure.xml +8 -0
  44. package/.agents/skills/failure-autopsy-and-healing/references/healing_matrix.md +64 -64
  45. package/.agents/skills/failure-autopsy-and-healing/references/qa_investigation_protocol.md +56 -56
  46. package/.agents/skills/failure-autopsy-and-healing/scripts/triage_failures.sh +98 -98
  47. package/.agents/skills/file-and-report-validator/SKILL.md +1 -1
  48. package/.agents/skills/file-and-report-validator/examples/sample_export_schema.json +14 -0
  49. package/.agents/skills/flaky-test-sentinel-and-quarantine/SKILL.md +3 -3
  50. package/.agents/skills/flaky-test-sentinel-and-quarantine/examples/quarantine_registry.json +11 -0
  51. package/.agents/skills/gherkin-to-suite/SKILL.md +103 -0
  52. package/.agents/skills/gherkin-to-suite/examples/checkout.feature +39 -0
  53. package/.agents/skills/gherkin-to-suite/examples/suite_report_sample.json +334 -0
  54. package/.agents/skills/github-actions-templates/SKILL.md +47 -304
  55. package/.agents/skills/github-actions-templates/examples/matrix_test_pipeline.yml +8 -0
  56. package/.agents/skills/graphify-impact-analyzer/SKILL.md +6 -6
  57. package/.agents/skills/graphify-impact-analyzer/examples/dependency_blast_radius.json +8 -0
  58. package/.agents/skills/katalon-cli-runner/SKILL.md +2 -2
  59. package/.agents/skills/katalon-cli-runner/examples/headless_kre_exec.sh +3 -0
  60. package/.agents/skills/katalon-cli-runner/references/groovy-patterns.md +209 -209
  61. package/.agents/skills/katalon-cli-runner/references/katalon-api.md +155 -155
  62. package/.agents/skills/katalon-cli-runner/references/runner_commands.md +67 -67
  63. package/.agents/skills/lam-script-generator/SKILL.md +42 -1
  64. package/.agents/skills/lam-script-generator/examples/user_story_sample.md +8 -0
  65. package/.agents/skills/lean-code-ladder/SKILL.md +83 -0
  66. package/.agents/skills/lean-code-ladder/examples/ladder_walkthrough.md +37 -0
  67. package/.agents/skills/meta-prompt-crafter/SKILL.md +107 -0
  68. package/.agents/skills/meta-prompt-crafter/examples/qa_prompt_template.md +35 -0
  69. package/.agents/skills/persistent-planning-files/SKILL.md +108 -0
  70. package/.agents/skills/persistent-planning-files/examples/task_plan_example.md +56 -0
  71. package/.agents/skills/playwright-live-interaction/SKILL.md +49 -1
  72. package/.agents/skills/playwright-live-interaction/examples/live_probe_script.js +5 -0
  73. package/.agents/skills/playwright-live-interaction/references/advanced_superpowers.md +160 -160
  74. package/.agents/skills/playwright-live-interaction/references/compact_accessibility_snapshots.md +75 -75
  75. package/.agents/skills/playwright-live-interaction/references/recipes.md +388 -388
  76. package/.agents/skills/playwright-live-interaction/references/swarm_orchestration.md +134 -134
  77. package/.agents/skills/playwright-webapp-testing/SKILL.md +93 -0
  78. package/.agents/skills/playwright-webapp-testing/examples/server_lifecycle_playwright.py +63 -0
  79. package/.agents/skills/rbt-manual-testing/SKILL.md +150 -0
  80. package/.agents/skills/rbt-manual-testing/examples/checkout_rbt_manual_suite.md +25 -0
  81. package/.agents/skills/security-dast-sentinel/SKILL.md +54 -135
  82. package/.agents/skills/security-dast-sentinel/examples/dast_scan_config.json +10 -0
  83. package/.agents/skills/self-healing-locator/SKILL.md +24 -10
  84. package/.agents/skills/self-healing-locator/examples/aom_diff_sample.json +16 -0
  85. package/.agents/skills/skillspector-security-guard/SKILL.md +32 -90
  86. package/.agents/skills/skillspector-security-guard/examples/safe_mcp_config.json +12 -0
  87. package/.agents/skills/surgical-coding-principles/SKILL.md +89 -0
  88. package/.agents/skills/surgical-coding-principles/examples/surgical_vs_scope_creep.md +46 -0
  89. package/.agents/skills/synthetic-test-data-generator/SKILL.md +3 -3
  90. package/.agents/skills/synthetic-test-data-generator/examples/idempotent_data_recipe.json +9 -0
  91. package/.agents/skills/systematic-debugging/SKILL.md +100 -0
  92. package/.agents/skills/systematic-debugging/examples/four_phase_case.md +44 -0
  93. package/.agents/skills/test-driven-development/SKILL.md +114 -0
  94. package/.agents/skills/test-driven-development/examples/red_green_refactor_qa.md +78 -0
  95. package/.agents/skills/token-and-context-optimizer/SKILL.md +1 -1
  96. package/.agents/skills/token-and-context-optimizer/examples/distilled_log_sample.txt +3 -0
  97. package/.agents/skills/verification-before-completion/SKILL.md +100 -0
  98. package/.agents/skills/verification-before-completion/examples/evidence_log_example.md +46 -0
  99. package/.agents/skills/visual-regression-sentinel/SKILL.md +21 -1
  100. package/.agents/skills/visual-regression-sentinel/examples/visual_mask_rules.json +9 -0
  101. package/.agents/skills/wcag-audit-patterns/SKILL.md +3 -3
  102. package/.agents/skills/wcag-audit-patterns/examples/wcag_compliance_checklist.json +10 -0
  103. package/.agents/skills/wcag-audit-patterns/resources/implementation-playbook.md +541 -541
  104. package/.agents/skills/web-vitals-and-performance-profiler/SKILL.md +1 -1
  105. package/.agents/skills/web-vitals-and-performance-profiler/examples/cwv_budget_policy.json +6 -0
  106. package/.agents/templates/completion_report.md +57 -57
  107. package/.agents/workflows/analyze_requirement_document.md +18 -0
  108. package/.agents/workflows/export_testcases_excel.md +32 -0
  109. package/.agents/workflows/generate_combinatorial_test_data.md +28 -0
  110. package/.agents/workflows/generate_cross_module_test_plan.md +37 -0
  111. package/.agents/workflows/generate_manual_testcases_rbt.md +56 -0
  112. package/.agents/workflows/generate_requirements_from_website.md +25 -0
  113. package/.agents/workflows/generate_testcases_from_requirements.md +21 -0
  114. package/.agents/workflows/graphify.md +10 -10
  115. package/.agents/workflows/verify.md +2 -2
  116. package/.cursor/rules/language.mdc +7 -7
  117. package/.cursor/rules/synapse-qa.mdc +23 -0
  118. package/.cursorrules +7 -0
  119. package/.pre-commit-hooks.yaml +14 -0
  120. package/.windsurfrules +7 -0
  121. package/AGENTS.md +54 -15
  122. package/CLAUDE.md +35 -12
  123. package/LICENSE +30 -0
  124. package/NOTICE +180 -0
  125. package/README.en.md +325 -0
  126. package/README.md +247 -516
  127. package/action.yml +51 -0
  128. package/benchmarks/qa_eval/README.md +71 -0
  129. package/benchmarks/qa_eval/build_dataset.py +677 -0
  130. package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-06_api_contract_drift.json +22 -0
  131. package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-07_api_contract_drift.json +22 -0
  132. package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-08_api_contract_drift.json +22 -0
  133. package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-09_api_contract_drift.json +22 -0
  134. package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-10_api_contract_drift.json +22 -0
  135. package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-21_fake_pass_tautology.json +21 -0
  136. package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-22_fake_pass_tautology.json +21 -0
  137. package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-23_fake_pass_tautology.json +21 -0
  138. package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-24_fake_pass_tautology.json +21 -0
  139. package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-25_fake_pass_tautology.json +21 -0
  140. package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-01_locator_drift.json +23 -0
  141. package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-02_locator_drift.json +23 -0
  142. package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-03_locator_drift.json +23 -0
  143. package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-04_locator_drift.json +23 -0
  144. package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-05_locator_drift.json +23 -0
  145. package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-16_stale_and_mutation.json +22 -0
  146. package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-17_stale_and_mutation.json +22 -0
  147. package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-18_stale_and_mutation.json +22 -0
  148. package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-19_stale_and_mutation.json +22 -0
  149. package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-20_stale_and_mutation.json +23 -0
  150. package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-11_timing_and_race.json +22 -0
  151. package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-12_timing_and_race.json +22 -0
  152. package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-13_timing_and_race.json +22 -0
  153. package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-14_timing_and_race.json +22 -0
  154. package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-15_timing_and_race.json +22 -0
  155. package/benchmarks/qa_eval/eval_runner.py +418 -0
  156. package/benchmarks/qa_eval/reports/AB_METHODOLOGY_REPORT.md +83 -0
  157. package/benchmarks/qa_eval/reports/BENCHMARK_REPORT.md +69 -0
  158. package/benchmarks/qa_eval/reports/eval_results.json +105 -0
  159. package/bin/agent-qa.js +10 -3
  160. package/docs/ARCHITECTURE.md +107 -0
  161. package/docs/CI_CD_INTEGRATION.md +94 -0
  162. package/docs/CLI_REFERENCE.md +157 -0
  163. package/docs/CONTRIBUTING.md +91 -0
  164. package/docs/PLUGIN_DEVELOPMENT_GUIDE.md +126 -0
  165. package/docs/TOKEN_QUOTA_PLAYBOOK.md +41 -0
  166. package/docs/adopted-ecosystem-tools.md +87 -0
  167. package/docs/schemas/synapse.config.schema.json +64 -0
  168. package/examples/cypress-ecommerce-suite/README.md +45 -0
  169. package/examples/cypress-ecommerce-suite/cypress/e2e/checkout.cy.js +17 -0
  170. package/examples/cypress-ecommerce-suite/cypress/pages/BasePage.js +29 -0
  171. package/examples/cypress-ecommerce-suite/cypress/pages/CartPage.js +51 -0
  172. package/examples/cypress-ecommerce-suite/cypress.config.js +13 -0
  173. package/examples/cypress-ecommerce-suite/package.json +13 -0
  174. package/examples/katalon-suite/Keywords/pages/BasePage.groovy +19 -0
  175. package/examples/katalon-suite/Keywords/pages/DashboardPage.groovy +29 -0
  176. package/examples/katalon-suite/Keywords/pages/LoginPage.groovy +45 -0
  177. package/examples/katalon-suite/Profiles/default.glbl +12 -0
  178. package/examples/katalon-suite/README.md +18 -0
  179. package/examples/katalon-suite/Scripts/Auth/TC_LoginSuccess/Script1234567890.groovy +12 -0
  180. package/examples/katalon-suite/Scripts/Dashboard/TC_ViewSummary/Script1234567891.groovy +15 -0
  181. package/examples/katalon-suite/katalon_suite.prj +21 -0
  182. package/examples/playwright-crm-suite/README.md +40 -0
  183. package/examples/playwright-crm-suite/package.json +14 -0
  184. package/examples/playwright-crm-suite/pages/BasePage.ts +37 -0
  185. package/examples/playwright-crm-suite/pages/CustomerPage.ts +57 -0
  186. package/examples/playwright-crm-suite/pages/LoginPage.ts +32 -0
  187. package/examples/playwright-crm-suite/playwright.config.ts +27 -0
  188. package/examples/playwright-crm-suite/tests/auth.spec.ts +22 -0
  189. package/examples/playwright-crm-suite/tests/customers.spec.ts +33 -0
  190. package/examples/plugins/sample-custom-plugin/README.md +14 -0
  191. package/examples/plugins/sample-custom-plugin/plugin.json +16 -0
  192. package/examples/plugins/sample-custom-plugin/skills/custom-security-headers-audit/SKILL.md +29 -0
  193. package/examples/plugins/sample-custom-plugin/skills/custom-security-headers-audit/examples/audit_fixture.json +8 -0
  194. package/examples/plugins/sample-custom-plugin/tools/custom_security_headers.py +125 -0
  195. package/examples/practices/README.md +22 -0
  196. package/examples/practices/requirements/crm/requirements_contracts.md +292 -0
  197. package/examples/practices/requirements/crm/requirements_customers.md +462 -0
  198. package/examples/practices/requirements/crm/requirements_login.md +202 -0
  199. package/examples/practices/requirements/crm/requirements_projects.md +396 -0
  200. package/examples/practices/requirements/crm/requirements_tasks.md +343 -0
  201. package/examples/practices/requirements/ecommerce/requirements_category_brand.txt +402 -0
  202. package/examples/practices/requirements/jira/KAN-5/KAN-1/2026-04-03_04-28-27.png +0 -0
  203. package/examples/practices/requirements/jira/KAN-5/KAN-1/KAN-1_requirement.md +52 -0
  204. package/examples/practices/requirements/jira/KAN-5/KAN-4/2026-04-03_04-28-19.png +0 -0
  205. package/examples/practices/requirements/jira/KAN-5/KAN-4/2026-04-03_04-28-57.png +0 -0
  206. package/examples/practices/requirements/jira/KAN-5/KAN-4/KAN-4_requirement.md +119 -0
  207. package/examples/practices/requirements/jira/KAN-5/KAN-5_overview.md +9 -0
  208. package/examples/practices/requirements/jira/KAN-5/KAN-6/2026-04-03_05-58-08.png +0 -0
  209. package/examples/practices/requirements/jira/KAN-5/KAN-6/2026-04-03_05-58-23.png +0 -0
  210. package/examples/practices/requirements/jira/KAN-5/KAN-6/KAN-6_requirement.md +32 -0
  211. package/examples/practices/testcases/api/book_management_api_test_cases.md +144 -0
  212. package/examples/practices/testcases/api/user_management_api_test_cases.md +139 -0
  213. package/examples/practices/testcases/crm/test_cases_crm_login.md +148 -0
  214. package/examples/practices/testcases/crm/test_cases_customers.md +156 -0
  215. package/examples/pytest-api-suite/README.md +45 -0
  216. package/examples/pytest-api-suite/conftest.py +31 -0
  217. package/examples/pytest-api-suite/pages/user_api_client.py +36 -0
  218. package/examples/pytest-api-suite/requirements.txt +2 -0
  219. package/examples/pytest-api-suite/tests/test_user_api.py +44 -0
  220. package/examples/selenium-suite/README.md +18 -0
  221. package/examples/selenium-suite/pages/base_page.py +27 -0
  222. package/examples/selenium-suite/pages/login_page.py +29 -0
  223. package/examples/selenium-suite/pages/order_page.py +25 -0
  224. package/examples/selenium-suite/pytest.ini +6 -0
  225. package/examples/selenium-suite/requirements.txt +2 -0
  226. package/examples/selenium-suite/tests/test_login.py +10 -0
  227. package/examples/selenium-suite/tests/test_order.py +10 -0
  228. package/package.json +22 -7
  229. package/scripts/generate_skill_examples.py +244 -0
  230. package/scripts/install.ps1 +112 -0
  231. package/scripts/install_global_plugin.ps1 +94 -0
  232. package/scripts/install_global_plugin.sh +49 -0
  233. package/scripts/lint_skills.ps1 +57 -0
  234. package/scripts/package_dist.py +323 -0
  235. package/scripts/setup.sh +59 -0
  236. package/scripts/update_hub.ps1 +19 -0
  237. package/scripts/update_hub.sh +15 -0
  238. package/skills_manifest.json +209 -6
  239. package/synapse.config.json +30 -0
  240. package/templates/PROJECT_AI_GUIDE_TEMPLATE.md +7 -7
  241. package/templates/PROJECT_STATE_TEMPLATE.md +1 -1
  242. package/templates/ai_bridges/CLAUDE.md +33 -16
  243. package/templates/ai_bridges/copilot-instructions.md +14 -21
  244. package/templates/ai_bridges/cursor_synapse_qa.mdc +17 -20
  245. package/templates/ai_bridges/windsurfrules +21 -21
  246. package/templates/ci/github-actions-synapse.yml +71 -4
  247. package/templates/welcome.html.tmpl +1674 -0
  248. package/tools/.infer_baseline.json +1102 -0
  249. package/tools/TOOLS_RUNBOOK.md +92 -130
  250. package/tools/__init__.py +26 -0
  251. package/tools/agent_canary.py +501 -501
  252. package/tools/analyze_project.py +31 -17
  253. package/tools/api_fuzzer.py +278 -6
  254. package/tools/author_integrity.py +6 -6
  255. package/tools/auto_heal.py +1 -1
  256. package/tools/browser_helpers.js +105 -7
  257. package/tools/bug_reporter.py +31 -1
  258. package/tools/bump_version.py +23 -3
  259. package/tools/cache_resolver.py +248 -14
  260. package/tools/check_env.py +55 -14
  261. package/tools/check_version_sync.py +153 -0
  262. package/tools/ci_healing_hook.py +1 -1
  263. package/tools/cli.py +263 -13
  264. package/tools/count_tokens.py +1257 -0
  265. package/tools/dashboard_generator.py +2638 -0
  266. package/tools/db_sandbox.py +198 -20
  267. package/tools/e2e_flow_prober.ps1 +12 -64
  268. package/tools/e2e_flow_prober.py +99 -0
  269. package/tools/e2e_flow_prober.sh +4 -0
  270. package/tools/flaky_detector.py +4 -3
  271. package/tools/generate_allure_report.ps1 +12 -29
  272. package/tools/generate_allure_report.py +77 -0
  273. package/tools/generate_allure_report.sh +4 -0
  274. package/tools/generate_jmx_plan.py +257 -58
  275. package/tools/generate_test_reports.ps1 +12 -134
  276. package/tools/generate_test_reports.py +133 -0
  277. package/tools/generate_test_reports.sh +4 -0
  278. package/tools/gherkin_suite.py +758 -0
  279. package/tools/git_pre_commit_guard.py +12 -6
  280. package/tools/goldfish_review.py +366 -0
  281. package/tools/heal_pr_automator.py +1 -1
  282. package/tools/heuristic_locator_matcher.py +170 -21
  283. package/tools/infer_linter.py +612 -70
  284. package/tools/lint_ai_docs.py +64 -0
  285. package/tools/matrix_sharder.py +1 -1
  286. package/tools/mcp_excel_server.ps1 +12 -250
  287. package/tools/mcp_excel_server.py +249 -0
  288. package/tools/mcp_excel_server.sh +4 -0
  289. package/tools/mcp_server.py +368 -144
  290. package/tools/md_to_xlsx.py +307 -0
  291. package/tools/micro_mutator.py +300 -69
  292. package/tools/omni_transpiler.py +2 -2
  293. package/tools/output_formatter.py +128 -0
  294. package/tools/pinpoint_failure.py +88 -88
  295. package/tools/project_state.py +2 -2
  296. package/tools/repo_map.py +1 -1
  297. package/tools/safety_firewall.py +196 -45
  298. package/tools/setup_project.py +294 -30
  299. package/tools/spec_drift_sentinel.py +439 -0
  300. package/tools/sync_agent_rules.py +248 -0
  301. package/tools/telemetry_correlator.py +45 -0
  302. package/tools/test_impact.py +51 -12
  303. package/tools/tms_sync_bridge.py +21 -5
  304. package/tools/universal_ir.py +3 -0
  305. package/tools/update_sentinel.py +87 -15
  306. package/tools/verify_all.ps1 +13 -0
  307. package/tools/verify_all.py +463 -79
  308. package/tools/visual_diff_canvas.py +1 -0
  309. package/tools/visual_som_helper.py +1 -1
  310. package/tools/watch_mode.py +305 -0
  311. package/tools/welcome_page.py +291 -0
@@ -1,41 +1,29 @@
1
1
  ---
2
2
  name: github-actions-templates
3
- description: "Create production-ready GitHub Actions workflows for automated test suites and CI/CD."
3
+ description: "Create production-ready GitHub Actions workflows for automated test suites and CI/CD. Use when wiring test pipelines, matrix shards, or quality gates into GitHub Actions."
4
4
  ---
5
5
 
6
- # GitHub Actions Templates
6
+ # GitHub Actions CI/CD Patterns for Test Automation
7
7
 
8
- Production-ready GitHub Actions workflow patterns for testing, building, and deploying applications.
8
+ > **Target:** Author secure, performant, and matrix-sharded GitHub Actions workflows for automated test execution, quality gate validation, and Allure reporting.
9
9
 
10
- ## Do not use this skill when
11
-
12
- - The task is unrelated to github actions templates
13
- - You need a different domain or tool outside this scope
14
-
15
- ## Instructions
16
-
17
- - Clarify goals, constraints, and required inputs.
18
- - Apply relevant best practices and validate outcomes.
19
- - Provide actionable steps and verification.
20
-
21
- ## Purpose
10
+ ---
22
11
 
23
- Create efficient, secure GitHub Actions workflows for continuous integration and deployment across various tech stacks.
12
+ ## 1. When to Use
24
13
 
25
- ## Use this skill when
14
+ - Configuring continuous integration pipelines for Playwright, Katalon, Pytest, or Newman.
15
+ - Setting up multi-OS and multi-version test execution matrices.
16
+ - Integrating automated Quality Gate DoD (`tools/verify_all.py`).
17
+ - Generating and publishing automated test report artifacts.
26
18
 
27
- - Automate testing and deployment
28
- - Build Docker images and push to registries
29
- - Deploy to Kubernetes clusters
30
- - Run security scans
31
- - Implement matrix builds for multiple environments
19
+ ---
32
20
 
33
- ## Common Workflow Patterns
21
+ ## 2. Standard Enterprise Test Workflow Template
34
22
 
35
- ### Pattern 1: Test Workflow
23
+ Create in `.github/workflows/e2e_tests.yml`:
36
24
 
37
25
  ```yaml
38
- name: Test
26
+ name: Enterprise Automated E2E Test Suite
39
27
 
40
28
  on:
41
29
  push:
@@ -44,291 +32,46 @@ on:
44
32
  branches: [ main ]
45
33
 
46
34
  jobs:
47
- test:
48
- runs-on: ubuntu-latest
49
-
50
- strategy:
51
- matrix:
52
- node-version: [18.x, 20.x]
53
-
54
- steps:
55
- - uses: actions/checkout@v4
56
-
57
- - name: Use Node.js ${{ matrix.node-version }}
58
- uses: actions/setup-node@v4
59
- with:
60
- node-version: ${{ matrix.node-version }}
61
- cache: 'npm'
62
-
63
- - name: Install dependencies
64
- run: npm ci
65
-
66
- - name: Run linter
67
- run: npm run lint
68
-
69
- - name: Run tests
70
- run: npm test
71
-
72
- - name: Upload coverage
73
- uses: codecov/codecov-action@v3
74
- with:
75
- files: ./coverage/lcov.info
76
- ```
77
-
78
-
79
- ### Pattern 2: Build and Push Docker Image
80
-
81
- ```yaml
82
- name: Build and Push
83
-
84
- on:
85
- push:
86
- branches: [ main ]
87
- tags: [ 'v*' ]
88
-
89
- env:
90
- REGISTRY: ghcr.io
91
- IMAGE_NAME: ${{ github.repository }}
92
-
93
- jobs:
94
- build:
95
- runs-on: ubuntu-latest
96
- permissions:
97
- contents: read
98
- packages: write
99
-
100
- steps:
101
- - uses: actions/checkout@v4
102
-
103
- - name: Log in to Container Registry
104
- uses: docker/login-action@v3
105
- with:
106
- registry: ${{ env.REGISTRY }}
107
- username: ${{ github.actor }}
108
- password: ${{ secrets.GITHUB_TOKEN }}
109
-
110
- - name: Extract metadata
111
- id: meta
112
- uses: docker/metadata-action@v5
113
- with:
114
- images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
115
- tags: |
116
- type=ref,event=branch
117
- type=ref,event=pr
118
- type=semver,pattern={{version}}
119
- type=semver,pattern={{major}}.{{minor}}
120
-
121
- - name: Build and push
122
- uses: docker/build-push-action@v5
123
- with:
124
- context: .
125
- push: true
126
- tags: ${{ steps.meta.outputs.tags }}
127
- labels: ${{ steps.meta.outputs.labels }}
128
- cache-from: type=gha
129
- cache-to: type=gha,mode=max
130
- ```
131
-
132
-
133
- ### Pattern 3: Deploy to Kubernetes
134
-
135
- ```yaml
136
- name: Deploy to Kubernetes
137
-
138
- on:
139
- push:
140
- branches: [ main ]
141
-
142
- jobs:
143
- deploy:
35
+ test-matrix:
144
36
  runs-on: ubuntu-latest
145
-
146
- steps:
147
- - uses: actions/checkout@v4
148
-
149
- - name: Configure AWS credentials
150
- uses: aws-actions/configure-aws-credentials@v4
151
- with:
152
- aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
153
- aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
154
- aws-region: us-west-2
155
-
156
- - name: Update kubeconfig
157
- run: |
158
- aws eks update-kubeconfig --name production-cluster --region us-west-2
159
-
160
- - name: Deploy to Kubernetes
161
- run: |
162
- kubectl apply -f k8s/
163
- kubectl rollout status deployment/my-app -n production
164
- kubectl get services -n production
165
-
166
- - name: Verify deployment
167
- run: |
168
- kubectl get pods -n production
169
- kubectl describe deployment my-app -n production
170
- ```
171
-
172
- ### Pattern 4: Matrix Build
173
-
174
- ```yaml
175
- name: Matrix Build
176
-
177
- on: [push, pull_request]
178
-
179
- jobs:
180
- build:
181
- runs-on: ${{ matrix.os }}
182
-
183
37
  strategy:
38
+ fail-fast: false
184
39
  matrix:
185
- os: [ubuntu-latest, macos-latest, windows-latest]
186
- python-version: ['3.9', '3.10', '3.11', '3.12']
187
-
188
- steps:
189
- - uses: actions/checkout@v4
190
-
191
- - name: Set up Python
192
- uses: actions/setup-python@v5
193
- with:
194
- python-version: ${{ matrix.python-version }}
195
-
196
- - name: Install dependencies
197
- run: |
198
- python -m pip install --upgrade pip
199
- pip install -r requirements.txt
200
-
201
- - name: Run tests
202
- run: pytest
203
- ```
204
-
205
-
206
- ## Workflow Best Practices
207
-
208
- 1. **Use specific action versions** (@v4, not @latest)
209
- 2. **Cache dependencies** to speed up builds
210
- 3. **Use secrets** for sensitive data
211
- 4. **Implement status checks** on PRs
212
- 5. **Use matrix builds** for multi-version testing
213
- 6. **Set appropriate permissions**
214
- 7. **Use reusable workflows** for common patterns
215
- 8. **Implement approval gates** for production
216
- 9. **Add notification steps** for failures
217
- 10. **Use self-hosted runners** for sensitive workloads
218
-
219
- ## Reusable Workflows
220
-
221
- ```yaml
222
- # .github/workflows/reusable-test.yml
223
- name: Reusable Test Workflow
224
-
225
- on:
226
- workflow_call:
227
- inputs:
228
- node-version:
229
- required: true
230
- type: string
231
- secrets:
232
- NPM_TOKEN:
233
- required: true
234
-
235
- jobs:
236
- test:
237
- runs-on: ubuntu-latest
238
- steps:
239
- - uses: actions/checkout@v4
240
- - uses: actions/setup-node@v4
241
- with:
242
- node-version: ${{ inputs.node-version }}
243
- - run: npm ci
244
- - run: npm test
245
- ```
246
-
247
- **Use reusable workflow:**
248
- ```yaml
249
- jobs:
250
- call-test:
251
- uses: ./.github/workflows/reusable-test.yml
252
- with:
253
- node-version: '20.x'
254
- secrets:
255
- NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
256
- ```
257
-
258
- ## Security Scanning
259
-
260
- ```yaml
261
- name: Security Scan
262
-
263
- on:
264
- push:
265
- branches: [ main ]
266
- pull_request:
267
- branches: [ main ]
268
-
269
- jobs:
270
- security:
271
- runs-on: ubuntu-latest
40
+ shard: [1/4, 2/4, 3/4, 4/4]
272
41
 
273
42
  steps:
274
- - uses: actions/checkout@v4
275
-
276
- - name: Run Trivy vulnerability scanner
277
- uses: aquasecurity/trivy-action@master
278
- with:
279
- scan-type: 'fs'
280
- scan-ref: '.'
281
- format: 'sarif'
282
- output: 'trivy-results.sarif'
283
-
284
- - name: Upload Trivy results to GitHub Security
285
- uses: github/codeql-action/upload-sarif@v2
286
- with:
287
- sarif_file: 'trivy-results.sarif'
288
-
289
- - name: Run Snyk Security Scan
290
- uses: snyk/actions/node@master
291
- env:
292
- SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
43
+ - name: Checkout Code
44
+ uses: actions/checkout@v4
45
+
46
+ - name: Setup Node.js
47
+ uses: actions/setup-node@v4
48
+ with:
49
+ node-version: 20
50
+ cache: 'npm'
51
+
52
+ - name: Install Dependencies
53
+ run: npm ci
54
+
55
+ - name: Install Playwright Browsers
56
+ run: npx playwright install --with-deps chromium
57
+
58
+ - name: Run Sharded Playwright Tests
59
+ run: npx playwright test --shard=${{ matrix.shard }}
60
+
61
+ - name: Upload Test Report & Screenshots
62
+ if: always()
63
+ uses: actions/upload-artifact@v4
64
+ with:
65
+ name: playwright-report-shard-${{ strategy.job-index }}
66
+ path: playwright-report/
67
+ retention-days: 14
293
68
  ```
294
69
 
295
- ## Deployment with Approvals
296
-
297
- ```yaml
298
- name: Deploy to Production
299
-
300
- on:
301
- push:
302
- tags: [ 'v*' ]
303
-
304
- jobs:
305
- deploy:
306
- runs-on: ubuntu-latest
307
- environment:
308
- name: production
309
- url: https://app.example.com
310
-
311
- steps:
312
- - uses: actions/checkout@v4
313
-
314
- - name: Deploy application
315
- run: |
316
- echo "Deploying to production..."
317
- # Deployment commands here
318
-
319
- - name: Notify Slack
320
- if: success()
321
- uses: slackapi/slack-github-action@v1
322
- with:
323
- webhook-url: ${{ secrets.SLACK_WEBHOOK }}
324
- payload: |
325
- {
326
- "text": "Deployment to production completed successfully!"
327
- }
328
- ```
70
+ ---
329
71
 
330
- ## Related Skills
72
+ ## 3. Best Practices & Security Invariants
331
73
 
332
- - `gitlab-ci-patterns` - For GitLab CI workflows
333
- - `deployment-pipeline-design` - For pipeline architecture
334
- - `secrets-management` - For secrets handling
74
+ 1. **Dependency Pinning:** Always pin third-party actions to full commit SHAs or major versions (`actions/checkout@v4`).
75
+ 2. **Secret Masking:** Never hardcode credentials in workflow files; inject via `secrets.TEST_USER` and `secrets.TEST_PASS`.
76
+ 3. **Artifact Retention:** Cap test video and screenshot artifacts to 7-14 days to prevent storage bloat.
77
+ 4. **Concurrency Governance:** Cancel outdated in-flight runs on new PR commits using `concurrency: { group: ${{ github.ref }}, cancel-in-progress: true }`.
@@ -0,0 +1,8 @@
1
+ name: Automated E2E Matrix
2
+ on: [push, pull_request]
3
+ jobs:
4
+ test:
5
+ runs-on: ubuntu-latest
6
+ steps:
7
+ - uses: actions/checkout@v4
8
+ - run: npx playwright test
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: graphify-impact-analyzer
3
- description: "Analyze code change blast radius and scope impacted test cases via AST."
3
+ description: "Analyze code change blast radius and scope impacted test cases via AST. Use when analyzing the blast radius of code changes via dependency graphs."
4
4
  ---
5
5
 
6
6
  # Graphify Impact Analyzer — AST Knowledge Graph Navigation & Zero-Waste Impact Analysis
@@ -30,7 +30,7 @@ Run impact analysis before dispatching test suites:
30
30
 
31
31
  ### 2.1. Check Impact of Modified Page Class
32
32
  ```bash
33
- python3 tools/test_impact.py -f Keywords/pages/CategoryPage.groovy
33
+ synapse impact -f Keywords/pages/CategoryPage.groovy
34
34
  ```
35
35
  *Output:*
36
36
  - Target File: `Keywords/pages/CategoryPage.groovy`
@@ -40,12 +40,12 @@ python3 tools/test_impact.py -f Keywords/pages/CategoryPage.groovy
40
40
 
41
41
  ### 2.2. Automatically Analyze Git Changes
42
42
  ```bash
43
- python3 tools/test_impact.py --git-diff
43
+ synapse impact --git-diff
44
44
  ```
45
45
 
46
46
  ### 2.3. Output Machine-Readable JSON (For CI/CD Pipelines)
47
47
  ```bash
48
- python3 tools/test_impact.py --git-diff --json
48
+ synapse impact --git-diff --json
49
49
  ```
50
50
 
51
51
  ---
@@ -71,6 +71,6 @@ python3 tools/test_impact.py --git-diff --json
71
71
 
72
72
  ## 5. Agent Operational Guardrails
73
73
 
74
- 1. **Before modifying any Page Class:** Run `python3 tools/test_impact.py -f <path>` to identify dependent Test Cases.
74
+ 1. **Before modifying any Page Class:** Run `synapse impact -f <path>` to identify dependent Test Cases.
75
75
  2. **After modifying code:** Run `graphify update .` to keep the knowledge graph synchronized.
76
- 3. **DoD Compliance:** Always verify that all changes pass `python3 tools/verify_all.py`.
76
+ 3. **DoD Compliance:** Always verify that all changes pass `synapse verify`.
@@ -0,0 +1,8 @@
1
+ {
2
+ "modifiedFile": "src/pages/CheckoutPage.ts",
3
+ "impactedSuites": [
4
+ "tests/e2e/checkout.spec.ts",
5
+ "tests/e2e/payment.spec.ts"
6
+ ],
7
+ "blastRadiusScore": "LOW_ISOLATED"
8
+ }
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: katalon-cli-runner
3
- description: "Execute headless Katalon and Gradle test runners with automatic driver cleanup."
3
+ description: "Execute headless Katalon and Gradle test runners with automatic driver cleanup. Use when running Katalon suites headless or integrating KRE into CI/CD."
4
4
  ---
5
5
 
6
6
  # Katalon CLI & Enterprise Runner — Dual-Mode Execution Management
@@ -72,5 +72,5 @@ katalonc -noSplash -runMode=console \
72
72
  3. **Compile Allure Report:** `allure generate ./allure-results -o ./Reports/allure-report --clean`.
73
73
  4. If failures occur, immediately dispatch failure autopsy:
74
74
  ```bash
75
- python3 tools/pinpoint_failure.py
75
+ python3 ~/.zcode/synapse-hub/tools/pinpoint_failure.py
76
76
  ```
@@ -0,0 +1,3 @@
1
+ #!/bin/sh
2
+ # Execute headless Katalon suite with automatic process cleanup
3
+ katalonc -noSplash -runMode=console -projectPath="$1" -testSuitePath="Test Suites/SmokeSuite" -browserType="Chrome (headless)"