testeiya 0.2.1 → 0.3.1-0.1

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 (404) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +309 -171
  3. package/dist/prompt/context.js +79 -0
  4. package/dist/prompt/context.js.map +1 -0
  5. package/dist/prompt/index.js +60 -0
  6. package/dist/prompt/index.js.map +1 -0
  7. package/dist/prompt/print.js +30 -0
  8. package/dist/prompt/print.js.map +1 -0
  9. package/dist/prompt/project-info.js +2 -0
  10. package/dist/prompt/project-info.js.map +1 -0
  11. package/{src/prompt/system-prompt.ts → dist/prompt/system-prompt.js} +38 -25
  12. package/dist/prompt/system-prompt.js.map +1 -0
  13. package/dist/prompt/testomatio.js +264 -0
  14. package/dist/prompt/testomatio.js.map +1 -0
  15. package/dist/prompt/tools.js +70 -0
  16. package/dist/prompt/tools.js.map +1 -0
  17. package/dist/prompt/vocab.js +8 -0
  18. package/dist/prompt/vocab.js.map +1 -0
  19. package/dist/src/args.js +207 -0
  20. package/dist/src/args.js.map +1 -0
  21. package/dist/src/cli.js +114 -0
  22. package/dist/src/cli.js.map +1 -0
  23. package/dist/src/doctor.js +171 -0
  24. package/dist/src/doctor.js.map +1 -0
  25. package/dist/src/env.js +93 -0
  26. package/dist/src/env.js.map +1 -0
  27. package/dist/src/mcp-extension.js +9 -0
  28. package/dist/src/mcp-extension.js.map +1 -0
  29. package/dist/src/mcp.js +139 -0
  30. package/dist/src/mcp.js.map +1 -0
  31. package/dist/src/model.js +71 -0
  32. package/dist/src/model.js.map +1 -0
  33. package/dist/src/models.js +38 -0
  34. package/dist/src/models.js.map +1 -0
  35. package/dist/src/output.js +194 -0
  36. package/dist/src/output.js.map +1 -0
  37. package/dist/src/result.js +41 -0
  38. package/dist/src/result.js.map +1 -0
  39. package/dist/src/run.js +295 -0
  40. package/dist/src/run.js.map +1 -0
  41. package/dist/src/session.js +98 -0
  42. package/dist/src/session.js.map +1 -0
  43. package/dist/src/sessions.js +72 -0
  44. package/dist/src/sessions.js.map +1 -0
  45. package/dist/src/skills.js +88 -0
  46. package/dist/src/skills.js.map +1 -0
  47. package/dist/vendor/mcp.js +14801 -0
  48. package/mcp-tools.json +2967 -0
  49. package/package.json +34 -43
  50. package/prompt/context.ts +101 -0
  51. package/prompt/index.ts +102 -0
  52. package/prompt/print.ts +32 -0
  53. package/prompt/project-info.ts +30 -0
  54. package/prompt/system-prompt.ts +187 -0
  55. package/{src/prompt → prompt}/testomatio.ts +120 -9
  56. package/prompt/tools.ts +72 -0
  57. package/prompt/vocab.ts +7 -0
  58. package/skills/codeceptjs/ci-fix-tests/SKILL.md +7 -8
  59. package/skills/codeceptjs/codeceptjs-auth/SKILL.md +47 -64
  60. package/skills/codeceptjs/codeceptjs-exploration/SKILL.md +56 -47
  61. package/skills/codeceptjs/codeceptjs-fundamentals/SKILL.md +144 -106
  62. package/skills/codeceptjs/codeceptjs-run-analysis/SKILL.md +50 -57
  63. package/skills/codeceptjs/debugging-codeceptjs-tests/SKILL.md +88 -196
  64. package/skills/codeceptjs/migrate-codeceptjs-4/SKILL.md +4 -5
  65. package/skills/codeceptjs/migrate-cypress-to-codeceptjs/SKILL.md +25 -36
  66. package/skills/codeceptjs/migrate-protractor-to-codeceptjs/SKILL.md +23 -36
  67. package/skills/codeceptjs/migrate-selenium-java-to-codeceptjs/SKILL.md +23 -36
  68. package/skills/codeceptjs/migrate-testcafe-to-codeceptjs/SKILL.md +23 -35
  69. package/skills/codeceptjs/refactoring-codeceptjs-tests/SKILL.md +50 -53
  70. package/skills/codeceptjs/writing-codeceptjs-tests/SKILL.md +87 -191
  71. package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/SKILL.md +1 -1
  72. package/{skills.lock.json → skills/skills.lock.json} +43 -36
  73. package/skills/skills.yaml +34 -0
  74. package/skills/testomatio/explorbot/explorbot-fundamentals/SKILL.md +49 -61
  75. package/skills/testomatio/explorbot/explorbot-fundamentals/references/no-install.md +36 -0
  76. package/skills/testomatio/explorbot/explorbot-plan/SKILL.md +20 -7
  77. package/skills/testomatio/explorbot/explorbot-setup/SKILL.md +41 -289
  78. package/skills/testomatio/qa-process/qa-explain-behavior/SKILL.md +111 -0
  79. package/skills/testomatio/qa-process/qa-explain-behavior/references/answer-shapes.md +116 -0
  80. package/skills/testomatio/qa-process/qa-explain-behavior/references/examples.md +157 -0
  81. package/skills/testomatio/qa-process/qa-lead-strategy-advisor/SKILL.md +91 -0
  82. package/skills/testomatio/qa-process/qa-lead-strategy-advisor/references/output-format.md +71 -0
  83. package/skills/testomatio/qa-process/testing-workflow/SKILL.md +227 -0
  84. package/skills/testomatio/test-automation/qa-data-seeder/SKILL.md +83 -0
  85. package/skills/testomatio/test-automation/run-tests-with-testomatio-reporter/SKILL.md +5 -3
  86. package/skills/testomatio/test-automation/setup-change-aware-pr-testing/SKILL.md +190 -0
  87. package/skills/testomatio/test-automation/setup-ci-automation/SKILL.md +76 -0
  88. package/skills/testomatio/test-management/qa-split-testing-levels-pyramid/SKILL.md +55 -0
  89. package/skills/testomatio/test-management/qa-sprint-report-by-testomatio/SKILL.md +220 -0
  90. package/skills/testomatio/test-management/qa-sprint-report-by-testomatio/references/qa-sprint-report.md +126 -0
  91. package/skills/testomatio/test-management/qa-test-code-coverage/SKILL.md +1 -1
  92. package/skills/testomatio/test-management/qa-thinking/SKILL.md +25 -25
  93. package/skills/testomatio/test-management/testomatio-mcp/SKILL.md +14 -1
  94. package/skills/testomatio/test-management/testomatio-mcp/references/MCP_SETUP.md +8 -0
  95. package/assets/testeiya-logo-dark.svg +0 -16
  96. package/assets/testeiya-logo.svg +0 -15
  97. package/models.catalog.json +0 -6963
  98. package/skills/playwright-best-practices-skill/LICENSE.md +0 -7
  99. package/skills/playwright-best-practices-skill/README.md +0 -147
  100. package/skills/testeiya/README.md +0 -29
  101. package/skills/testeiya/answer-formatting/SKILL.md +0 -30
  102. package/skills/testeiya/check-cucumber/SKILL.md +0 -200
  103. package/skills/testeiya/check-tests/SKILL.md +0 -260
  104. package/skills/testeiya/manual-run-assistant/SKILL.md +0 -61
  105. package/skills/testeiya/testomatio-docs/INDEX.md +0 -175
  106. package/skills/testeiya/testomatio-docs/SKILL.md +0 -102
  107. package/skills/testeiya/testomatio-docs/docs/advanced/ai-powered-features/ai-agents.md +0 -144
  108. package/skills/testeiya/testomatio-docs/docs/advanced/ai-powered-features/ai-powered-features.md +0 -531
  109. package/skills/testeiya/testomatio-docs/docs/advanced/ai-powered-features/ai-requirements.md +0 -437
  110. package/skills/testeiya/testomatio-docs/docs/advanced/api-access/index.md +0 -191
  111. package/skills/testeiya/testomatio-docs/docs/advanced/branches-folder/index.md +0 -277
  112. package/skills/testeiya/testomatio-docs/docs/advanced/bulk-edit-folder/bulk-edit-demos.mdx +0 -39
  113. package/skills/testeiya/testomatio-docs/docs/advanced/bulk-edit-folder/bulk-edit-on-suite-and-test-level.md +0 -122
  114. package/skills/testeiya/testomatio-docs/docs/advanced/bulk-edit-folder/what-is-bulk-edit.md +0 -170
  115. package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/branches.md +0 -53
  116. package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/index.mdx +0 -98
  117. package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/jira-issue.md +0 -151
  118. package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/runs-and-reports.md +0 -377
  119. package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/work-in-jira.md +0 -267
  120. package/skills/testeiya/testomatio-docs/docs/advanced/living-doc/index.md +0 -138
  121. package/skills/testeiya/testomatio-docs/docs/advanced/milestones/index.md +0 -220
  122. package/skills/testeiya/testomatio-docs/docs/advanced/shortcuts/index.md +0 -48
  123. package/skills/testeiya/testomatio-docs/docs/advanced/tags-labels/labels-and-custom-fields.md +0 -201
  124. package/skills/testeiya/testomatio-docs/docs/advanced/tags-labels/tags-or-labels.md +0 -94
  125. package/skills/testeiya/testomatio-docs/docs/advanced/tags-labels/tags.md +0 -243
  126. package/skills/testeiya/testomatio-docs/docs/advanced/test-artifacts/index.md +0 -135
  127. package/skills/testeiya/testomatio-docs/docs/advanced/tql/index.md +0 -394
  128. package/skills/testeiya/testomatio-docs/docs/getting-started/index.md +0 -290
  129. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/azure.md +0 -96
  130. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/bamboo.md +0 -94
  131. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/bitbucket.md +0 -106
  132. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/circle.md +0 -115
  133. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/github.md +0 -120
  134. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/gitlab.md +0 -88
  135. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/index.mdx +0 -151
  136. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/jenkins.md +0 -121
  137. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/teamcity.md +0 -96
  138. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/azure.md +0 -31
  139. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/clickup.md +0 -54
  140. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/confluence.md +0 -34
  141. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/github.md +0 -31
  142. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/gitlab.md +0 -93
  143. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/index.md +0 -131
  144. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/jira.md +0 -164
  145. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/linear.md +0 -29
  146. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/shortcut.md +0 -67
  147. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/youtrack.md +0 -94
  148. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/azure-devops.md +0 -53
  149. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/email.md +0 -71
  150. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/jira.md +0 -52
  151. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/ms-teams.md +0 -60
  152. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/rules.md +0 -267
  153. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/slack.md +0 -82
  154. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/telegram.md +0 -73
  155. package/skills/testeiya/testomatio-docs/docs/integrations/scim-provisioning/index.mdx +0 -207
  156. package/skills/testeiya/testomatio-docs/docs/integrations/scim-provisioning/okta.md +0 -204
  157. package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/azure.md +0 -95
  158. package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/google.md +0 -75
  159. package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/index.mdx +0 -33
  160. package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/okta.md +0 -108
  161. package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/saml.md +0 -66
  162. package/skills/testeiya/testomatio-docs/docs/legal/compliance/gdpr.md +0 -95
  163. package/skills/testeiya/testomatio-docs/docs/legal/compliance/index.mdx +0 -94
  164. package/skills/testeiya/testomatio-docs/docs/legal/compliance/privacy.md +0 -26
  165. package/skills/testeiya/testomatio-docs/docs/legal/compliance/terms.md +0 -32
  166. package/skills/testeiya/testomatio-docs/docs/legal/security/index.mdx +0 -242
  167. package/skills/testeiya/testomatio-docs/docs/legal/security/jira.md +0 -140
  168. package/skills/testeiya/testomatio-docs/docs/legal/security/subprocessors.md +0 -76
  169. package/skills/testeiya/testomatio-docs/docs/management/company/administration.md +0 -363
  170. package/skills/testeiya/testomatio-docs/docs/management/company/audit-log.md +0 -41
  171. package/skills/testeiya/testomatio-docs/docs/management/company/plan-features-comparison.md +0 -240
  172. package/skills/testeiya/testomatio-docs/docs/management/company/subscriptions.md +0 -326
  173. package/skills/testeiya/testomatio-docs/docs/management/company/trials.md +0 -75
  174. package/skills/testeiya/testomatio-docs/docs/management/company/users-and-permissions/accountant.md +0 -49
  175. package/skills/testeiya/testomatio-docs/docs/management/company/users-and-permissions/index.mdx +0 -285
  176. package/skills/testeiya/testomatio-docs/docs/management/company/users-and-permissions/read-only-user.md +0 -67
  177. package/skills/testeiya/testomatio-docs/docs/management/company/users-and-permissions/teams.md +0 -138
  178. package/skills/testeiya/testomatio-docs/docs/management/project/settings.md +0 -87
  179. package/skills/testeiya/testomatio-docs/docs/management/project/templates.md +0 -546
  180. package/skills/testeiya/testomatio-docs/docs/project/analytics/index.md +0 -326
  181. package/skills/testeiya/testomatio-docs/docs/project/import-export/export-tests/classical-tests-markdown-format.md +0 -386
  182. package/skills/testeiya/testomatio-docs/docs/project/import-export/export-tests/download-manual-tests-as-files.md +0 -378
  183. package/skills/testeiya/testomatio-docs/docs/project/import-export/export-tests/export-to-obsidian.md +0 -112
  184. package/skills/testeiya/testomatio-docs/docs/project/import-export/export-tests/export-to-spreadsheet.md +0 -127
  185. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/auto-import.md +0 -63
  186. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-Allure-TestOps.md +0 -49
  187. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-QTest.md +0 -41
  188. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-Qase.md +0 -39
  189. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-Zephyr.md +0 -37
  190. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-csv-xlsx.md +0 -117
  191. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-cucumber.md +0 -93
  192. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-qmetry.md +0 -44
  193. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-source-code.md +0 -117
  194. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-testcaselabs.md +0 -44
  195. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-testmo.md +0 -47
  196. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-testrail.md +0 -82
  197. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-xray.md +0 -55
  198. package/skills/testeiya/testomatio-docs/docs/project/plans/index.md +0 -334
  199. package/skills/testeiya/testomatio-docs/docs/project/pulse/index.md +0 -104
  200. package/skills/testeiya/testomatio-docs/docs/project/runs/archive-runs-and-groups.md +0 -176
  201. package/skills/testeiya/testomatio-docs/docs/project/runs/custom-statuses.md +0 -195
  202. package/skills/testeiya/testomatio-docs/docs/project/runs/environments.md +0 -203
  203. package/skills/testeiya/testomatio-docs/docs/project/runs/managing-runs.md +0 -455
  204. package/skills/testeiya/testomatio-docs/docs/project/runs/merge-strategies.md +0 -137
  205. package/skills/testeiya/testomatio-docs/docs/project/runs/reports.md +0 -329
  206. package/skills/testeiya/testomatio-docs/docs/project/runs/rungroups.md +0 -342
  207. package/skills/testeiya/testomatio-docs/docs/project/runs/running-automated-tests.md +0 -256
  208. package/skills/testeiya/testomatio-docs/docs/project/runs/running-manual-and-automated-tests.md +0 -331
  209. package/skills/testeiya/testomatio-docs/docs/project/runs/running-tests-manually.md +0 -633
  210. package/skills/testeiya/testomatio-docs/docs/project/runs/temporary-tests-notes.md +0 -223
  211. package/skills/testeiya/testomatio-docs/docs/project/steps-snippets/snippets.md +0 -68
  212. package/skills/testeiya/testomatio-docs/docs/project/steps-snippets/steps.md +0 -181
  213. package/skills/testeiya/testomatio-docs/docs/project/tests/bdd-test-case-editor.md +0 -98
  214. package/skills/testeiya/testomatio-docs/docs/project/tests/classical-test-case-editor.md +0 -354
  215. package/skills/testeiya/testomatio-docs/docs/project/tests/classical-vs-bdd.md +0 -169
  216. package/skills/testeiya/testomatio-docs/docs/project/tests/copy-and-move-your-tests.md +0 -156
  217. package/skills/testeiya/testomatio-docs/docs/project/tests/other-features-for-test-case-design.md +0 -412
  218. package/skills/testeiya/testomatio-docs/docs/project/tests/test-case-creation-and-editing.md +0 -527
  219. package/skills/testeiya/testomatio-docs/docs/support/index.md +0 -75
  220. package/skills/testeiya/testomatio-docs/docs/test-reporting/artifacts.md +0 -388
  221. package/skills/testeiya/testomatio-docs/docs/test-reporting/cli.md +0 -215
  222. package/skills/testeiya/testomatio-docs/docs/test-reporting/configuration.md +0 -247
  223. package/skills/testeiya/testomatio-docs/docs/test-reporting/frameworks.md +0 -490
  224. package/skills/testeiya/testomatio-docs/docs/test-reporting/functions.md +0 -144
  225. package/skills/testeiya/testomatio-docs/docs/test-reporting/index.mdx +0 -48
  226. package/skills/testeiya/testomatio-docs/docs/test-reporting/junit.md +0 -248
  227. package/skills/testeiya/testomatio-docs/docs/test-reporting/logger.md +0 -138
  228. package/skills/testeiya/testomatio-docs/docs/test-reporting/php.md +0 -77
  229. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/bitbucket.md +0 -72
  230. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/csv.md +0 -23
  231. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/debug.md +0 -18
  232. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/github.md +0 -63
  233. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/gitlab.md +0 -29
  234. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/html.md +0 -80
  235. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/index.mdx +0 -57
  236. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/testomatio.md +0 -331
  237. package/skills/testeiya/testomatio-docs/docs/test-reporting/python.md +0 -229
  238. package/skills/testeiya/testomatio-docs/docs/test-reporting/workflows.md +0 -325
  239. package/skills/testeiya/testomatio-docs/docs/tutorials/Interacting-via-API.md +0 -159
  240. package/skills/testeiya/testomatio-docs/docs/tutorials/Manual-Testing-Classic.md +0 -164
  241. package/skills/testeiya/testomatio-docs/docs/tutorials/Set-Up-Read-Only-Access.md +0 -85
  242. package/skills/testeiya/testomatio-docs/docs/tutorials/Using-AI-in-Testing.md +0 -163
  243. package/skills/testeiya/testomatio-docs/docs/tutorials/Working-with-Jira.md +0 -125
  244. package/skills/testeiya/testomatio-docs/docs/tutorials/java.md +0 -478
  245. package/skills/testeiya/testomatio-docs/docs/tutorials/playwright.md +0 -207
  246. package/skills/testeiya/testomatio-docs/docs/tutorials/webdriver.md +0 -218
  247. package/skills/testeiya/testomatio-docs/docs.lock.json +0 -6
  248. package/skills/testeiya/testomatio-reporter/SKILL.md +0 -307
  249. package/skills/testomatio/test-automation/setup-pr-testing/SKILL.md +0 -199
  250. package/skills.yaml +0 -21
  251. package/src/ai-debug.ts +0 -188
  252. package/src/api/agent-get.ts +0 -22
  253. package/src/api/agent-start.ts +0 -384
  254. package/src/api/client-log.ts +0 -29
  255. package/src/api/context.ts +0 -332
  256. package/src/api/debug-layout.ts +0 -47
  257. package/src/api/debug-report.ts +0 -29
  258. package/src/api/debug-snapshot.ts +0 -30
  259. package/src/api/debug-stream.ts +0 -52
  260. package/src/api/files-delete.ts +0 -184
  261. package/src/api/files-read.ts +0 -41
  262. package/src/api/files-rename.ts +0 -99
  263. package/src/api/files-tree.ts +0 -292
  264. package/src/api/files-write.ts +0 -41
  265. package/src/api/mcp.ts +0 -603
  266. package/src/api/memory.ts +0 -69
  267. package/src/api/open-external.ts +0 -39
  268. package/src/api/playwright-cli.ts +0 -606
  269. package/src/api/providers.ts +0 -457
  270. package/src/api/read-env-token.ts +0 -33
  271. package/src/api/sessions.ts +0 -79
  272. package/src/api/settings.ts +0 -120
  273. package/src/api/skills.ts +0 -58
  274. package/src/api/testomatio-attachment.ts +0 -89
  275. package/src/api/testomatio-auth.ts +0 -284
  276. package/src/api/testomatio-proxy.ts +0 -197
  277. package/src/api/testomatio-run-stats.ts +0 -81
  278. package/src/api/testomatio-target.ts +0 -225
  279. package/src/api/testomatio-transcription.ts +0 -82
  280. package/src/api/workspace-search.ts +0 -96
  281. package/src/api/workspace-sync.ts +0 -151
  282. package/src/api/workspace.ts +0 -165
  283. package/src/app-server.ts +0 -556
  284. package/src/bridge.ts +0 -251
  285. package/src/check-tests.ts +0 -156
  286. package/src/cli.ts +0 -17
  287. package/src/commands.ts +0 -244
  288. package/src/config.ts +0 -183
  289. package/src/connection.ts +0 -658
  290. package/src/context-store.ts +0 -265
  291. package/src/debug-bus.ts +0 -405
  292. package/src/extensions/tool-gate.ts +0 -220
  293. package/src/extensions/webui/ask-channel.ts +0 -52
  294. package/src/extensions/webui/index.ts +0 -184
  295. package/src/extensions/webui/tools/ask-question.ts +0 -88
  296. package/src/extensions/webui/tools/query-result.ts +0 -79
  297. package/src/extensions/webui/tools/render-chart.ts +0 -53
  298. package/src/extensions/webui/tools/render-item.ts +0 -61
  299. package/src/extensions/webui/tools/render-list.ts +0 -170
  300. package/src/extensions/webui/tools/render-result.ts +0 -85
  301. package/src/extensions/webui/tools/render-tree.ts +0 -71
  302. package/src/extensions/webui/tools/ui-widget.ts +0 -54
  303. package/src/extensions/webui/tools/widget-result.ts +0 -13
  304. package/src/extensions/webui/widget-channel.ts +0 -50
  305. package/src/file-log.ts +0 -196
  306. package/src/git-tracked.ts +0 -68
  307. package/src/gitignore.ts +0 -53
  308. package/src/json-store.ts +0 -43
  309. package/src/load-env.ts +0 -70
  310. package/src/loader-style.ts +0 -96
  311. package/src/main.ts +0 -140
  312. package/src/mcp-catalog.ts +0 -96
  313. package/src/models-catalog.ts +0 -72
  314. package/src/permissions.ts +0 -120
  315. package/src/project-dir.ts +0 -189
  316. package/src/project-info.ts +0 -108
  317. package/src/prompt/app-ui.ts +0 -59
  318. package/src/prompt/browser.ts +0 -27
  319. package/src/prompt/index.ts +0 -62
  320. package/src/prompt/tools.ts +0 -27
  321. package/src/server-info.ts +0 -62
  322. package/src/session-factory.ts +0 -442
  323. package/src/session-store.ts +0 -115
  324. package/src/shell-env.ts +0 -45
  325. package/src/skills.ts +0 -163
  326. package/src/sync-snapshot.ts +0 -140
  327. package/src/telemetry.ts +0 -239
  328. package/src/testomatio-auth.ts +0 -299
  329. package/src/testomatio.ts +0 -98
  330. package/src/theme.ts +0 -30
  331. package/src/user-env.ts +0 -94
  332. package/src/welcome.ts +0 -194
  333. package/src/workspace/safe-path.ts +0 -85
  334. package/src/workspace/test-md.ts +0 -70
  335. package/src/workspace-model.ts +0 -440
  336. package/testeiya.config.json +0 -14
  337. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/authentication-flows.md +0 -0
  338. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/authentication.md +0 -0
  339. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/clock-mocking.md +0 -0
  340. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/mobile-testing.md +0 -0
  341. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/multi-context.md +0 -0
  342. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/multi-user.md +0 -0
  343. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/network-advanced.md +0 -0
  344. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/third-party.md +0 -0
  345. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/architecture/pom-vs-fixtures.md +0 -0
  346. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/architecture/test-architecture.md +0 -0
  347. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/architecture/when-to-mock.md +0 -0
  348. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/browser-apis/browser-apis.md +0 -0
  349. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/browser-apis/iframes.md +0 -0
  350. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/browser-apis/service-workers.md +0 -0
  351. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/browser-apis/websockets.md +0 -0
  352. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/annotations.md +0 -0
  353. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/assertions-waiting.md +0 -0
  354. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/configuration.md +0 -0
  355. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/fixtures-hooks.md +0 -0
  356. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/global-setup.md +0 -0
  357. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/locators.md +0 -0
  358. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/page-object-model.md +0 -0
  359. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/projects-dependencies.md +0 -0
  360. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/test-data.md +0 -0
  361. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/test-suite-structure.md +0 -0
  362. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/test-tags.md +0 -0
  363. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/debugging/console-errors.md +0 -0
  364. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/debugging/debugging.md +0 -0
  365. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/debugging/error-testing.md +0 -0
  366. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/debugging/flaky-tests.md +0 -0
  367. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/frameworks/angular.md +0 -0
  368. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/frameworks/nextjs.md +0 -0
  369. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/frameworks/react.md +0 -0
  370. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/frameworks/vue.md +0 -0
  371. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/ci-cd.md +0 -0
  372. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/docker.md +0 -0
  373. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/github-actions.md +0 -0
  374. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/gitlab.md +0 -0
  375. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/other-providers.md +0 -0
  376. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/parallel-sharding.md +0 -0
  377. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/performance.md +0 -0
  378. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/reporting.md +0 -0
  379. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/test-coverage.md +0 -0
  380. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/accessibility.md +0 -0
  381. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/api-testing.md +0 -0
  382. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/browser-extensions.md +0 -0
  383. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/canvas-webgl.md +0 -0
  384. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/component-testing.md +0 -0
  385. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/drag-drop.md +0 -0
  386. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/electron.md +0 -0
  387. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/file-operations.md +0 -0
  388. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/file-upload-download.md +0 -0
  389. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/forms-validation.md +0 -0
  390. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/graphql-testing.md +0 -0
  391. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/i18n.md +0 -0
  392. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/performance-testing.md +0 -0
  393. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/security-testing.md +0 -0
  394. /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/visual-regression.md +0 -0
  395. /package/skills/{playwright-cli → playwright/playwright-cli}/SKILL.md +0 -0
  396. /package/skills/{playwright-cli → playwright/playwright-cli}/references/element-attributes.md +0 -0
  397. /package/skills/{playwright-cli → playwright/playwright-cli}/references/playwright-tests.md +0 -0
  398. /package/skills/{playwright-cli → playwright/playwright-cli}/references/request-mocking.md +0 -0
  399. /package/skills/{playwright-cli → playwright/playwright-cli}/references/running-code.md +0 -0
  400. /package/skills/{playwright-cli → playwright/playwright-cli}/references/session-management.md +0 -0
  401. /package/skills/{playwright-cli → playwright/playwright-cli}/references/storage-state.md +0 -0
  402. /package/skills/{playwright-cli → playwright/playwright-cli}/references/test-generation.md +0 -0
  403. /package/skills/{playwright-cli → playwright/playwright-cli}/references/tracing.md +0 -0
  404. /package/skills/{playwright-cli → playwright/playwright-cli}/references/video-recording.md +0 -0
