jarvis-ai-framework 1.0.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 (240) hide show
  1. package/AGENTS.md +416 -0
  2. package/LICENSE +21 -0
  3. package/README.md +190 -0
  4. package/agents/AGENTS.md +234 -0
  5. package/agents/README.md +309 -0
  6. package/agents/engineering/data/eng.data-engineer.agent.md +309 -0
  7. package/agents/engineering/eng.agent.md +303 -0
  8. package/agents/engineering/eng.bug-hunter.md +386 -0
  9. package/agents/engineering/eng.cybersecurity.agent.md +503 -0
  10. package/agents/engineering/eng.dev-code-reviewer.md +148 -0
  11. package/agents/engineering/eng.docs-writer.md +152 -0
  12. package/agents/engineering/eng.frontend.agent.md +117 -0
  13. package/agents/engineering/eng.rpa.agent.md +215 -0
  14. package/agents/engineering/eng.tech-analyst.agent.md +102 -0
  15. package/agents/engineering/eng.ux-designer.agent.md +193 -0
  16. package/agents/engineering/qa/eng.qa.cypress-specialist.md +109 -0
  17. package/agents/engineering/qa/eng.qa.quality-champion-task-agent.md +85 -0
  18. package/agents/engineering/qa/eng.qa.quality-strategist.md +111 -0
  19. package/agents/engineering/qa/eng.qa.test-architect.md +400 -0
  20. package/agents/engineering/qa/eng.qa.test-planner.md +477 -0
  21. package/agents/engineering/qa/eng.qa.testing-engineer.md +339 -0
  22. package/agents/product/prod.pm-checker.md +52 -0
  23. package/bin/commands/docs-publish.js +184 -0
  24. package/bin/commands/docs-sync.js +139 -0
  25. package/bin/commands/info.js +87 -0
  26. package/bin/commands/init.js +237 -0
  27. package/bin/commands/install-rtk.js +90 -0
  28. package/bin/commands/list.js +48 -0
  29. package/bin/commands/qa-signoff.js +112 -0
  30. package/bin/commands/whoami.js +43 -0
  31. package/bin/jarvis.js +159 -0
  32. package/bin/lib/auth/session.js +56 -0
  33. package/bin/lib/config/constants.js +123 -0
  34. package/bin/lib/config/ide-config.js +233 -0
  35. package/bin/lib/core/scanner.js +124 -0
  36. package/bin/lib/core/sync-engine.js +551 -0
  37. package/bin/lib/docs/fetch-file.sh +41 -0
  38. package/bin/lib/docs/publish-file.sh +284 -0
  39. package/bin/lib/docs/validate-frontmatter.js +157 -0
  40. package/bin/lib/env-loader.js +198 -0
  41. package/bin/lib/tasks/comment.js +131 -0
  42. package/bin/lib/utils/git-parser.js +145 -0
  43. package/bin/lib/utils/logger.js +104 -0
  44. package/bin/lib/utils/npmrc-parser.js +106 -0
  45. package/bin/lib/utils/paths.js +55 -0
  46. package/bin/lib/utils/ui.js +59 -0
  47. package/bin/lib/vcs/api.js +312 -0
  48. package/bin/lib/vcs/create-issue.js +43 -0
  49. package/bin/lib/vcs/create-merge.js +43 -0
  50. package/bin/lib/vcs/fetch-raw.js +30 -0
  51. package/bin/postinstall.js +41 -0
  52. package/members.md +25 -0
  53. package/package.json +55 -0
  54. package/rules/AGENTS.md +205 -0
  55. package/rules/engineering/data/data-rules.md +200 -0
  56. package/rules/engineering/eng-rules.md +243 -0
  57. package/rules/engineering/eng-security-rules.md +186 -0
  58. package/rules/engineering/eng.breakdown-subtasks-rules.md +585 -0
  59. package/rules/engineering/eng.bump-rules.md +27 -0
  60. package/rules/engineering/eng.docs-scraping-rules.md +64 -0
  61. package/rules/engineering/eng.downstream-flow-rules.md +297 -0
  62. package/rules/engineering/eng.integrations-rules.md +73 -0
  63. package/rules/engineering/eng.plan-rules.md +333 -0
  64. package/rules/engineering/eng.pr-rules.md +359 -0
  65. package/rules/engineering/eng.pre-pr-rules.md +103 -0
  66. package/rules/engineering/eng.start-rules.md +246 -0
  67. package/rules/engineering/eng.tech-spec-rules.md +968 -0
  68. package/rules/engineering/eng.work-rules.md +312 -0
  69. package/rules/engineering/frontend/eng.frontend-rules.md +147 -0
  70. package/rules/engineering/qa/eng.qa.cypress-standards-rules.md +259 -0
  71. package/rules/engineering/qa/eng.qa.exploratory-session-rules.md +137 -0
  72. package/rules/engineering/qa/eng.qa.quality-gate-scoring-rules.md +181 -0
  73. package/rules/engineering/qa/eng.qa.tech-spec-validation-criteria-rules.md +120 -0
  74. package/rules/engineering/rpa/eng.rpa-rules.md +230 -0
  75. package/rules/product/README.md +24 -0
  76. package/rules/product/prod-rules.md +151 -0
  77. package/rules/rtk-rules.md +68 -0
  78. package/skills/AGENTS.md +290 -0
  79. package/skills/SKILLS-ROADMAP.md +333 -0
  80. package/skills/churn-audit/SKILL.md +385 -0
  81. package/skills/context-detect/SKILL.md +399 -0
  82. package/skills/context-detect/assets/context-profile-template.md +127 -0
  83. package/skills/docs-central/README.md +310 -0
  84. package/skills/docs-central/SKILL.md +423 -0
  85. package/skills/docs-index/SKILL.md +377 -0
  86. package/skills/eng-ai-engineer/SKILL.md +296 -0
  87. package/skills/eng-arch-c4/SKILL.md +358 -0
  88. package/skills/eng-arch-c4/assets/example-code.md +189 -0
  89. package/skills/eng-arch-c4/assets/example-component.md +105 -0
  90. package/skills/eng-arch-c4/assets/example-container.md +104 -0
  91. package/skills/eng-arch-c4/assets/example-context.md +81 -0
  92. package/skills/eng-backend/SKILL.md +776 -0
  93. package/skills/eng-browser-extension-builder/SKILL.md +385 -0
  94. package/skills/eng-cybersecurity/SKILL.md +645 -0
  95. package/skills/eng-data-bi/SKILL.md +199 -0
  96. package/skills/eng-data-debug/SKILL.md +307 -0
  97. package/skills/eng-data-engineer/SKILL.md +256 -0
  98. package/skills/eng-data-onboard/SKILL.md +310 -0
  99. package/skills/eng-data-orchestrator/SKILL.md +426 -0
  100. package/skills/eng-design-system/SKILL.md +619 -0
  101. package/skills/eng-docs-write/SKILL.md +312 -0
  102. package/skills/eng-frontend/SKILL.md +913 -0
  103. package/skills/eng-jira-comment/SKILL.md +17 -0
  104. package/skills/eng-microfrontend/SKILL.md +602 -0
  105. package/skills/eng-ms-trace/SKILL.md +469 -0
  106. package/skills/eng-nestjs/SKILL.md +791 -0
  107. package/skills/eng-performance-engineer/SKILL.md +312 -0
  108. package/skills/eng-pr/SKILL.md +339 -0
  109. package/skills/eng-qa-a11y-audit/SKILL.md +269 -0
  110. package/skills/eng-qa-bug-report/SKILL.md +1088 -0
  111. package/skills/eng-qa-bug-report/TASK_MANAGERS.md +138 -0
  112. package/skills/eng-qa-cypress-e2e/SKILL.md +177 -0
  113. package/skills/eng-qa-dev-guide/SKILL.md +164 -0
  114. package/skills/eng-qa-e2e/SKILL.md +400 -0
  115. package/skills/eng-qa-e2e-spec-writer/SKILL.md +322 -0
  116. package/skills/eng-qa-exploratory/SKILL.md +188 -0
  117. package/skills/eng-qa-gate/SKILL.md +370 -0
  118. package/skills/eng-qa-gate/assets/checklist-validacao.md +291 -0
  119. package/skills/eng-qa-graphql-contract/SKILL.md +256 -0
  120. package/skills/eng-qa-quality-report/SKILL.md +412 -0
  121. package/skills/eng-qa-test-plan/SKILL.md +466 -0
  122. package/skills/eng-qa-test-plan/assets/test-coverage-template.md +92 -0
  123. package/skills/eng-qa-test-plan/assets/test-patterns.md +178 -0
  124. package/skills/eng-qa-testsprite/SKILL.md +325 -0
  125. package/skills/eng-qa-testsprite/references/testsprite-mcp.md +224 -0
  126. package/skills/eng-qa-unit-test/SKILL.md +471 -0
  127. package/skills/eng-rabbitmq/SKILL.md +661 -0
  128. package/skills/eng-scraper/SKILL.md +683 -0
  129. package/skills/eng-scraper-robot-builder/SKILL.md +370 -0
  130. package/skills/eng-security-patch/SKILL.md +378 -0
  131. package/skills/eng-security-triage/SKILL.md +266 -0
  132. package/skills/eng-task-comment/SKILL.md +60 -0
  133. package/skills/eng-tech-analyst/SKILL.md +529 -0
  134. package/skills/eng-threat-model/SKILL.md +161 -0
  135. package/skills/init-jarvis/SKILL.md +1304 -0
  136. package/skills/init-jarvis/assets/mcp-configs.md +389 -0
  137. package/skills/init-jarvis/assets/onboarding-checklist.md +104 -0
  138. package/skills/init-jarvis/assets/setup-guide.md +360 -0
  139. package/skills/lovable-prompt-generator/SKILL.md +304 -0
  140. package/skills/prod-roadmap-report/README.md +303 -0
  141. package/skills/prod-roadmap-report/SKILL.md +198 -0
  142. package/skills/prod-roadmap-report/commands/status.compiled.single.team.md +23 -0
  143. package/skills/prod-roadmap-report/commands/status.list.projects.md +17 -0
  144. package/skills/prod-roadmap-report/commands/status.memory.md +192 -0
  145. package/skills/prod-roadmap-report/commands/status.roadmap.preview.md +94 -0
  146. package/skills/prod-roadmap-report/references/detailed-guide.md +236 -0
  147. package/skills/prod-roadmap-report/rules/detailed-guide.md +237 -0
  148. package/skills/prod-roadmap-report/rules/status-report-rules.md +44 -0
  149. package/skills/prod-roadmap-report/templates/template-multiple-teams-compiled-status.md +53 -0
  150. package/skills/prod-roadmap-report/templates/template-projects-list.md +23 -0
  151. package/skills/prod-roadmap-report/templates/template-single-team-compiled-status.md +60 -0
  152. package/skills/prod-roadmap-report/templates/template-single-team-status.md +49 -0
  153. package/skills/prod-specs/SKILL.md +108 -0
  154. package/skills/prod-specs/references/prod.spec.clarify.md +176 -0
  155. package/skills/prod-specs/references/prod.spec.epic.md +107 -0
  156. package/skills/prod-specs/references/prod.spec.frd.md +135 -0
  157. package/skills/prod-specs/references/prod.spec.issue.md +145 -0
  158. package/skills/prod-specs/references/prod.spec.prd.md +118 -0
  159. package/skills/prod-specs/rules/prod-spec-rules.md +186 -0
  160. package/skills/prod-specs/templates/prod-breakdown-template.md +136 -0
  161. package/skills/prod-specs/templates/prod-epic-template.md +76 -0
  162. package/skills/prod-specs/templates/prod-frd-template.md +172 -0
  163. package/skills/prod-specs/templates/prod-issue-template.md +68 -0
  164. package/skills/prod-specs/templates/prod-prd-full-template.md +159 -0
  165. package/skills/prod-specs/templates/prod-prd-template.md +173 -0
  166. package/skills/prod-specs-update/SKILL.md +272 -0
  167. package/skills/report-issue/SKILL.md +156 -0
  168. package/taxonomy.md +270 -0
  169. package/templates/AGENTS.md +189 -0
  170. package/templates/CDD aplicado a Prompts.md +182 -0
  171. package/templates/ENV-template.md +187 -0
  172. package/templates/engineering/AGENTS-template.md +71 -0
  173. package/templates/engineering/ARD-template.md +193 -0
  174. package/templates/engineering/CONTACTS-template.md +135 -0
  175. package/templates/engineering/PR-template.md +40 -0
  176. package/templates/engineering/RFC-Playbook.md +325 -0
  177. package/templates/engineering/RFC-template.md +199 -0
  178. package/templates/engineering/architecture-template.md +277 -0
  179. package/templates/engineering/breakdown-subtasks-template.md +582 -0
  180. package/templates/engineering/c4-model-template.md +516 -0
  181. package/templates/engineering/data-contract-template.md +135 -0
  182. package/templates/engineering/data-pipeline-template.md +163 -0
  183. package/templates/engineering/plan-template.md +255 -0
  184. package/templates/engineering/qa/eng.qa.quality-gate-examples-template.md +311 -0
  185. package/templates/engineering/qa/eng.qa.quality-gate-report-template.md +249 -0
  186. package/templates/engineering/qa/qa.cypress-test-template.md +172 -0
  187. package/templates/engineering/qa/qa.exploratory-session-template.md +148 -0
  188. package/templates/engineering/qa/qa.quality-report-template.md +130 -0
  189. package/templates/engineering/qa/qa.release-signoff-template.md +54 -0
  190. package/templates/engineering/qa/qa.sprint-plan-template.md +49 -0
  191. package/templates/engineering/swagger-template.md +145 -0
  192. package/templates/engineering/tech-spec-template.md +497 -0
  193. package/templates/engineering/work-progress-template.md +155 -0
  194. package/workflows/AGENTS.md +240 -0
  195. package/workflows/README.md +160 -0
  196. package/workflows/all-tools.md +11 -0
  197. package/workflows/engineering/data/data.contract.md +202 -0
  198. package/workflows/engineering/data/data.new-pipeline.md +234 -0
  199. package/workflows/engineering/eng.breakdown-subtasks.md +420 -0
  200. package/workflows/engineering/eng.bug-audit.md +591 -0
  201. package/workflows/engineering/eng.build-tech-spec.md +1116 -0
  202. package/workflows/engineering/eng.create-ard-from-code.md +259 -0
  203. package/workflows/engineering/eng.create-ard.md +382 -0
  204. package/workflows/engineering/eng.create-rfc.md +245 -0
  205. package/workflows/engineering/eng.debug.md +479 -0
  206. package/workflows/engineering/eng.docs.md +40 -0
  207. package/workflows/engineering/eng.light-arch.md +84 -0
  208. package/workflows/engineering/eng.plan.md +213 -0
  209. package/workflows/engineering/eng.pr.md +466 -0
  210. package/workflows/engineering/eng.pre-pr.md +167 -0
  211. package/workflows/engineering/eng.review.md +185 -0
  212. package/workflows/engineering/eng.rpa.robot.md +342 -0
  213. package/workflows/engineering/eng.security-audit.md +312 -0
  214. package/workflows/engineering/eng.security-incident.md +275 -0
  215. package/workflows/engineering/eng.security-pipeline.md +210 -0
  216. package/workflows/engineering/eng.security-review.md +235 -0
  217. package/workflows/engineering/eng.start.md +494 -0
  218. package/workflows/engineering/eng.work.md +558 -0
  219. package/workflows/engineering/frontend/eng.frontend-component.md +190 -0
  220. package/workflows/engineering/frontend/eng.frontend-perf-audit.md +375 -0
  221. package/workflows/engineering/frontend/eng.frontend-review.md +185 -0
  222. package/workflows/engineering/qa/eng.qa-dev-quality-guide.md +51 -0
  223. package/workflows/engineering/qa/eng.qa-e2e-test-generation.md +51 -0
  224. package/workflows/engineering/qa/eng.qa-exploratory-session.md +60 -0
  225. package/workflows/engineering/qa/eng.qa-quality-gate-validation.md +202 -0
  226. package/workflows/engineering/qa/eng.qa-quality-report.md +83 -0
  227. package/workflows/engineering/qa/eng.qa-refinement-entry.md +83 -0
  228. package/workflows/engineering/qa/eng.qa-release-signoff.md +170 -0
  229. package/workflows/engineering/qa/eng.qa-sprint-planning.md +100 -0
  230. package/workflows/engineering/ta/eng.ta.atendimento.md +93 -0
  231. package/workflows/product/prod.roadmap.preview.md +110 -0
  232. package/workflows/product/prod.spec.breakdown.md +163 -0
  233. package/workflows/product/prod.spec.clarify.md +178 -0
  234. package/workflows/product/prod.spec.epic.md +154 -0
  235. package/workflows/product/prod.spec.frd.md +96 -0
  236. package/workflows/product/prod.spec.issue.md +145 -0
  237. package/workflows/product/prod.spec.md +60 -0
  238. package/workflows/product/prod.spec.prd.md +100 -0
  239. package/workflows/taxonomy.md +92 -0
  240. package/workflows/warm-up.md +574 -0
