jarvis-ai-framework 2.1.1 → 3.2.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 (266) hide show
  1. package/AGENTS.md +14 -115
  2. package/agents/AGENTS.md +11 -23
  3. package/agents/README.md +27 -129
  4. package/agents/engineering/data/eng.data-engineer.agent.md +11 -34
  5. package/agents/engineering/eng.advisor.agent.md +56 -0
  6. package/agents/engineering/eng.agent.md +14 -24
  7. package/agents/engineering/eng.bug-hunter.md +7 -15
  8. package/agents/engineering/eng.dev-code-reviewer.md +1 -1
  9. package/agents/engineering/eng.frontend.agent.md +3 -7
  10. package/agents/engineering/eng.rpa.agent.md +2 -8
  11. package/agents/engineering/qa/eng.qa.quality-strategist.md +6 -11
  12. package/agents/engineering/qa/eng.qa.test-architect.md +8 -18
  13. package/agents/engineering/qa/eng.qa.test-planner.md +10 -14
  14. package/agents/engineering/qa/eng.qa.testing-engineer.md +91 -24
  15. package/agents/product/prod.discovery-interviewer.md +3 -3
  16. package/bin/README.md +142 -0
  17. package/bin/commands/docs-publish.js +105 -141
  18. package/bin/commands/docs-sync.js +66 -104
  19. package/bin/commands/info.js +7 -27
  20. package/bin/commands/init.js +23 -51
  21. package/bin/commands/install-rtk.js +9 -3
  22. package/bin/commands/list.js +5 -18
  23. package/bin/commands/map.js +20 -5
  24. package/bin/commands/qa-signoff.js +58 -55
  25. package/bin/commands/tokens.js +14 -17
  26. package/bin/commands/whoami.js +30 -26
  27. package/bin/jarvis.js +9 -163
  28. package/bin/lib/auth/session.js +20 -20
  29. package/bin/lib/cli/program.js +219 -0
  30. package/bin/lib/cli/shared-options.js +29 -0
  31. package/bin/lib/config/constants.js +59 -2
  32. package/bin/lib/config/ide-config.js +4 -8
  33. package/bin/lib/core/profile-filter.js +4 -1
  34. package/bin/lib/core/scanner.js +3 -29
  35. package/bin/lib/core/sync-engine.js +21 -14
  36. package/bin/lib/core/token-report.js +12 -2
  37. package/bin/lib/docs/fetch-file.js +39 -0
  38. package/bin/lib/docs/publish-file.js +194 -0
  39. package/bin/lib/docs/redis-cache.js +49 -0
  40. package/bin/lib/docs/validate-frontmatter.js +9 -39
  41. package/bin/lib/env-loader.js +11 -34
  42. package/bin/lib/flow-map/parse.js +11 -5
  43. package/bin/lib/flow-map/render.js +5 -2
  44. package/bin/lib/flow-map/tree.js +59 -10
  45. package/bin/lib/tasks/comment.js +40 -35
  46. package/bin/lib/utils/frontmatter.js +57 -0
  47. package/bin/lib/utils/git-parser.js +4 -6
  48. package/bin/lib/utils/npmrc-parser.js +6 -13
  49. package/bin/lib/utils/paths.js +2 -4
  50. package/bin/lib/utils/ui.js +3 -9
  51. package/bin/lib/vcs/api.js +25 -41
  52. package/bin/lib/vcs/create-issue.js +49 -33
  53. package/bin/lib/vcs/create-merge.js +47 -31
  54. package/bin/lib/vcs/fetch-raw.js +35 -23
  55. package/package.json +14 -5
  56. package/rules/engineering/eng-rules.md +1 -1
  57. package/rules/engineering/eng-security-rules.md +18 -16
  58. package/rules/engineering/eng.bump-rules.md +3 -2
  59. package/rules/engineering/eng.docs-scraping-rules.md +4 -4
  60. package/rules/engineering/eng.integrations-rules.md +6 -4
  61. package/rules/engineering/eng.skills-rules.md +1 -1
  62. package/rules/engineering/eng.specializations-rules.md +18 -4
  63. package/rules/engineering/frontend/eng.frontend-rules.md +1 -4
  64. package/rules/engineering/qa/eng.qa.cypress-standards-rules.md +1 -1
  65. package/rules/engineering/rpa/eng.rpa-rules.md +4 -9
  66. package/rules-on-demand/engineering/eng.pre-pr-rules.md +1 -1
  67. package/rules-on-demand/engineering/eng.start-rules.md +2 -0
  68. package/skills/AGENTS.md +52 -87
  69. package/skills/SKILLS-ROADMAP.md +47 -128
  70. package/skills/eng-ai/SKILL.md +270 -0
  71. package/skills/eng-ai/references/1-fundamentos-ml.md +24 -0
  72. package/skills/eng-ai/references/10-arquitetura-solucoes-ia.md +24 -0
  73. package/skills/eng-ai/references/11-governanca-ia.md +24 -0
  74. package/skills/eng-ai/references/12-seguranca-ia-responsavel.md +25 -0
  75. package/skills/eng-ai/references/2-matematica-estatistica.md +24 -0
  76. package/skills/eng-ai/references/3-dados-para-ia.md +24 -0
  77. package/skills/eng-ai/references/4-deep-learning-fundacionais.md +24 -0
  78. package/skills/eng-ai/references/5-llms-chatbots-agentes-rag.md +25 -0
  79. package/skills/eng-ai/references/6-avaliacao-experimentacao.md +24 -0
  80. package/skills/eng-ai/references/7-engenharia-sistemas-ia.md +24 -0
  81. package/skills/eng-ai/references/8-mlops-plataforma.md +24 -0
  82. package/skills/eng-ai/references/9-produto-ia.md +24 -0
  83. package/skills/eng-ai/references/especializacoes.md +17 -0
  84. package/skills/eng-automation/SKILL.md +290 -0
  85. package/skills/eng-automation/references/1-fundamentos-automacao.md +25 -0
  86. package/skills/eng-automation/references/10-ingestao-dados.md +25 -0
  87. package/skills/eng-automation/references/11-captcha-antibot.md +25 -0
  88. package/skills/eng-automation/references/12-limites-taxa-sessoes.md +25 -0
  89. package/skills/eng-automation/references/13-agendamento-orquestracao.md +24 -0
  90. package/skills/eng-automation/references/14-retentativa-erros.md +25 -0
  91. package/skills/eng-automation/references/15-autenticacao-credenciais.md +24 -0
  92. package/skills/eng-automation/references/16-observabilidade-confiabilidade.md +24 -0
  93. package/skills/eng-automation/references/2-aquisicao-dados.md +25 -0
  94. package/skills/eng-automation/references/3-automacao-navegador.md +24 -0
  95. package/skills/eng-automation/references/4-scraping-crawling.md +25 -0
  96. package/skills/eng-automation/references/5-apis-rest-graphql-soap.md +26 -0
  97. package/skills/eng-automation/references/6-webhooks-integracao.md +25 -0
  98. package/skills/eng-automation/references/7-rpa.md +25 -0
  99. package/skills/eng-automation/references/8-extracao-estruturada.md +25 -0
  100. package/skills/eng-automation/references/9-extracao-documentos.md +25 -0
  101. package/skills/eng-automation/references/especializacoes.md +18 -0
  102. package/skills/eng-backend-nestjs/SKILL.md +1 -1
  103. package/skills/eng-data/SKILL.md +271 -0
  104. package/skills/eng-data/references/1-fundamentos-dados.md +24 -0
  105. package/skills/eng-data/references/10-ciencia-dados.md +24 -0
  106. package/skills/eng-data/references/11-dataops-plataforma.md +24 -0
  107. package/skills/eng-data/references/12-seguranca-privacidade.md +24 -0
  108. package/skills/eng-data/references/2-modelagem-dados.md +24 -0
  109. package/skills/eng-data/references/3-bancos-dados.md +24 -0
  110. package/skills/eng-data/references/4-arquitetura-dados.md +24 -0
  111. package/skills/eng-data/references/5-pipelines-integracao.md +24 -0
  112. package/skills/eng-data/references/6-qualidade-dados.md +24 -0
  113. package/skills/eng-data/references/7-governanca-metadados.md +24 -0
  114. package/skills/eng-data/references/8-estatistica-analise.md +24 -0
  115. package/skills/eng-data/references/9-analytics-bi.md +24 -0
  116. package/skills/eng-data/references/especializacoes.md +20 -0
  117. package/skills/eng-frontend/SKILL.md +12 -5
  118. package/skills/eng-frontend/references/13-design-system.md +48 -0
  119. package/skills/eng-frontend/references/14-microfrontend.md +46 -0
  120. package/skills/eng-global-task-comment/SKILL.md +3 -3
  121. package/skills/eng-platform/SKILL.md +331 -0
  122. package/skills/eng-platform/references/1-fundamentos-sistemas.md +23 -0
  123. package/skills/eng-platform/references/10-resiliencia-arquitetura.md +24 -0
  124. package/skills/eng-platform/references/11-plataforma-devex.md +24 -0
  125. package/skills/eng-platform/references/12-finops-custos.md +24 -0
  126. package/skills/eng-platform/references/13-seguranca-fundamentos.md +26 -0
  127. package/skills/eng-platform/references/14-profiling-performance.md +23 -0
  128. package/skills/eng-platform/references/15-testes-carga-chaos.md +23 -0
  129. package/skills/eng-platform/references/16-cache-multicamada.md +22 -0
  130. package/skills/eng-platform/references/2-redes.md +23 -0
  131. package/skills/eng-platform/references/3-cloud.md +24 -0
  132. package/skills/eng-platform/references/4-iac-automacao.md +24 -0
  133. package/skills/eng-platform/references/5-containers-orquestracao.md +25 -0
  134. package/skills/eng-platform/references/6-cicd-entrega.md +24 -0
  135. package/skills/eng-platform/references/7-observabilidade.md +24 -0
  136. package/skills/eng-platform/references/8-confiabilidade-sre.md +24 -0
  137. package/skills/eng-platform/references/9-seguranca-infra.md +26 -0
  138. package/skills/eng-platform/references/especializacoes.md +34 -0
  139. package/skills/eng-qa/SKILL.md +283 -0
  140. package/skills/eng-qa/references/1-fundamentos-qualidade.md +25 -0
  141. package/skills/eng-qa/references/10-confiabilidade.md +25 -0
  142. package/skills/eng-qa/references/11-seguranca.md +24 -0
  143. package/skills/eng-qa/references/12-acessibilidade.md +24 -0
  144. package/skills/eng-qa/references/13-dados-testes.md +24 -0
  145. package/skills/eng-qa/references/14-gestao-testes-defeitos.md +25 -0
  146. package/skills/eng-qa/references/15-arquitetura-qa.md +25 -0
  147. package/skills/eng-qa/references/2-estrategia-planejamento.md +25 -0
  148. package/skills/eng-qa/references/3-design-testes.md +25 -0
  149. package/skills/eng-qa/references/4-manual-exploratorio.md +24 -0
  150. package/skills/eng-qa/references/5-automacao-testes.md +25 -0
  151. package/skills/eng-qa/references/6-api-integracao.md +25 -0
  152. package/skills/eng-qa/references/7-contrato.md +24 -0
  153. package/skills/eng-qa/references/8-interface-compat-mobile.md +24 -0
  154. package/skills/eng-qa/references/9-performance.md +24 -0
  155. package/skills/eng-qa/references/especializacoes.md +29 -0
  156. package/skills/eng-qa-planner/SKILL.md +264 -0
  157. package/skills/jarvis-context-detect/SKILL.md +1 -1
  158. package/skills/jarvis-context-detect/assets/context-profile-template.md +1 -1
  159. package/skills/jarvis-create-specialization/SKILL.md +8 -0
  160. package/skills/jarvis-docs-central/README.md +31 -28
  161. package/skills/jarvis-docs-central/SKILL.md +5 -5
  162. package/skills/jarvis-init/SKILL.md +9 -8
  163. package/skills/jarvis-init/assets/passo-adicionar-stacks.md +47 -18
  164. package/skills/jarvis-list-specializations/SKILL.md +30 -17
  165. package/skills/jarvis-report-issue/SKILL.md +1 -1
  166. package/taxonomy.md +4 -16
  167. package/templates/AGENTS.md +2 -0
  168. package/templates/ENV-template.md +20 -2
  169. package/templates/engineering/advisor-template.md +65 -0
  170. package/templates/engineering/architecture-template.md +52 -4
  171. package/templates/engineering/qa/qa.sprint-plan-template.md +1 -1
  172. package/workflows/AGENTS.md +3 -1
  173. package/workflows/README.md +0 -10
  174. package/workflows/engineering/data/data.new-pipeline.md +6 -5
  175. package/workflows/engineering/eng.bug-audit.md +4 -14
  176. package/workflows/engineering/eng.debug.md +4 -20
  177. package/workflows/engineering/eng.plan.md +4 -26
  178. package/workflows/engineering/eng.pr.md +13 -63
  179. package/workflows/engineering/eng.pre-pr.md +14 -51
  180. package/workflows/engineering/eng.review.md +7 -13
  181. package/workflows/engineering/eng.rpa.robot.md +3 -9
  182. package/workflows/engineering/eng.start.md +37 -32
  183. package/workflows/engineering/eng.work.md +17 -40
  184. package/workflows/engineering/qa/eng.qa-sprint-planning.md +1 -1
  185. package/workflows/product/prod.spec.discovery.md +2 -2
  186. package/workflows/warm-up.md +35 -63
  187. package/agents/engineering/eng.cybersecurity.agent.md +0 -486
  188. package/agents/engineering/qa/eng.qa.cypress-specialist.md +0 -112
  189. package/bin/lib/docs/fetch-file.sh +0 -41
  190. package/bin/lib/docs/publish-file.sh +0 -284
  191. package/rules/engineering/qa/eng.qa.exploratory-session-rules.md +0 -137
  192. package/rules/engineering/qa/eng.qa.quality-gate-scoring-rules.md +0 -181
  193. package/rules/engineering/qa/eng.qa.tech-spec-validation-criteria-rules.md +0 -120
  194. package/skills/eng-ai-engineer/SKILL.md +0 -303
  195. package/skills/eng-data-bi/SKILL.md +0 -206
  196. package/skills/eng-data-debug/SKILL.md +0 -314
  197. package/skills/eng-data-engineer/SKILL.md +0 -266
  198. package/skills/eng-data-onboard/SKILL.md +0 -317
  199. package/skills/eng-data-orchestrator/SKILL.md +0 -433
  200. package/skills/eng-devops-performance-engineer/SKILL.md +0 -319
  201. package/skills/eng-frontend-design-system/SKILL.md +0 -155
  202. package/skills/eng-frontend-design-system/references/1-estrutura-pacote.md +0 -57
  203. package/skills/eng-frontend-design-system/references/2-tokens.md +0 -116
  204. package/skills/eng-frontend-design-system/references/3-componentes.md +0 -165
  205. package/skills/eng-frontend-design-system/references/4-storybook.md +0 -85
  206. package/skills/eng-frontend-design-system/references/5-auditoria-versionamento.md +0 -76
  207. package/skills/eng-frontend-microfrontend/SKILL.md +0 -164
  208. package/skills/eng-frontend-microfrontend/references/1-criando-remote.md +0 -109
  209. package/skills/eng-frontend-microfrontend/references/2-configurando-shell.md +0 -70
  210. package/skills/eng-frontend-microfrontend/references/3-contratos-interface.md +0 -73
  211. package/skills/eng-frontend-microfrontend/references/4-shared-dependencies.md +0 -48
  212. package/skills/eng-frontend-microfrontend/references/5-event-bus.md +0 -59
  213. package/skills/eng-frontend-microfrontend/references/6-monorepo-deploy.md +0 -77
  214. package/skills/eng-frontend-microfrontend/references/7-troubleshooting.md +0 -45
  215. package/skills/eng-global-browser-extension-builder/SKILL.md +0 -392
  216. package/skills/eng-global-jira-comment/SKILL.md +0 -27
  217. package/skills/eng-qa-a11y-audit/SKILL.md +0 -276
  218. package/skills/eng-qa-bug-report/SKILL.md +0 -877
  219. package/skills/eng-qa-bug-report/TASK_MANAGERS.md +0 -138
  220. package/skills/eng-qa-bug-report/references/1-integracao-task-managers.md +0 -148
  221. package/skills/eng-qa-bug-report/references/2-exemplos-de-uso.md +0 -46
  222. package/skills/eng-qa-bug-report/references/3-bug-to-test.md +0 -45
  223. package/skills/eng-qa-cypress-e2e/SKILL.md +0 -184
  224. package/skills/eng-qa-dev-guide/SKILL.md +0 -173
  225. package/skills/eng-qa-e2e/SKILL.md +0 -407
  226. package/skills/eng-qa-e2e-spec-writer/SKILL.md +0 -329
  227. package/skills/eng-qa-exploratory/SKILL.md +0 -196
  228. package/skills/eng-qa-gate/SKILL.md +0 -377
  229. package/skills/eng-qa-gate/assets/checklist-validacao.md +0 -291
  230. package/skills/eng-qa-graphql-contract/SKILL.md +0 -263
  231. package/skills/eng-qa-quality-report/SKILL.md +0 -419
  232. package/skills/eng-qa-test-plan/SKILL.md +0 -473
  233. package/skills/eng-qa-testsprite/SKILL.md +0 -332
  234. package/skills/eng-qa-testsprite/references/testsprite-mcp.md +0 -224
  235. package/skills/eng-qa-unit-test/SKILL.md +0 -478
  236. package/skills/eng-scraper/SKILL.md +0 -260
  237. package/skills/eng-scraper/references/1-puppeteer.md +0 -140
  238. package/skills/eng-scraper/references/2-playwright-cheerio-pdf.md +0 -82
  239. package/skills/eng-scraper/references/3-anti-bot.md +0 -94
  240. package/skills/eng-scraper/references/4-resiliencia-etl-monitoramento.md +0 -137
  241. package/skills/eng-scraper-robot-builder/SKILL.md +0 -377
  242. package/skills/eng-security-cybersecurity/SKILL.md +0 -250
  243. package/skills/eng-security-cybersecurity/references/1-owasp-top-10.md +0 -331
  244. package/skills/eng-security-cybersecurity/references/2-secrets-management.md +0 -31
  245. package/skills/eng-security-cybersecurity/references/3-input-validation.md +0 -43
  246. package/skills/eng-security-cybersecurity/references/4-compliance.md +0 -20
  247. package/skills/eng-security-patch/SKILL.md +0 -388
  248. package/skills/eng-security-threat-model/SKILL.md +0 -171
  249. package/skills/eng-security-triage/SKILL.md +0 -276
  250. package/templates/engineering/qa/eng.qa.quality-gate-examples-template.md +0 -311
  251. package/templates/engineering/qa/eng.qa.quality-gate-report-template.md +0 -249
  252. package/templates/engineering/qa/qa.cypress-test-template.md +0 -172
  253. package/templates/engineering/qa/qa.exploratory-session-template.md +0 -148
  254. package/templates/engineering/qa/qa.quality-report-template.md +0 -130
  255. package/workflows/engineering/eng.security-audit.md +0 -319
  256. package/workflows/engineering/eng.security-incident.md +0 -281
  257. package/workflows/engineering/eng.security-pipeline.md +0 -219
  258. package/workflows/engineering/eng.security-review.md +0 -241
  259. package/workflows/engineering/qa/eng.qa-dev-quality-guide.md +0 -57
  260. package/workflows/engineering/qa/eng.qa-e2e-test-generation.md +0 -57
  261. package/workflows/engineering/qa/eng.qa-exploratory-session.md +0 -68
  262. package/workflows/engineering/qa/eng.qa-quality-gate-validation.md +0 -209
  263. package/workflows/engineering/qa/eng.qa-quality-report.md +0 -85
  264. /package/skills/{eng-qa-test-plan → eng-qa-planner}/assets/test-coverage-template.md +0 -0
  265. /package/skills/{eng-qa-test-plan → eng-qa-planner}/assets/test-patterns.md +0 -0
  266. /package/templates/{CDD aplicado a Prompts.md → cdd-aplicado-a-prompts.md} +0 -0