@@ -0,0 +1,83 @@
1
+ ---
2
+ name: qa-data-seeder
3
+ description: Prepare and seed test data for a feature into a target environment. Analyzes the feature's implementation, proposes data categories covering regular and edge cases, and populates the environment via existing seed mechanisms code access, REST, MCP. Use when the user asks to seed test data, populate a test or staging environment, prepare data for manual/QA testing of a feature, generate a dataset for a feature, or create fixtures in an environment.
4
+ license: MIT
5
+ metadata:
6
+ author: Testomat.io
7
+ version: 1.0.0
8
+ ---
9
+
10
+ # QA Data Seeder
11
+
12
+ Analyze how a feature is implemented, design a balanced dataset that covers every category QA needs, and populate it into a target environment so the feature can be tested manually or by automation.
13
+
14
+ ## Critical Constraints
15
+
16
+ - **Never seed production.** Confirm the target environment is a test/dev/staging one before writing any data. If in doubt, stop and ask.
17
+ - **Never produce broken data.** Every seeded record must pass the application's own validation. Edge cases are extreme-but-valid values, not corrupt ones. Malformed input belongs in negative tests executed live, never in persisted seed data.
18
+ - **Balance the dataset: at least 70% regular (expected) data, at most 30% edge cases.**
19
+ - **Do not seed until the user approves the categories and the exact item count** (Step 3 gate).
20
+ - Credentials, tokens, and connection strings come from env vars or user input — never hardcode them.
21
+ - Prefer the project's existing seeding mechanisms (factories, seed scripts, fixtures, admin console) or REST API or MCP. Write seed script in language of application.
22
+ - Generated artifacts (dataset plans, one-off seed scripts) go into the gitignored `.testeiya/seed-data/` — add `.testeiya/` to `.gitignore` if missing.
23
+ - Mark every seeded record with one recognizable marker (in a name, note, or tag field the schema allows) so QA can find the data and clean it up later. Use the same marker for the whole run.
24
+
25
+ ## Workflow
26
+
27
+ ### Step 1: Understand the feature
28
+
29
+ Read the implementation before proposing anything. Collect:
30
+
31
+ - Entities and models the feature touches, with every field: type, format, length limits, numeric ranges, enums, required vs optional, uniqueness, defaults.
32
+ - Validation rules — application-level and DB constraints/migrations.
33
+ - Relationships and prerequisites: which records must exist before others can be created.
34
+ - Business variations that change behavior: roles, statuses, types, plans/tiers, locales, feature flags, time-dependent logic.
35
+ - API endpoints (or UI flows) that create these records, and what they require.
36
+
37
+ If there is no code access, fall back to the API schema (OpenAPI/Swagger, GraphQL introspection) or ask the user for docs. If MCP available - use it.
38
+
39
+ ### Step 2: Collect environment details
40
+
41
+ ❓ Ask for what the code cannot tell you:
42
+
43
+ - Platform: web, mobile, or API-only.
44
+ - Base URL if web; API base URL for seeding.
45
+ - Environment kind (local, dev, staging) — confirm it is not production.
46
+ - Access channel available: existing seed mechanism, REST API, DB/console access.
47
+ - How to authenticate: which env vars hold tokens or credentials.
48
+ - Which account/tenant/workspace to seed into, or whether to create a fresh one.
49
+
50
+ Pick the seeding channel in this order: existing seed mechanism → app console/code → new small script -> REST API -> MCP .
51
+ For local environments data can be seeded through the backend.
52
+
53
+
54
+ ### Step 3: Propose categories and ask for the count
55
+
56
+ - Derive categories from Step 1: one per business variation, plus edge-case groups (min/max lengths and amounts, unicode, date boundaries, every enum value and reachable state, empty vs full optional fields, collection and relationship extremes).
57
+ - Present a table: category, what it lets QA test, regular/edge, planned share.
58
+ - Keep regular categories at 70% or more of the total; edge categories at 30% or less.
59
+ - ❓ Ask the user for the exact total number of items, then recompute per-category counts and confirm.
60
+ - Adjust categories per user feedback before generating anything.
61
+
62
+ ### Step 4: Generate the dataset
63
+
64
+ - Use realistic values: names, emails, addresses, and amounts that look like production data; unique where the schema requires it.
65
+ - Use faker/lorem ipsum generators when available
66
+ - Order records so prerequisites come first (parents before children, referenced records before referencing ones).
67
+ - Apply the run marker to every record.
68
+ - Save the dataset (records or generation rules) to `.testeiya/seed-data/` before seeding, so the run is reviewable and repeatable.
69
+
70
+ ### Step 5: Seed the environment
71
+
72
+ - Seed through the chosen channel in dependency order; batch where the channel allows.
73
+ - Verify each batch as it is written: API response codes, returned IDs, record counts.
74
+ - If the application rejects a record, fix the generator to comply — never bypass validation by writing directly to the DB.
75
+ - After 3 failed attempts on a category, report the failure with the error output and ask how to proceed.
76
+
77
+ ### Step 6: Verify and hand off
78
+
79
+ - Re-query the environment per category and compare counts against the approved plan.
80
+ - Report a table: category, requested, created, and how to locate the records (the marker).
81
+ - Include the environment URL and, for web, a page where QA can see the seeded data.
82
+ - Give cleanup instructions: how to find records by the marker and delete them through the same channel.
83
+ - Offer follow-ups: `qa-write-test-cases` to write cases against the seeded data, or `qa-thinking` to probe the feature for scenarios the dataset should grow to cover.
@@ -30,6 +30,7 @@ metadata:
30
30
  | manual | `--kind manual` | manual cases only — pending for testers, complete without any launch |