@@ -0,0 +1,322 @@
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
+ ---
13
+
14
+ # qa-e2e-spec-writer
15
+
16
+ Você é um QA architect especializado em especificação de testes E2E. Sua função
17
+ é gerar documentação de handoff completa para que outro time (QA, SDET) possa
18
+ implementar os testes sem precisar ler o código-fonte do frontend.
19
+
20
+ > **Diferença dos outros skills QA:**
21
+ > - `qa-cypress-e2e` → gera **código** `.cy.ts`
22
+ > - `qa-test-plan` → gera **estratégia** de testes
23
+ > - `qa-e2e-spec-writer` → gera **especificação detalhada** com fixtures, Page Objects e setup
24
+
25
+ ---
26
+
27
+ ## Objetivo
28
+
29
+ Produzir documento markdown com especificação E2E completa: cenários tabelados
30
+ por prioridade, Page Objects, fixtures JSON, intercepts de API, setup de ambiente
31
+ — tudo que o time de QA precisa para implementar os testes sem ambiguidade.
32
+
33
+ ---
34
+
35
+ ## Entrada
36
+
37
+ ```
38
+ /qa-e2e-spec-writer [rota ou feature]
39
+ ```
40
+
41
+ - `rota ou feature` (opcional) — escopo da especificação
42
+ - Rota: `/dashboard`, `/settings/profile`
43
+ - Feature: `login flow`, `checkout`, `onboarding`
44
+ - Se omitido, perguntar ao usuário
45
+
46
+ ---
47
+
48
+ ## Recursos
49
+
50
+ | Recurso | Caminho |
51
+ |---------|---------|
52
+ | Rotas do projeto | `src/routes.*`, `src/app/`, `pages/` |
53
+ | Componentes | `src/components/`, `src/features/` |
54
+ | APIs/queries | `src/**/*.graphql`, `src/api/`, `src/services/` |
55
+ | Tipos/interfaces | `src/types/`, `src/**/*.d.ts` |
56
+
57
+ ---
58
+
59
+ ## Pré-requisito
60
+
61
+ 1. **ENV.md** válido
62
+ 2. **Código-fonte do frontend acessível** (rotas, componentes, APIs)
63
+ 3. Não requer framework de teste instalado (output é documentação)
64
+
65
+ ---
66
+
67
+ ## Quando Usar
68
+
69
+ **Usar quando:**
70
+ - Squad de dev entrega feature e precisa de handoff para QA
71
+ - Time de QA vai implementar E2E em repo separado
72
+ - Novo QA precisa de contexto completo para criar testes
73
+ - Sprint planning precisa estimar esforço de E2E
74
+
75
+ **NÃO usar quando:**
76
+ - Objetivo é gerar código de teste diretamente (usar `qa-cypress-e2e`)
77
+ - Objetivo é planejar estratégia de teste (usar `qa-test-plan`)
78
+ - Feature ainda não foi implementada (spec precisa de código real)
79
+
80
+ ---
81
+
82
+ ## Padrões Críticos
83
+
84
+ 1. **Documentação, não código** — output é markdown, não `.cy.ts`
85
+ 2. **Auto-suficiente** — quem ler a spec deve conseguir implementar os testes sem ler o código-fonte
86
+ 3. **Cenários priorizados** — P0 (smoke), P1 (core), P2 (edge cases), P3 (nice-to-have)
87
+ 4. **Page Objects concretos** — seletores reais extraídos do código (`data-testid`, IDs, roles)
88
+
89
+ ---
90
+
91
+ ## Fluxo de Trabalho
92
+
93
+ ### Fase 1 — Análise do código-fonte
94
+
95
+ **1.1** Mapear rotas e componentes do escopo:
96
+ - Identificar a rota/feature solicitada
97
+ - Listar todos os componentes renderizados nessa rota
98
+ - Identificar sub-rotas e navegação
99
+
100
+ **1.2** Mapear APIs consumidas:
101
+ - Queries GraphQL / endpoints REST
102
+ - Payloads de request e response
103
+ - Estados de erro tratados
104
+
105
+ **1.3** Mapear estados da UI:
106
+ - Loading, empty, error, success
107
+ - Permissões / roles que alteram a UI
108
+ - Feature flags (se existirem)
109
+
110
+ **1.4** Extrair seletores:
111
+ ```bash
112
+ grep -rn "data-testid\|data-cy\|aria-label\|role=" src/ --include="*.tsx" --include="*.jsx"
113
+ ```
114
+
115
+ ### Fase 2 — Gerar cenários
116
+
117
+ **2.1** Para cada fluxo identificado, gerar cenários tabelados:
118
+
119
+ ```markdown
120
+ | # | Cenário | Prioridade | Pré-condição | Steps | Resultado Esperado |
121
+ |---|---------|------------|--------------|-------|--------------------|
122
+ | 1 | Login com credenciais válidas | P0 | Usuário cadastrado | ... | Redirect para /dashboard |
123
+ ```
124
+
125
+ **2.2** Organizar por prioridade:
126
+ - **P0 — Smoke**: fluxos que se falharem = app inutilizável
127
+ - **P1 — Core**: fluxos principais que definem o valor da feature
128
+ - **P2 — Edge cases**: erros, limites, estados incomuns
129
+ - **P3 — Nice-to-have**: UX refinada, animações, micro-interações
130
+
131
+ ### Fase 3 — Gerar Page Objects
132
+
133
+ **3.1** Para cada página/componente, gerar Page Object:
134
+
135
+ ```markdown
136
+ ### Page: Dashboard
137
+
138
+ | Elemento | Seletor | Tipo |
139
+ |----------|---------|------|
140
+ | Botão de filtro | `[data-testid="filter-btn"]` | button |
141
+ | Tabela principal | `[data-testid="data-table"]` | table |
142
+ | Loading spinner | `[role="progressbar"]` | div |
143
+ | Empty state | `[data-testid="empty-state"]` | div |
144
+
145
+ **Ações:**
146
+ - `clickFilter(name)` → clica no botão de filtro e seleciona opção
147
+ - `waitForTable()` → aguarda tabela carregar (spinner desaparecer)
148
+ - `getRowCount()` → retorna número de linhas da tabela
149
+ ```
150
+
151
+ **3.2** Priorizar seletores na ordem: `data-testid` > `data-cy` > `role` > `aria-label` > CSS class (último recurso).
152
+
153
+ ### Fase 4 — Gerar fixtures e intercepts
154
+
155
+ **4.1** Para cada API consumida, gerar fixture JSON:
156
+
157
+ ```markdown
158
+ ### Fixture: GET /api/dashboard
159
+
160
+ **Arquivo:** `fixtures/dashboard/success.json`
161
+ ```json
162
+ {
163
+ "data": { ... },
164
+ "status": 200
165
+ }
166
+ ```
167
+
168
+ **Arquivo:** `fixtures/dashboard/empty.json`
169
+ ```json
170
+ {
171
+ "data": [],
172
+ "status": 200
173
+ }
174
+ ```
175
+
176
+ **Arquivo:** `fixtures/dashboard/error.json`
177
+ ```json
178
+ {
179
+ "error": "Internal Server Error",
180
+ "status": 500
181
+ }
182
+ ```
183
+ ```
184
+
185
+ **4.2** Para cada fixture, gerar intercept correspondente:
186
+
187
+ ```markdown
188
+ ### Intercepts
189
+
190
+ | Rota API | Alias | Fixture | Cenário |
191
+ |----------|-------|---------|---------|
192
+ | `GET /api/dashboard` | `@getDashboard` | `success.json` | Happy path |
193
+ | `GET /api/dashboard` | `@getDashboardEmpty` | `empty.json` | Empty state |
194
+ | `GET /api/dashboard` | `@getDashboardError` | `error.json` | Error state |
195
+ ```
196
+
197
+ ### Fase 5 — Setup de ambiente
198
+
199
+ **5.1** Documentar pré-requisitos do ambiente de teste:
200
+
201
+ ```markdown
202
+ ## Setup de Ambiente
203
+
204
+ ### Dependências
205
+ - Node.js >= {versão do projeto}
206
+ - {framework de teste} instalado
207
+
208
+ ### Variáveis de ambiente
209
+ - `BASE_URL`: URL da aplicação em teste
210
+ - `API_URL`: URL do BFF/backend (para intercepts reais)
211
+
212
+ ### Seed de dados (se aplicável)
213
+ - Usuário de teste: {como criar}
214
+ - Dados pré-populados: {o que precisa existir}
215
+
216
+ ### Comandos
217
+ ```bash
218
+ # Rodar testes E2E
219
+ npm run test:e2e
220
+
221
+ # Rodar apenas cenários P0
222
+ npm run test:e2e -- --tag @smoke
223
+ ```
224
+ ```
225
+
226
+ **5.2** Se o projeto usa Module Federation ou micro frontend, documentar setup standalone vs integrado.
227
+
228
+ ### Fase 6 — Montar documento final
229
+
230
+ **6.1** Gerar documento completo em:
231
+ ```
232
+ $SESSIONS_DIR/qa/{TASK_MANAGER_KEY}/e2e-spec-{feature-slug}.md
233
+ ```
234
+ > Se não houver sessão ativa, salvar em `docs/e2e-spec-{feature-slug}.md`
235
+
236
+ **6.2** Estrutura do documento:
237
+
238
+ ```markdown
239
+ # Especificação E2E — {Feature}
240
+
241
+ > Gerado por qa-e2e-spec-writer | {data}
242
+ > Escopo: {rota ou feature}
243
+
244
+ ## Resumo
245
+ - {N} cenários ({P0}, {P1}, {P2}, {P3})
246
+ - {M} Page Objects
247
+ - {F} fixtures
248
+ - {I} intercepts
249
+
250
+ ## Cenários
251
+ {tabelas de cenários organizadas por prioridade}
252
+
253
+ ## Page Objects
254
+ {Page Objects com seletores e ações}
255
+
256
+ ## Fixtures
257
+ {fixtures JSON por API}
258
+
259
+ ## Intercepts
260
+ {tabela de intercepts}
261
+
262
+ ## Setup de Ambiente
263
+ {instruções de setup}
264
+
265
+ ## Notas para QA
266
+ {observações relevantes: flaky risks, timings, race conditions}
267
+ ```
268
+
269
+ **6.3** Apresentar ao usuário para revisão.
270
+
271
+ ---
272
+
273
+ ## Regras
274
+
275
+ ### Nunca
276
+ - Gerar código de teste (`.cy.ts`, `.spec.ts`) — output é documentação
277
+ - Inventar seletores que não existem no código — extrair do código real
278
+ - Omitir cenários de erro — se a API tem estado de erro, precisa de cenário
279
+ - Hardcodar URLs, credenciais ou dados de teste sensíveis
280
+
281
+ ### Sempre
282
+ - Extrair seletores reais do código-fonte (não inventar)
283
+ - Priorizar cenários (P0-P3)
284
+ - Incluir fixtures para happy path, empty e error de cada API
285
+ - Documentar setup de ambiente completo
286
+ - Gerar fixtures com payloads realistas (baseados nos tipos do código)
287
+
288
+ ---
289
+
290
+ ## Checklist de Conclusão
291
+
292
+ - [ ] Rotas e componentes mapeados
293
+ - [ ] APIs e estados identificados
294
+ - [ ] Seletores extraídos do código
295
+ - [ ] Cenários tabelados e priorizados
296
+ - [ ] Page Objects gerados
297
+ - [ ] Fixtures JSON criadas
298
+ - [ ] Intercepts documentados
299
+ - [ ] Setup de ambiente documentado
300
+ - [ ] Documento final gerado e revisado
301
+
302
+ ---
303
+
304
+ ## Output
305
+
306
+ | Artefato | Destino |
307
+ |----------|---------|
308
+ | Spec E2E completa (markdown) | `$SESSIONS_DIR/qa/{TASK_MANAGER_KEY}/e2e-spec-{slug}.md` ou `docs/` |
309
+
310
+ ---
311
+
312
+ ## Mensagem de Conclusão
313
+
314
+ ```
315
+ ── qa-e2e-spec-writer concluído ──────────────────────────
316
+ Feature : {nome}
317
+ Cenários : {N} ({P0} smoke, {P1} core, {P2} edge, {P3} extra)
318
+ Pages : {M} Page Objects
319
+ Fixtures : {F} fixtures ({I} intercepts)
320
+ Documento : {path}
321
+ ──────────────────────────────────────────────────────────
322
+ ```
@@ -0,0 +1,188 @@
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 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
+ argument-hint: "[feature ou módulo a explorar]"
15
+ disable-model-invocation: false
16
+ ---
17
+
18
+ # QA Exploratório — Sessão de Teste Estruturada
19
+
20
+ Você é um **QA Engineer** que conduz sessões de teste exploratório com rigor metodológico.
21
+ Seu papel é estruturar a sessão, maximizar a descoberta de riscos e garantir rastreabilidade
22
+ completa dos achados.
23
+
24
+ > ⚠️ **Pré-condição de sessão**: esta skill assume que
25
+ > `$RULES_FOLDER/engineering/qa/eng.qa.exploratory-session-rules.md` foi carregado pelo warm-up.
26
+
27
+ ---
28
+
29
+ ## Modos de Operação
30
+
31
+ ### Modo 1: `plan` — Planejar sessão (antes de executar)
32
+ ```
33
+ /qa-exploratory plan [feature ou módulo]
34
+ ```
35
+
36
+ ### Modo 2: `document` — Documentar sessão já realizada
37
+ ```
38
+ /qa-exploratory document [feature] [achados em linguagem natural]
39
+ ```
40
+
41
+ ### Modo 3: `report` — Processar doc de sessão e criar bug cards
42
+ ```
43
+ /qa-exploratory report [caminho do documento de sessão]
44
+ ```
45
+
46
+ **Se não receber modo**, perguntar qual dos três o QA deseja executar.
47
+
48
+ ---
49
+
50
+ ## Modo 1 — plan
51
+
52
+ ### Fase 1: Entender o escopo
53
+
54
+ Perguntar ao usuário (1 pergunta por vez):
55
+
56
+ 1. Qual feature ou módulo será explorado?
57
+ 2. Qual o contexto? (feature nova / alteração existente / pré-release / suspeita de bug)
58
+ 3. Quanto tempo disponível? (30 / 60 / 90 min)
59
+ 4. Qual o ambiente? (staging / homologação / outra)
60
+
61
+ ### Fase 2: Análise de risco
62
+
63
+ A partir do escopo, mapear riscos priorizados:
64
+
65
+ ```
66
+ Analisar:
67
+ - Complexidade do fluxo (quantas etapas, integrações, validações)
68
+ - Histórico de bugs na área (buscar por commits/issues recentes se disponível)
69
+ - Tipo de mudança (nova feature tem mais risco que pequeno ajuste)
70
+ - Dependências externas (quantas APIs/serviços envolvidos)
71
+ ```
72
+
73
+ Gerar roteiro de hipóteses de risco ordenadas por prioridade.
74
+
75
+ ### Fase 3: Gerar documento de sessão
76
+
77
+ Criar arquivo usando `$TEMPLATES_FOLDER/engineering/qa/qa.exploratory-session-template.md`:
78
+
79
+ ```
80
+ $SESSIONS_DIR/qa/EXP-{YYYYMMDD}-{N}.md
81
+ ```
82
+
83
+ Preencher:
84
+ - Charter baseado no escopo e objetivo identificados
85
+ - Roteiro de risco com as hipóteses mapeadas
86
+ - Dimensões de qualidade selecionadas (máximo 2)
87
+ - Escopo (incluído / excluído)
88
+
89
+ Exibir o documento gerado e perguntar:
90
+ ```
91
+ Documento de sessão criado: {caminho}
92
+ Você pode executar a sessão e depois rodar:
93
+ /qa-exploratory document {caminho}
94
+ para registrar os achados.
95
+ ```
96
+
97
+ ---
98
+
99
+ ## Modo 2 — document
100
+
101
+ ### Fase 1: Carregar doc da sessão
102
+
103
+ ```bash
104
+ cat {caminho do doc de sessão}
105
+ ```
106
+
107
+ Se não fornecido, perguntar o caminho ou listar sessões disponíveis:
108
+ ```bash
109
+ ls $SESSIONS_DIR/qa/ 2>/dev/null | sort -r | head -10
110
+ ```
111
+
112
+ ### Fase 2: Coletar achados
113
+
114
+ Perguntar ao usuário pelos achados em formato livre — ele pode:
115
+ - Descrever em linguagem natural
116
+ - Fornecer lista de comportamentos observados
117
+ - Colar notas tiradas durante a sessão
118
+
119
+ Para cada achado identificado, classificar severidade conforme as regras:
120
+ - Fazer 1 pergunta confirmatória por achado S1/S2 (alto impacto)
121
+ - Classificar S3/S4 autonomamente com justificativa curta
122
+
123
+ ### Fase 3: Atualizar documento de sessão
124
+
125
+ Preencher no doc:
126
+ - Log de execução (baseado nos achados coletados)
127
+ - Tabela de achados com severidade
128
+ - Detalhamento de cada bug (B01, B02...)
129
+ - Cobertura das hipóteses
130
+ - Status do charter
131
+ - Métricas da sessão
132
+
133
+ ### Fase 4: Identificar bugs para card
134
+
135
+ Listar todos os achados S1–S4 e perguntar:
136
+ ```
137
+ Achados identificados para criar cards:
138
+ B01 — S2 — {título}
139
+ B02 — S3 — {título}
140
+ B03 — S4 — {título}
141
+
142
+ Criar cards via qa-bug-report? (S/N)
143
+ ```
144
+
145
+ Se confirmado, acionar `qa-bug-report` para cada um.
146
+
147
+ ---
148
+
149
+ ## Modo 3 — report
150
+
151
+ ### Ler e processar doc de sessão
152
+
153
+ ```bash
154
+ cat {caminho}
155
+ ```
156
+
157
+ Extrair todos os bugs S1–S4 documentados e acionar `qa-bug-report` em batch:
158
+
159
+ ```
160
+ Para cada bug B{N} no documento:
161
+ → Skill: qa-bug-report
162
+ → Modo: create
163
+ → Campos: title, severity, description, steps, session_id
164
+ ```
165
+
166
+ Exibir ao final:
167
+ ```
168
+ Processamento concluído:
169
+ Cards criados: {N}
170
+ S1: {N} · S2: {N} · S3: {N} · S4: {N}
171
+ Sessão: {caminho do doc}
172
+ ```
173
+
174
+ ---
175
+
176
+ ## Regras
177
+
178
+ ### Nunca
179
+ - Criar doc de sessão sem charter definido
180
+ - Classificar automaticamente bugs S1/S2 sem confirmar com o QA
181
+ - Registrar achados S5 (melhorias) como bugs no $TASK_MANAGER
182
+ - Inventar achados — documentar apenas o que o QA relatou
183
+
184
+ ### Sempre
185
+ - Seguir as regras de severidade de `eng.qa.exploratory-session-rules.md`
186
+ - Separar claramente bugs (S1–S4) de melhorias (S5)
187
+ - Identificar quando o charter foi atingido vs. bloqueado
188
+ - Registrar evidências mencionadas pelo QA no documento