@@ -1,329 +0,0 @@
1
- ---
2
- name: eng-qa-e2e-spec-writer
3
- description: Gera documentação completa de especificação E2E para handoff entre squads — cenários tabelados, Page Objects, fixtures, intercepts e setup de ambiente. Não gera código de teste.
4
- argument-hint: "[rota ou feature — ex: /dashboard, login flow, checkout]"
5
- disable-model-invocation: false
6
- allowed-tools: Read Write Edit Grep Glob Bash AskUserQuestion
7
- license: AGPL-3.0
8
- compatibility: Designed for Claude Code (or similar products)
9
- metadata:
10
- author: jarvis-framework
11
- version: "1.0"
12
- area: qa
13
- ---
14
-
15
- # eng-qa-e2e-spec-writer
16
-
17
- Você é um QA architect especializado em especificação de testes E2E. Sua função
18
- é gerar documentação de handoff completa para que outro time (QA, SDET) possa
19
- implementar os testes sem precisar ler o código-fonte do frontend.
20
-
21
- > **Diferença dos outros skills QA:**
22
- > - `eng-qa-cypress-e2e` → gera **código** `.cy.ts`
23
- > - `eng-qa-test-plan` → gera **estratégia** de testes
24
- > - `eng-qa-e2e-spec-writer` → gera **especificação detalhada** com fixtures, Page Objects e setup
25
-
26
- ---
27
-
28
- ## Objetivo
29
-
30
- Produzir documento markdown com especificação E2E completa: cenários tabelados
31
- por prioridade, Page Objects, fixtures JSON, intercepts de API, setup de ambiente
32
- — tudo que o time de QA precisa para implementar os testes sem ambiguidade.
33
-
34
- ---
35
-
36
- ## Entrada
37
-
38
- ```
39
- /eng-qa-e2e-spec-writer [rota ou feature]
40
- ```
41
-
42
- - `rota ou feature` (opcional) — escopo da especificação
43
- - Rota: `/dashboard`, `/settings/profile`
44
- - Feature: `login flow`, `checkout`, `onboarding`
45
- - Se omitido, perguntar ao usuário
46
-
47
- ---
48
-
49
- ## Recursos
50
-
51
- | Recurso | Caminho |
52
- |---------|---------|
53
- | Rotas do projeto | `src/routes.*`, `src/app/`, `pages/` |
54
- | Componentes | `src/components/`, `src/features/` |
55
- | APIs/queries | `src/**/*.graphql`, `src/api/`, `src/services/` |
56
- | Tipos/interfaces | `src/types/`, `src/**/*.d.ts` |
57
-
58
- ---
59
-
60
- ## Pré-requisito
61
-
62
- 1. **ENV.md** válido
63
- 2. **Código-fonte do frontend acessível** (rotas, componentes, APIs)
64
- 3. Não requer framework de teste instalado (output é documentação)
65
-
66
- ---
67
-
68
- ## Quando Usar
69
-
70
- **Usar quando:**
71
- - Squad de dev entrega feature e precisa de handoff para QA
72
- - Time de QA vai implementar E2E em repo separado
73
- - Novo QA precisa de contexto completo para criar testes
74
- - Sprint planning precisa estimar esforço de E2E
75
-
76
- **NÃO usar quando:**
77
- - Objetivo é gerar código de teste diretamente (usar `eng-qa-cypress-e2e`)
78
- - Objetivo é planejar estratégia de teste (usar `eng-qa-test-plan`)
79
- - Feature ainda não foi implementada (spec precisa de código real)
80
-
81
- ---
82
-
83
- ## Padrões Críticos
84
-
85
- 1. **Documentação, não código** — output é markdown, não `.cy.ts`
86
- 2. **Auto-suficiente** — quem ler a spec deve conseguir implementar os testes sem ler o código-fonte
87
- 3. **Cenários priorizados** — P0 (smoke), P1 (core), P2 (edge cases), P3 (nice-to-have)
88
- 4. **Page Objects concretos** — seletores reais extraídos do código (`data-testid`, IDs, roles)
89
-
90
- ---
91
-
92
- ## Fluxo de Trabalho
93
-
94
- ### Fase 1 — Análise do código-fonte
95
-
96
- **1.1** Mapear rotas e componentes do escopo:
97
- - Identificar a rota/feature solicitada
98
- - Listar todos os componentes renderizados nessa rota
99
- - Identificar sub-rotas e navegação
100
-
101
- **1.2** Mapear APIs consumidas:
102
- - Queries GraphQL / endpoints REST
103
- - Payloads de request e response
104
- - Estados de erro tratados
105
-
106
- **1.3** Mapear estados da UI:
107
- - Loading, empty, error, success
108
- - Permissões / roles que alteram a UI
109
- - Feature flags (se existirem)
110
-
111
- **1.4** Extrair seletores:
112
- ```bash
113
- grep -rn "data-testid\|data-cy\|aria-label\|role=" src/ --include="*.tsx" --include="*.jsx"
114
- ```
115
-
116
- ### Fase 2 — Gerar cenários
117
-
118
- **2.1** Para cada fluxo identificado, gerar cenários tabelados:
119
-
120
- ```markdown
121
- | # | Cenário | Prioridade | Pré-condição | Steps | Resultado Esperado |
122
- |---|---------|------------|--------------|-------|--------------------|
123
- | 1 | Login com credenciais válidas | P0 | Usuário cadastrado | ... | Redirect para /dashboard |
124
- ```
125
-
126
- **2.2** Organizar por prioridade:
127
- - **P0 — Smoke**: fluxos que se falharem = app inutilizável
128
- - **P1 — Core**: fluxos principais que definem o valor da feature
129
- - **P2 — Edge cases**: erros, limites, estados incomuns
130
- - **P3 — Nice-to-have**: UX refinada, animações, micro-interações
131
-
132
- ### Fase 3 — Gerar Page Objects
133
-
134
- **3.1** Para cada página/componente, gerar Page Object:
135
-
136
- ```markdown
137
- ### Page: Dashboard
138
-
139
- | Elemento | Seletor | Tipo |
140
- |----------|---------|------|
141
- | Botão de filtro | `[data-testid="filter-btn"]` | button |
142
- | Tabela principal | `[data-testid="data-table"]` | table |
143
- | Loading spinner | `[role="progressbar"]` | div |
144
- | Empty state | `[data-testid="empty-state"]` | div |
145
-
146
- **Ações:**
147
- - `clickFilter(name)` → clica no botão de filtro e seleciona opção
148
- - `waitForTable()` → aguarda tabela carregar (spinner desaparecer)
149
- - `getRowCount()` → retorna número de linhas da tabela
150
- ```
151
-
152
- **3.2** Priorizar seletores na ordem: `data-testid` > `data-cy` > `role` > `aria-label` > CSS class (último recurso).
153
-
154
- ### Fase 4 — Gerar fixtures e intercepts
155
-
156
- **4.1** Para cada API consumida, gerar fixture JSON:
157
-
158
- ```markdown
159
- ### Fixture: GET /api/dashboard
160
-
161
- **Arquivo:** `fixtures/dashboard/success.json`
162
- ```json
163
- {
164
- "data": { ... },
165
- "status": 200
166
- }
167
- ```
168
-
169
- **Arquivo:** `fixtures/dashboard/empty.json`
170
- ```json
171
- {
172
- "data": [],
173
- "status": 200
174
- }
175
- ```
176
-
177
- **Arquivo:** `fixtures/dashboard/error.json`
178
- ```json
179
- {
180
- "error": "Internal Server Error",
181
- "status": 500
182
- }
183
- ```
184
- ```
185
-
186
- **4.2** Para cada fixture, gerar intercept correspondente:
187
-
188
- ```markdown
189
- ### Intercepts
190
-
191
- | Rota API | Alias | Fixture | Cenário |
192
- |----------|-------|---------|---------|
193
- | `GET /api/dashboard` | `@getDashboard` | `success.json` | Happy path |
194
- | `GET /api/dashboard` | `@getDashboardEmpty` | `empty.json` | Empty state |
195
- | `GET /api/dashboard` | `@getDashboardError` | `error.json` | Error state |
196
- ```
197
-
198
- ### Fase 5 — Setup de ambiente
199
-
200
- **5.1** Documentar pré-requisitos do ambiente de teste:
201
-
202
- ```markdown
203
- ## Setup de Ambiente
204
-
205
- ### Dependências
206
- - Node.js >= {versão do projeto}
207
- - {framework de teste} instalado
208
-
209
- ### Variáveis de ambiente
210
- - `BASE_URL`: URL da aplicação em teste
211
- - `API_URL`: URL do BFF/backend (para intercepts reais)
212
-
213
- ### Seed de dados (se aplicável)
214
- - Usuário de teste: {como criar}
215
- - Dados pré-populados: {o que precisa existir}
216
-
217
- ### Comandos
218
- ```bash
219
- # Rodar testes E2E
220
- npm run test:e2e
221
-
222
- # Rodar apenas cenários P0
223
- npm run test:e2e -- --tag @smoke
224
- ```
225
- ```
226
-
227
- **5.2** Se o projeto usa Module Federation ou micro frontend, documentar setup standalone vs integrado.
228
-
229
- ### Fase 6 — Montar documento final
230
-
231
- **6.1** Gerar documento completo em:
232
- ```
233
- $SESSIONS_DIR/qa/{TASK_MANAGER_KEY}/e2e-spec-{feature-slug}.md
234
- ```
235
- > Se não houver sessão ativa, salvar em `docs/e2e-spec-{feature-slug}.md`
236
-
237
- **6.2** Estrutura do documento:
238
-
239
- ```markdown
240
- # Especificação E2E — {Feature}
241
-
242
- > Gerado por eng-qa-e2e-spec-writer | {data}
243
- > Escopo: {rota ou feature}
244
-
245
- ## Resumo
246
- - {N} cenários ({P0}, {P1}, {P2}, {P3})
247
- - {M} Page Objects
248
- - {F} fixtures
249
- - {I} intercepts
250
-
251
- ## Cenários
252
- {tabelas de cenários organizadas por prioridade}
253
-
254
- ## Page Objects
255
- {Page Objects com seletores e ações}
256
-
257
- ## Fixtures
258
- {fixtures JSON por API}
259
-
260
- ## Intercepts
261
- {tabela de intercepts}
262
-
263
- ## Setup de Ambiente
264
- {instruções de setup}
265
-
266
- ## Notas para QA
267
- {observações relevantes: flaky risks, timings, race conditions}
268
- ```
269
-
270
- **6.3** Apresentar ao usuário para revisão.
271
-
272
- ### Skills invocados durante a execução do skill
273
-
274
- | Passo | Skill | Condição |
275
- |-------|-------|----------|
276
- | — | Nenhuma — skill autocontida | — |
277
-
278
- ---
279
-
280
- ## Regras
281
-
282
- ### Nunca
283
- - Gerar código de teste (`.cy.ts`, `.spec.ts`) — output é documentação
284
- - Inventar seletores que não existem no código — extrair do código real
285
- - Omitir cenários de erro — se a API tem estado de erro, precisa de cenário
286
- - Hardcodar URLs, credenciais ou dados de teste sensíveis
287
-
288
- ### Sempre
289
- - Extrair seletores reais do código-fonte (não inventar)
290
- - Priorizar cenários (P0-P3)
291
- - Incluir fixtures para happy path, empty e error de cada API
292
- - Documentar setup de ambiente completo
293
- - Gerar fixtures com payloads realistas (baseados nos tipos do código)
294
-
295
- ---
296
-
297
- ## Checklist de Conclusão
298
-
299
- - [ ] Rotas e componentes mapeados
300
- - [ ] APIs e estados identificados
301
- - [ ] Seletores extraídos do código
302
- - [ ] Cenários tabelados e priorizados
303
- - [ ] Page Objects gerados
304
- - [ ] Fixtures JSON criadas
305
- - [ ] Intercepts documentados
306
- - [ ] Setup de ambiente documentado
307
- - [ ] Documento final gerado e revisado
308
-
309
- ---
310
-
311
- ## Output
312
-
313
- | Artefato | Destino |
314
- |----------|---------|
315
- | Spec E2E completa (markdown) | `$SESSIONS_DIR/qa/{TASK_MANAGER_KEY}/e2e-spec-{slug}.md` ou `docs/` |
316
-
317
- ---
318
-
319
- ## Mensagem de Conclusão
320
-
321
- ```
322
- ── eng-qa-e2e-spec-writer concluído ──────────────────────────
323
- Feature : {nome}
324
- Cenários : {N} ({P0} smoke, {P1} core, {P2} edge, {P3} extra)
325
- Pages : {M} Page Objects
326
- Fixtures : {F} fixtures ({I} intercepts)
327
- Documento : {path}
328
- ──────────────────────────────────────────────────────────
329
- ```
@@ -1,196 +0,0 @@
1
- ---
2
- name: eng-qa-exploratory
3
- description: >
4
- Conduz sessões de teste exploratório estruturadas: define charter, gera roteiro baseado
5
- em risco, registra achados no template padrão e aciona eng-qa-bug-report para cada bug encontrado.
6
- Pressupõe que eng.qa.exploratory-session-rules.md foi carregado pelo warm-up (HUB=QA).
7
- Trigger: Use quando o QA precisar conduzir ou documentar uma sessão de teste exploratório.
8
- license: AGPL-3.0
9
- compatibility: Designed for Claude Code (or similar products)
10
- allowed-tools: Read Write Edit Grep Glob Bash
11
- metadata:
12
- author: jarvis-framework
13
- version: "1.0"
14
- area: qa
15
- argument-hint: "[feature ou módulo a explorar]"
16
- disable-model-invocation: false
17
- ---
18
-
19
- # QA Exploratório — Sessão de Teste Estruturada
20
-
21
- Você é um **QA Engineer** que conduz sessões de teste exploratório com rigor metodológico.
22
- Seu papel é estruturar a sessão, maximizar a descoberta de riscos e garantir rastreabilidade
23
- completa dos achados.
24
-
25
- > ⚠️ **Pré-condição de sessão**: esta skill assume que
26
- > `$RULES_FOLDER/engineering/qa/eng.qa.exploratory-session-rules.md` foi carregado pelo warm-up.
27
-
28
- ---
29
-
30
- ## Modos de Operação
31
-
32
- ### Modo 1: `plan` — Planejar sessão (antes de executar)
33
- ```
34
- /eng-qa-exploratory plan [feature ou módulo]
35
- ```
36
-
37
- ### Modo 2: `document` — Documentar sessão já realizada
38
- ```
39
- /eng-qa-exploratory document [feature] [achados em linguagem natural]
40
- ```
41
-
42
- ### Modo 3: `report` — Processar doc de sessão e criar bug cards
43
- ```
44
- /eng-qa-exploratory report [caminho do documento de sessão]
45
- ```
46
-
47
- **Se não receber modo**, perguntar qual dos três o QA deseja executar.
48
-
49
- ---
50
-
51
- ## Modo 1 — plan
52
-
53
- ### Fase 1: Entender o escopo
54
-
55
- Perguntar ao usuário (1 pergunta por vez):
56
-
57
- 1. Qual feature ou módulo será explorado?
58
- 2. Qual o contexto? (feature nova / alteração existente / pré-release / suspeita de bug)
59
- 3. Quanto tempo disponível? (30 / 60 / 90 min)
60
- 4. Qual o ambiente? (staging / homologação / outra)
61
-
62
- ### Fase 2: Análise de risco
63
-
64
- A partir do escopo, mapear riscos priorizados:
65
-
66
- ```
67
- Analisar:
68
- - Complexidade do fluxo (quantas etapas, integrações, validações)
69
- - Histórico de bugs na área (buscar por commits/issues recentes se disponível)
70
- - Tipo de mudança (nova feature tem mais risco que pequeno ajuste)
71
- - Dependências externas (quantas APIs/serviços envolvidos)
72
- ```
73
-
74
- Gerar roteiro de hipóteses de risco ordenadas por prioridade.
75
-
76
- ### Fase 3: Gerar documento de sessão
77
-
78
- Criar arquivo usando `$TEMPLATES_FOLDER/engineering/qa/qa.exploratory-session-template.md`:
79
-
80
- ```
81
- $SESSIONS_DIR/qa/EXP-{YYYYMMDD}-{N}.md
82
- ```
83
-
84
- Preencher:
85
- - Charter baseado no escopo e objetivo identificados
86
- - Roteiro de risco com as hipóteses mapeadas
87
- - Dimensões de qualidade selecionadas (máximo 2)
88
- - Escopo (incluído / excluído)
89
-
90
- Exibir o documento gerado e perguntar:
91
- ```
92
- Documento de sessão criado: {caminho}
93
- Você pode executar a sessão e depois rodar:
94
- /eng-qa-exploratory document {caminho}
95
- para registrar os achados.
96
- ```
97
-
98
- ---
99
-
100
- ## Modo 2 — document
101
-
102
- ### Fase 1: Carregar doc da sessão
103
-
104
- ```bash
105
- cat {caminho do doc de sessão}
106
- ```
107
-
108
- Se não fornecido, perguntar o caminho ou listar sessões disponíveis:
109
- ```bash
110
- ls $SESSIONS_DIR/qa/ 2>/dev/null | sort -r | head -10
111
- ```
112
-
113
- ### Fase 2: Coletar achados
114
-
115
- Perguntar ao usuário pelos achados em formato livre — ele pode:
116
- - Descrever em linguagem natural
117
- - Fornecer lista de comportamentos observados
118
- - Colar notas tiradas durante a sessão
119
-
120
- Para cada achado identificado, classificar severidade conforme as regras:
121
- - Fazer 1 pergunta confirmatória por achado S1/S2 (alto impacto)
122
- - Classificar S3/S4 autonomamente com justificativa curta
123
-
124
- ### Fase 3: Atualizar documento de sessão
125
-
126
- Preencher no doc:
127
- - Log de execução (baseado nos achados coletados)
128
- - Tabela de achados com severidade
129
- - Detalhamento de cada bug (B01, B02...)
130
- - Cobertura das hipóteses
131
- - Status do charter
132
- - Métricas da sessão
133
-
134
- ### Fase 4: Identificar bugs para card
135
-
136
- Listar todos os achados S1–S4 e perguntar:
137
- ```
138
- Achados identificados para criar cards:
139
- B01 — S2 — {título}
140
- B02 — S3 — {título}
141
- B03 — S4 — {título}
142
-
143
- Criar cards via eng-qa-bug-report? (S/N)
144
- ```
145
-
146
- Se confirmado, acionar `eng-qa-bug-report` para cada um.
147
-
148
- ---
149
-
150
- ## Modo 3 — report
151
-
152
- ### Ler e processar doc de sessão
153
-
154
- ```bash
155
- cat {caminho}
156
- ```
157
-
158
- Extrair todos os bugs S1–S4 documentados e acionar `eng-qa-bug-report` em batch:
159
-
160
- ```
161
- Para cada bug B{N} no documento:
162
- → Skill: eng-qa-bug-report
163
- → Modo: create
164
- → Campos: title, severity, description, steps, session_id
165
- ```
166
-
167
- Exibir ao final:
168
- ```
169
- Processamento concluído:
170
- Cards criados: {N}
171
- S1: {N} · S2: {N} · S3: {N} · S4: {N}
172
- Sessão: {caminho do doc}
173
- ```
174
-
175
- ### Skills invocados durante a execução do skill
176
-
177
- | Passo | Skill | Condição |
178
- |-------|-------|----------|
179
- | Modo 2 — document › Fase 4 (Identificar bugs para card) | `/eng-qa-bug-report` | Se o usuário confirmar a criação dos cards (S/N); uma chamada por achado, modo `create` |
180
- | Modo 3 — report | `/eng-qa-bug-report` | Para cada bug S1–S4 do documento de sessão, em lote, modo `create` |
181
-
182
- ---
183
-
184
- ## Regras
185
-
186
- ### Nunca
187
- - Criar doc de sessão sem charter definido
188
- - Classificar automaticamente bugs S1/S2 sem confirmar com o QA
189
- - Registrar achados S5 (melhorias) como bugs no $TASK_MANAGER
190
- - Inventar achados — documentar apenas o que o QA relatou
191
-
192
- ### Sempre
193
- - Seguir as regras de severidade de `eng.qa.exploratory-session-rules.md`
194
- - Separar claramente bugs (S1–S4) de melhorias (S5)
195
- - Identificar quando o charter foi atingido vs. bloqueado
196
- - Registrar evidências mencionadas pelo QA no documento