31
31
  | mixed | `--kind mixed` | manual + automated in one run — testers work it while the automated part is launched separately |
32
32
  | automated | *(no flag)* | automated tests only |
33
+ | detect | `--kind detect` | Testomat.io picks the kind from the tests the run was scoped to — prefer it on filtered runs |
33
34
 
34
35
  A run created with `start` executes nothing: manual cases are pending immediately; an automated part stays scheduled until launched. `--format id` prints only the run id to stdout (banner and logs go to stderr), so capture is clean:
35
36
 
@@ -71,7 +72,7 @@ This is how "run only the tests affected by a code change" works — and it need
71
72
  - `file=` — path to the coverage map. May be absolute; it is read with `fs`, independent of the working directory.
72
73
  - `diff=` — git ref to diff against; defaults to `master`. The reporter runs `git diff <ref> --name-only` **in `process.cwd()`** — launch it from inside the repo whose changes are being detected.
73
74
  - Changed files are mapped through the YAML; the matching suite/test IDs and tags become the run's scope.
74
- - Zero matching tests → no run is created (`No tests found.`); treat that as success in scripts and CI jobs.
75
+ - Zero matching tests → no run is created (`No tests found.`). Exit codes: `start` and `--filter-list` exit 1, `run` exits 0; `--warn` makes all of them exit 0.
75
76
 
76
77
  #### Picking the diff base
77
78
 
@@ -93,6 +94,7 @@ Cannot be combined with `--remote`.
93
94
 
94
95
  - `TESTOMATIO_TITLE` — the run title (e.g. `PR <number>: <title>`).
95
96
  - `TESTOMATIO_RUNGROUP_TITLE` — groups related runs (per week / release / milestone).
97
+ - `TESTOMATIO_DESCRIPTION` — free-form run description, shown on the run and in PR/MR comments; put the link to the change here (a generated coverage scope is appended after it).
96
98
  - `TESTOMATIO_ENV` — optional environment labels.
97
99
 
98
100
  ## Report into an existing run
@@ -136,7 +138,7 @@ TESTOMATIO_RUN=$RUN_ID npx @testomatio/reporter run "<runner command>" \
136
138
 
137
139
  ## PR/MR comments
138
140
 
139
- When results report, the reporter posts and updates the PR/MR summary comment itself — never script a comment API call. Enable the pipe by setting its token:
141
+ The reporter posts and updates the PR/MR summary comment itself — `start` posts a pending comment with the planned tests the moment the run is created, and results replace it as they report. Never script a comment API call. Enable the pipe by setting its token on every reporter command, `start` included:
140
142
 
141
143
  | Platform | Env var | Note |
142
144
  | --------- | ------------------------ | -------------------------------------------------- |
@@ -148,4 +150,4 @@ No pipe for the platform (e.g. Azure DevOps) → no comment; results remain visi
148
150
 
149
151
  ## Related skills
150
152
 
151
- `qa-test-code-coverage` (creates the coverage map the `coverage:` filter needs), `setup-pr-testing` (wires these commands into a CI pipeline), `qa-e2e-tests-reporting` (install and configure the reporter in an automation project).
153
+ `qa-test-code-coverage` (creates the coverage map the `coverage:` filter needs), `setup-change-aware-pr-testing` (wires these commands into a CI pipeline), `qa-e2e-tests-reporting` (install and configure the reporter in an automation project).
@@ -0,0 +1,190 @@
1
+ ---
2
+ name: setup-change-aware-pr-testing
3
+ description: Set up CI so every pull request gets a Testomat.io run scoped to the code it changes. One job runs after the deploy — it creates the run and launches the affected tests into it. Use when the user wants to integrate Testomat.io runs into a CI pipeline, create test runs per pull request, or set up change-aware testing that triggers affected tests from CI events.
4
+ license: MIT
5
+ metadata:
6
+ author: Testomat.io
7
+ version: 5.0.0
8
+ ---
9
+
10
+ # Setup Change-Aware PR Testing
11
+
12
+ I set up a project's CI for change-aware PR testing. The knowledge here is the flow model and the decisions to confirm with the user; what gets wired depends on the project's tests:
13
+
14
+ - manual — testers get a run to work through against the deployed change; nothing to execute.
15
+ - automated — an execution mode must be chosen: inline in the pipeline, a Testomat.io CI profile, or another workflow/repo.
16
+ - mixed — both, sharing one run per PR.
17
+
18
+ Two skills carry the mechanics — read both before wiring:
19
+
20
+ - `run-tests-with-testomatio-reporter` — every reporter command and env var the job executes.
21
+ - `setup-ci-automation` — CI investigation, workflow-authoring rules, diagram conventions, secrets, PR delivery.
22
+
23
+ > **GOAL: a working pipeline committed to the project's own CI system.** That CI configuration is the one and only finished result. I run locally to author it — I am never part of CI. Do not execute reporter commands while authoring; the only exceptions are the Testomat.io CI profile check (Step 2) and the final battle-test (Step 6).
24
+
25
+ The minimal setup is **one job, gated on the deploy**: it creates the run and launches the tests together. Propose that. Splitting creation and launch across two jobs is possible when the user needs it — the run id is then carried between them.
26
+
27
+ ## Possible flows
28
+
29
+ When the environment renders Mermaid, post this diagram as a chat message before the first question — never open with a question; it frames everything that follows. When questions go through a form or tool, the diagram must already be on screen in an earlier message.
30
+
31
+ Never post a diagram bare — follow it immediately with one short paragraph explaining it: this is the general schema of PR testing, for the user to examine before anything is implemented; a run is created once the change is deployed, and the user will now choose which deploys trigger it — a per-PR preview deploy, the post-merge deploy, or both — which types of tests execute (manual, automated, or both), and how the automated ones run — inline in the pipeline, through a Testomat.io CI profile, or by dispatching another repo.
32
+
33
+ ```mermaid
34
+ flowchart LR
35
+ DEP([Preview or post-merge<br/>deploy succeeds]) --> WHICH{PR behind<br/>this commit?}
36
+ WHICH -->|none| SKIP([Nothing to test])
37
+ WHICH -->|found| RUN[Create a run scoped<br/>to the deployed changes]
38
+ RUN -->|manual / mixed| TESTERS[Testers execute manual cases<br/>on Testomat.io]
39
+ RUN -->|automated / mixed| MODE{How to execute?}
40
+ MODE -->|via a Testomat.io CI profile| RES
41
+ MODE -->|inline in this pipeline| RES
42
+ MODE -->|by dispatching another repo| RES
43
+ RES[Run the affected automated tests —<br/>results land in the same run]
44
+ ```
45
+
46
+ - Manual-only project → only the top branch: the run is complete at creation, testers execute it on Testomat.io, nothing launches.
47
+ - Automated-only project → only the bottom branch: the run is created and launched in one job.
48
+ - Mixed project → both branches share one run per PR.
49
+
50
+ ## The coverage map drives everything
51
+
52
+ A coverage map maps source files/globs to test identifiers; the reporter filters it by the diff so only impacted tests are prepared and run. It is produced by the `qa-test-code-coverage` skill — default `coverage.tests.yml`, one file serving both manual and automated tests. Missing map → delegate to `qa-test-code-coverage`; never hand-write one here. Without a map nothing can be filtered and no pipeline can be wired.
53
+
54
+ ## Critical Constraints
55
+
56
+ - **Never execute the reporter while authoring — the deliverable is committed CI config.** Two approved exceptions: the Testomat.io CI profile check (Step 2) and the battle-test (Step 6).
57
+ - **Only touch CI config files** — never source or test files.
58
+ - Diagrams gate the dialogue: flows diagram before the first question, selected-flow diagram approved before wiring (Step 3).
59
+ - Discovery first — delegate to `scan-automation-project` before writing anything.
60
+ - Never guess a Testomat.io CI profile name — pick from a list (Testomat.io MCP) confirmed by the user, or ask. Never wire one that has not been proven to launch.
61
+ - Say "Testomat.io CI profile" in full, never bare "profile"; every question option explains itself in plain words.
62
+ - Avoid presenting the project's full test inventory as the run scope; never print full test lists.
63
+ - No coverage map → no pipeline; delegate map creation to `qa-test-code-coverage`.
64
+ - Propose one job gated on the deploy job succeeding; split creation and launch across jobs only if the user needs it, carrying the run id with the CI's value passing.
65
+ - Preview deploys and post-merge deploys are equally valid triggers — the same job shape serves both; wire it to each deploy the project has.
66
+ - A deployed commit with no PR behind it creates nothing.
67
+ - `--kind detect` lets Testomat.io resolve the kind from what the run was scoped to — never hardcode `mixed`.
68
+ - The job never fails the deploy pipeline.
69
+ - PR comments come from the reporter's own pipes — never script a PR-comment API call.
70
+ - The run title is the PR's own title, carried verbatim from the resolved PR, with the PR number in front. Never append words of your own — no "selective tests", no "affected tests", no framework or scope labels.
71
+ - Every run gets that title and a rungroup.
72
+
73
+ ## Workflow
74
+
75
+ ### Step 1 — Discover
76
+
77
+ - Delegate to `scan-automation-project`: are there manual `.test.md` cases, which e2e framework exists (unit/integration don't count), do automated tests live in this repo or elsewhere.
78
+ - The result fixes the project kind — manual, automated, or mixed — and with it which flows apply.
79
+ - Investigate the CI with `setup-ci-automation`: which CI system runs the project, what workflows exist, and which of them deploy — to which environments.
80
+ - Locate the coverage map (default `coverage.tests.yml`). Missing → propose creating it and delegate to `qa-test-code-coverage`.
81
+
82
+ ### Step 2 — Present the flows and ask the unknowns
83
+
84
+ Post the possible-flows diagram, trimmed to the kinds found in Step 1, as its own message with its one-paragraph explanation (what the schema is, which choices the user is about to make) — then ask only what applies. Read the CI files first so you don't ask what's already answered.
85
+
86
+ Manual tests found — nothing to choose: their part of the run is complete at creation, testers start on Testomat.io immediately.
87
+
88
+ Automated tests found — ❓ choose the execution mode. Each option in the question must explain itself in plain words — what runs where and who triggers it. In particular spell out what a Testomat.io CI profile is: a CI workflow configuration saved on the Testomat.io project (Settings → CI) that Testomat.io dispatches to execute the tests, with results reporting back into the run.
89
+
90
+ | Mode | When it fits |
91
+ | ------------------------------- | ------------------------------------------------------------------------------------------------------------- |
92
+ | Remote — Testomat.io CI profile | a Testomat.io CI profile for the e2e suite exists (Settings → CI); Testomat.io owns runner, env, secrets |
93
+ | Inline — this pipeline | mobile/simulators, services this pipeline spins up, or an e2e job that already works in this repo |
94
+ | Cross-repo dispatch | the e2e suite lives in another repo and no Testomat.io CI profile covers it |
95
+
96
+ - Remote chosen → identify the Testomat.io CI profile, never guess it: Testomat.io MCP connected → fetch the list, present it, ❓ ask the user to choose (profiles differ by workflow and job names); no MCP → ❓ ask for the exact profile name; none exists yet → creating one in Testomat.io (Settings → CI) is a prerequisite.
97
+ - **Then prove that profile launches before wiring anything around it.** ❓ Ask approval — it executes the full suite. Run `npx @testomatio/reporter run --remote <profile-name>` unfiltered, then check on the CI that a job actually started. Exit code 0 only means Testomat.io accepted the dispatch; a profile aimed at the wrong workflow, job, or branch fails silently. Nothing started → fix in Settings → CI and repeat.
98
+ - No e2e suite anywhere → wire only the manual flow; never fabricate an e2e job.
99
+
100
+ And for every kind:
101
+
102
+ 1. ❓ Which deploys trigger the run — the per-PR preview deploy, the post-merge deploy to staging/production, or both. Offer the deploy pipelines found in Step 1. Both exist → wire both; each produces its own run, scoped to what that deploy shipped and tested against that environment.
103
+ 2. ❓ Rungroup strategy — week / day / release / milestone.
104
+
105
+ ### Step 3 — Confirm the selected flow
106
+
107
+ - Draw the flow the answers produced — only the chosen kind, deploys, and execution mode.
108
+ - ❓ Present the diagram and get approval; wire nothing until the user accepts it.
109
+
110
+ Example — mixed project, preview and post-merge deploys, Testomat.io CI profile:
111
+
112
+ ```mermaid
113
+ flowchart LR
114
+ PREV([Preview deploy succeeds]) --> JOB
115
+ STG([Post-merge deploy succeeds]) --> JOB
116
+ JOB[Same job — get the PR, create a run<br/>scoped to what this deploy shipped]
117
+ JOB --> TESTERS[Testers execute manual cases<br/>on Testomat.io]
118
+ JOB --> L1[Launch automated tests via the Testomat.io<br/>CI profile, against this deploy's environment]
119
+ L1 --> RES[Results land in that run]
120
+ ```
121
+
122
+ ### Step 4 — Wire the job into CI
123
+
124
+ One job in the deploy pipeline, gated on the deploy job succeeding through the CI's native job dependency. The same job serves both deploys — only three things differ:
125
+
126
+ | Deploy | The PR | Diff range | Tests run against |
127
+ | ----------------------- | --------------------------------- | --------------------------------- | -------------------- |
128
+ | Preview deploy (per PR) | the PR that triggered the deploy | the PR's target branch | the preview URL |
129
+ | Post-merge deploy | resolved from the deployed commit | the deployed push's commit range | staging / production |
130
+
131
+ Author it following `setup-ci-automation`'s workflow-authoring rules; take every command and env var from `run-tests-with-testomatio-reporter`. No `--filter-list` pre-checks. Manual-only projects get (a) and (b) alone.
132
+
133
+ **(a) Get the PR.** A preview deploy already carries it. After a merge, ask the platform which PR contains the deployed commit — never parse the commit subject, which yields the branch name for a merge commit. No PR → log it and exit 0; direct commits to the mainline deploy as before and create nothing.
134
+
135
+ **(b) Create the run.**
136
+
137
+ - `start --kind detect --format id --warn --filter "coverage:file=<map>,diff=<range>"`, capturing the printed id into `TESTOMATIO_RUN` in the same shell.
138
+ - `<range>` is what this deploy shipped — per the table above.
139
+ - `--kind detect` — a diff touching only manual tests then yields a manual run, not a mixed one with an empty automated half.
140
+ - `TESTOMATIO_TITLE` from the resolved PR's number and title and nothing else; `TESTOMATIO_DESCRIPTION` its URL; `TESTOMATIO_RUNGROUP_TITLE` per Step 2.
141
+ - Provide the platform's comment-pipe token so the reporter posts its PR comment (tokens per platform in `run-tests-with-testomatio-reporter`).
142
+ - A change touching no mapped tests is normal — `--warn` keeps the job green; never parse the output.
143
+ - Check out the deployed revision with full history — the coverage filter diffs.
144
+
145
+ **(c) Launch the automated tests into that run** (automated/mixed only).
146
+
147
+ - Same filter and same range as (b), so the launch scope matches what the run was created for.
148
+ - Remote: `run --remote <profile-name>`. Inline: `run "<runner command>"`. Cross-repo: trigger the other repo's pipeline with the CI's native mechanism, passing the run id and API key into it.
149
+ - The URL of the environment this deploy produced reaches the tests — a remote param for remote mode, the runner's own base-URL env for inline.
150
+ - Manual cases need no launch — testers work through them against the deployed change by hand.
151
+
152
+ ### Step 5 — Deliver: secrets and the PR
153
+
154
+ Provision secrets and open the pipeline PR as `setup-ci-automation` prescribes, plus what is specific here:
155
+
156
+ - Provision the PR-comment pipe token alongside the API key (tokens per platform in `run-tests-with-testomatio-reporter`).
157
+ - The Testomat.io CI profile for remote launches is configured in Testomat.io (Settings → CI), not stored as a repo secret.
158
+ - Put in the PR description: the approved flow diagram, the phases wired, the execution mode chosen, and the secrets/prerequisites to provision before merging.
159
+
160
+ ### Step 6 — Battle-test the setup (on approval)
161
+
162
+ Prove the pipeline's commands work before the CI ever runs them — by running them once, locally, on a real change.
163
+
164
+ - ❓ Ask the user for a PR to validate with, and for approval to create a real run and launch tests — an open PR when a preview deploy is wired, an already-merged one otherwise.
165
+ - Reproduce that deploy's diff locally, per the Step 4 table: open PR → check out its branch and diff against the target branch; merged PR → check out the merge commit and diff against the mainline state just before it.
166
+ - Create the run exactly as (b) does — same kind, same filter, and the title that PR's own title yields — then launch as (c) does into it.
167
+ - Report the run created — id, kind, and the tests it scoped — and ask the user to review it in Testomat.io: does the scope match what that diff should affect?
168
+ - Zero tests matched → report it as a finding, then pick a PR that touches mapped source files together with the user.
169
+
170
+ ### Step 7 — Summarize and hand off
171
+
172
+ Present the approved flow diagram once more, now marked as wired. Report: the CI targeted and files written; the deploys the job hangs off; the chosen execution mode and the Testomat.io CI profile check result; what was skipped (no e2e / no Testomat.io CI profile); title scheme and rungroup; the battle-test outcome and the run awaiting the user's review; secrets and prerequisites still to provision; assumptions to confirm. Recommend committing the coverage map alongside the CI config.
173
+
174
+ ## Examples
175
+
176
+ **Example 1 — mixed project, preview and post-merge deploys, Testomat.io CI profile**
177
+ Discovery finds manual cases, an e2e suite, a per-PR preview deploy and a deploy to staging on the mainline; MCP lists the Testomat.io CI profiles and the user picks the one running the e2e suite. → The profile is proven with an unfiltered `run --remote` and a check that a job started, the diagram is approved, then the same job is added to both deploy pipelines: get the PR, `start --kind detect` with the coverage filter for that deploy's range, launch remotely against that deploy's URL. Two runs per PR — one on the preview, one on staging. Comment pipe enabled.
178
+
179
+ **Example 2 — e2e lives in another repo, no Testomat.io CI profile**
180
+ The user picks cross-repo dispatch from the mode table: the same job creates the run, then triggers the e2e repo's pipeline via the CI's native mechanism, passing the run id so results land in it. Note the Testomat.io CI profile option as the simpler future path.
181
+
182
+ **Example 3 — no coverage map yet**
183
+ No `coverage*.yml` found → explain nothing can be filtered without a map; delegate to `qa-test-code-coverage`; wire CI only after the map exists.
184
+
185
+ **Example 4 — manual-only project**
186
+ `scan-automation-project` finds `.test.md` cases and no e2e framework → the flows diagram shows only the manual branch; no execution-mode question asked. The job resolves the PR and creates the run, complete at creation — testers start on Testomat.io against the deployed change. Explain that launching needs an e2e suite first.
187
+
188
+ ## Related skills
189
+
190
+ `setup-ci-automation` (CI investigation, authoring rules, secrets, PR delivery), `run-tests-with-testomatio-reporter` (the reporter commands every job executes), `qa-test-code-coverage` (creates the coverage map this skill consumes), `scan-automation-project` (mandatory discovery), `qa-e2e-tests-reporting` (install the reporter if the project has no Testomat.io integration yet), `sync-test-cases-with-tms` (manual cases not yet in Testomat.io).
@@ -0,0 +1,76 @@
1
+ ---
2
+ name: setup-ci-automation
3
+ description: Investigate a project's CI and deploy new automated QA workflows into it. Explains what the existing workflows do — with a diagram — and wires QA tasks to run on repository events, like generating test cases when a PR opens, QA-analyzing new issues, or scheduling suite cleanups. Use when the user asks what their CI does, wants a CI workflow explained or reviewed, or wants a QA task to run automatically in CI.
4
+ license: MIT
5
+ metadata:
6
+ author: Testomat.io
7
+ version: 1.0.0
8
+ ---
9
+
10
+ # Setup CI Automation
11
+
12
+ I work with a project's CI: find out what runs there today, explain it, and add new workflows that automate QA tasks on repository events. What a new workflow *does* comes from the skill that owns the task — this skill owns getting it into CI correctly.
13
+
14
+ ## Critical Constraints
15
+
16
+ - **Only touch CI config files** — never source or test files.
17
+ - **Never invent the commands a job runs** — take the payload from the skill that owns the task, or from the user.
18
+ - The finished result is CI configuration delivered through a PR — never pushed straight to the default branch.
19
+ - Secrets live in the CI's secret store, never in config files.
20
+
21
+ ## Workflow
22
+
23
+ ### Step 1 — Investigate the CI
24
+
25
+ - Read the repo's CI config files to identify the CI system; several or none → ask which one to target.
26
+ - Inventory the existing workflows: trigger, jobs, and purpose of each — new automation must fit in, not duplicate or break what's there.
27
+ - Note the primitives this CI offers: secret store, value passing between jobs and pipelines, cross-pipeline triggers, deploy events.
28
+
29
+ ### Step 2 — Explain with a diagram
30
+
31
+ When the environment renders Mermaid, present a workflow — existing or proposed — as a flowchart: trigger → verb-first action blocks → outcome. Decisions are diamond questions; configuration details go in the text below the diagram, never as blocks.
32
+
33
+ - Never post a diagram bare — follow it with one short paragraph: what the workflow does and what the user is deciding.
34
+ - A proposed workflow's diagram is an approval gate — wire nothing until the user accepts it.
35
+
36
+ ### Step 3 — Design the new workflow
37
+
38
+ - Pin down the triggering event, the task to run, and where its result goes.
39
+ - The task's commands come from the skill that owns it (ideas below); this skill contributes only the CI wiring.
40
+ - A task performed by an AI agent needs that agent runnable in CI — ❓ ask how the project runs its agent there; never fabricate an install.
41
+ - Confirm the design with its diagram (Step 2) before writing config.
42
+
43
+ ### Step 4 — Author the workflow
44
+
45
+ - Write the CI's own syntax for the CI in front of you; never copy another CI's file shape.
46
+ - Keep each job to its task command plus the CI's native primitives — no log parsing, no shell-strictness preambles, no wrapper bash around the command.
47
+ - A job that diffs or walks history uses the CI checkout's full-history option — no manual fetch commands.
48
+ - A job reacting to a merged change checks out the exact revision that landed on the mainline — the branch tip moves as later merges land.
49
+ - Automation jobs never block a PR and never fail a merge or release pipeline.
50
+
51
+ ### Step 5 — Provision secrets
52
+
53
+ - Testomat.io project API key: store as `TESTOMATIO_<project-slug>` in the CI's secret store, mapped to the `TESTOMATIO` env var in every job that needs it.
54
+ - Tell the user exactly where to add each secret — the secret-store location this CI uses for this repo and the exact name to type.
55
+ - ❓ Ask the user to confirm secrets are in place before the workflow's PR merges — missing secrets fail the first run.
56
+
57
+ ### Step 6 — Deliver through a PR
58
+
59
+ - Commit the CI config on a branch and open a PR through the project's normal flow.
60
+ - PR description: the workflow diagram, what it automates, and the secrets or prerequisites reviewers must provision before merging.
61
+ - Where the CI runs PR-triggered workflows from the branch itself, point out that this PR will exercise the new workflow.
62
+
63
+ ## Automation ideas
64
+
65
+ Tasks worth wiring to CI events — the named skill owns each task's content:
66
+
67
+ | Event | Automation | Task owner |
68
+ | ------------- | ----------------------------------------------------------- | ---------------------------------------------------- |
69
+ | PR opened | Generate test cases from the PR diff | `pull-request-diff-analyzer` + `qa-write-test-cases` |
70
+ | Issue opened | QA-analyze the feature — edge cases, acceptance criteria | `qa-thinking` |
71
+ | Deploy done | Create a scoped test run, launch affected tests | `setup-change-aware-pr-testing` |
72
+ | Schedule | Detect duplicate or overlapping test cases | `detect-duplicate-test-cases` |
73
+
74
+ ## Related skills
75
+
76
+ `setup-change-aware-pr-testing` (the coverage-driven PR testing workflow built on this skill), `run-tests-with-testomatio-reporter` (reporter commands for run-related jobs), `testing-workflow` (routes QA tasks to the skills that own them).
@@ -0,0 +1,55 @@
1
+ ---
2
+ name: qa-split-testing-levels-pyramid
3
+ description: Apply the testing pyramid to a feature — divide test scenarios across levels (unit, integration, e2e), assign each scenario to the cheapest sufficient level, and produce a coverage split per level. Use when asked "unit, integration or e2e?", "what level should this test be?", "how should we test this feature?", "what test coverage do we need?", or to apply the test pyramid to a feature or project.
4
+ license: MIT
5
+ metadata:
6
+ author: Testomat.io
7
+ version: 1.0.0
8
+ ---
9
+
10
+ # QA Split Testing Levels — Test Pyramid
11
+
12
+ Applies the testing pyramid to a feature: each scenario goes to the cheapest level that can still catch its failure.
13
+ Input: a feature description, or risk scenarios from a prior QA analysis.
14
+
15
+ ## Testing levels
16
+
17
+ Default layers, bottom to top:
18
+
19
+ - **unit + integration**
20
+ - **e2e**
21
+ - **manual**
22
+
23
+ A layer can hold several kinds of tests with separate runners: `e2e api` / `e2e web` / `e2e mobile`.
24
+ Other testing layers a project may have instead: component, functional, contract, visual.
25
+ **Take the testing layers and kinds from the project; use the default only when the scan finds nothing.**
26
+
27
+ ## Workflow
28
+
29
+ 1. Inventory existing tests with the `scan-automation-project` skill.
30
+ 2. Detect the project's testing layers and the kinds of tests inside them.
31
+ 3. Assign each scenario to the lowest layer that catches its failure, and to a kind within it.
32
+ 4. Recommend a coverage split per layer and kind.
33
+
34
+ ## Rules
35
+
36
+ - Do not recommend manual verification for scenarios already covered by automated tests.
37
+ - Explain why a scenario cannot sit at a lower layer when assigning it upward.
38
+ - A kind never covers another kind of the same layer: `e2e web` does not cover `e2e api`.
39
+ - Generalize existing automated scenarios; expand only when the user asks.
40
+
41
+ ## Output
42
+
43
+ - Section `📐 Testing levels`: the layers and kinds used, when they differ from the default.
44
+ - Section `☑️ What is already tested`: number and scope of existing tests per layer and kind.
45
+ - Section `🧪 Testing plan`: scenario → layer and kind (`e2e / api`), with reasoning.
46
+ - When the environment can render charts, add a pie chart or test pyramid: test count and share per layer and kind. Skip the diagram in plain terminal output.
47
+ - For manual items: how to verify (`action → expected result`).
48
+
49
+ ## Next actions
50
+
51
+ Offer after the plan:
52
+
53
+ - Write manual test cases or a checklist → `qa-write-test-cases` skill.
54
+ - Automate manual cases into autotests → `automate-manual-test-cases` skill.
55
+ - Map tests to source files for change-aware runs → `qa-test-code-coverage` skill.