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,83 @@
1
+ ---
2
+ description: Analisa spec/PRD/FRD de uma feature e gera estratégia de testes com critérios de aceite e mapeamento de cenários de risco
3
+ auto_execution_mode: 2
4
+ agent: "$IDE/agents/engineering/qa/eng.qa.test-planner.md"
5
+ model_tier: high
6
+ model_justification: Análise de requisitos e geração de estratégia de testes exige raciocínio profundo
7
+ ---
8
+
9
+ # qa.refinement-entry
10
+
11
+ Analisa uma spec de feature e gera o documento de estratégia de testes: critérios de aceite,
12
+ mapeamento de cenários de risco e checklist de cobertura necessária.
13
+
14
+ > 🤖 **Agent**: `eng.qa.test-planner`
15
+
16
+ ---
17
+
18
+ ## Contexto de Execução
19
+
20
+ Este comando opera em **modo pré-código**: é executado após a tech spec ser escrita e
21
+ antes da codificação começar. A entrada é sempre a especificação do card — não o código.
22
+
23
+ **Regra obrigatória para o agente**: não executar `git diff` neste contexto.
24
+ A fonte de verdade é o conteúdo do card no $TASK_MANAGER, lido via integração disponível (ex: Jira MCP).
25
+
26
+ ---
27
+
28
+ ## Entrada
29
+
30
+ ```
31
+ #$ARGUMENTS
32
+ ```
33
+
34
+ Aceita: ID de task no $TASK_MANAGER, caminho de spec (PRD/FRD/tech spec), ou descrição da feature.
35
+
36
+ **Se não receber argumentos**, perguntar:
37
+ - Qual card ou spec você quer mapear para testes?
38
+
39
+ ---
40
+
41
+ ## Execução
42
+
43
+ O agente `eng.qa.test-planner` irá operar em **Modo A — Estratégia a partir da Tech Spec**:
44
+
45
+ 1. **Buscar o card no $TASK_MANAGER** via integração disponível (Jira MCP) usando o ID fornecido
46
+ 2. **Ler a spec** — identificar o fluxo principal, regras de negócio, integrações e restrições
47
+ 3. **Mapear riscos** — o que pode falhar? onde está a complexidade? quais dependências?
48
+ 4. **Definir critérios de aceite** — mensuráveis e testáveis (não apenas "funciona")
49
+ 5. **Gerar estratégia de testes**:
50
+ - Cenários E2E obrigatórios (happy path + cenários de risco alto)
51
+ - Cenários de teste exploratório recomendados
52
+ - O que NÃO precisa de teste automatizado (e por quê)
53
+ 6. **Gerar checklist de cobertura** para validação antes do deploy
54
+
55
+ Não executar `git diff`, `git log` ou qualquer comando que dependa de código implementado.
56
+ O código ainda não existe neste momento do fluxo.
57
+
58
+ ---
59
+
60
+ ## Output
61
+
62
+ Documento de estratégia de testes salvo em:
63
+ `$DOCS_FOLDER/engineering/qa/strategies/{task-id}-test-strategy.md`
64
+
65
+ Estrutura do documento:
66
+ ```
67
+ # Estratégia de Testes — {feature}
68
+
69
+ ## Critérios de Aceite
70
+ (por cenário, mensuráveis)
71
+
72
+ ## Mapeamento de Risco
73
+ (área × probabilidade × impacto)
74
+
75
+ ## Cenários E2E Obrigatórios
76
+ (lista priorizada)
77
+
78
+ ## Recomendações de Exploratório
79
+ (foco e time-box sugerido)
80
+
81
+ ## Checklist de Deploy
82
+ (o que deve passar antes de ir para produção)
83
+ ```
@@ -0,0 +1,170 @@
1
+ ---
2
+ description: Sign-off QA pré-deploy — verifica cobertura de testes e bugs abertos para a branch, produz decisão GO/NO-GO
3
+ auto_execution_mode: 2
4
+ env_file: "@/ENV.md"
5
+ recommended_model: claude-sonnet-4-20250514
6
+ model_tier: medium
7
+ model_justification: Leitura de arquivos locais, análise de cobertura e geração de documento estruturado
8
+ ---
9
+
10
+ # qa.release-signoff
11
+
12
+ Sign-off QA antes de um deploy. Verifica cobertura de testes, sessões exploratórias e bugs abertos para a branch atual, e produz um documento GO/NO-GO.
13
+
14
+ > ℹ️ O documento gerado é validado automaticamente pelo CI via `jarvis qa-signoff`.
15
+ > Para ativar a validação automática, o TL precisa adicionar o job ao pipeline — o snippet é fornecido ao final.
16
+
17
+ ## Entrada
18
+
19
+ ```
20
+ #$ARGUMENTS
21
+ ```
22
+
23
+ Aceita: nome da branch (padrão: branch atual via `git branch --show-current`).
24
+
25
+ ---
26
+
27
+ ## Fase 0 — Identificar branch e mudanças
28
+
29
+ ```bash
30
+ # Branch atual (se não passada como argumento)
31
+ git branch --show-current
32
+
33
+ # Tasks incluídas neste deploy
34
+ git log origin/main..HEAD --oneline
35
+
36
+ # Arquivos alterados
37
+ git diff origin/main...HEAD --name-only
38
+ ```
39
+
40
+ ---
41
+
42
+ ## Fase 1 — Verificar cobertura
43
+
44
+ Para cada domínio/área afetada pelas mudanças:
45
+
46
+ **1. Testes E2E**
47
+ ```bash
48
+ ls $TEST_FOLDER/e2e/ 2>/dev/null
49
+ ```
50
+ Verificar se existe spec cobrindo o domínio. Confrontar com arquivos alterados.
51
+
52
+ **2. Sessão exploratória**
53
+ ```bash
54
+ ls $SESSIONS_DIR/qa/ 2>/dev/null | grep -i {dominio}
55
+ ```
56
+ Verificar se foi realizada sessão para a feature.
57
+
58
+ **3. Quality gate**
59
+ ```bash
60
+ ls $DOCS_FOLDER/engineering/qa/ 2>/dev/null | grep -i "quality-gate\|qg"
61
+ ```
62
+ Verificar se a spec passou pelo quality gate antes da sprint.
63
+
64
+ ---
65
+
66
+ ## Fase 2 — Verificar bugs abertos
67
+
68
+ Buscar no $TASK_MANAGER bugs abertos relacionados às tasks do deploy:
69
+
70
+ ```
71
+ Buscar: type = Bug AND status != Done AND linkedIssue in ({tasks_do_deploy})
72
+ ```
73
+
74
+ Para cada bug encontrado, apresentar ao QA:
75
+ - É bloqueador para este deploy?
76
+ - Aceitar com ressalva (documentar motivo)?
77
+ - Não relacionado ao deploy atual?
78
+
79
+ ---
80
+
81
+ ## Fase 3 — Decisão GO / NO-GO
82
+
83
+ | Condição | Decisão |
84
+ |----------|---------|
85
+ | Toda cobertura crítica atendida, nenhum bug bloqueador | ✅ GO |
86
+ | Cobertura atendida, bugs não-bloqueadores documentados | ✅ GO com ressalvas |
87
+ | Cobertura crítica ausente OU bug bloqueador em aberto | 🚫 NO-GO |
88
+
89
+ Apresentar a decisão ao QA para confirmação antes de salvar.
90
+
91
+ ---
92
+
93
+ ## Fase 4 — Gerar documento
94
+
95
+ Usar template `$TEMPLATES_FOLDER/engineering/qa/qa.release-signoff-template.md`.
96
+
97
+ Salvar em:
98
+ ```
99
+ $DOCS_FOLDER/engineering/qa/signoffs/signoff-{branch-slug}-{YYYYMMDD}.md
100
+ ```
101
+
102
+ > O frontmatter **deve** conter `status: GO` ou `status: NO-GO` — o CLI `jarvis qa-signoff` lê este campo.
103
+
104
+ ---
105
+
106
+ ## Fase 5 — Setup CI (condicional, apenas na primeira vez)
107
+
108
+ Verificar se o job de sign-off já existe no pipeline:
109
+
110
+ ```bash
111
+ grep -l "qa-signoff\|jarvis qa-signoff" .gitlab-ci.yml .github/workflows/*.yml 2>/dev/null
112
+ ```
113
+
114
+ Se **já encontrado** → pular silenciosamente.
115
+
116
+ Se **não encontrado**:
117
+
118
+ **1. Identificar o Tech Lead do squad**
119
+
120
+ Ler `members.md` e buscar o membro com `TECH LEAD` na seção do squad atual (`SQUAD` do ENV.md):
121
+
122
+ ```bash
123
+ grep -A 20 "^## $SQUAD" members.md | grep -i "TECH LEAD"
124
+ ```
125
+
126
+ Extrair nome e Slack ID do TL encontrado.
127
+
128
+ **2. Enviar mensagem automática via $MESSAGE_COMUNICATOR**
129
+
130
+ Enviar Slack DM para o Slack ID do TL com o seguinte conteúdo:
131
+
132
+ ```
133
+ 📋 *Setup QA Sign-off — {WORKSPACE}*
134
+
135
+ Olá, {nome_do_tl}! O QA {nome_do_qa} configurou o sign-off automático de release.
136
+
137
+ Para ativar a validação no pipeline CI, adicione ao `.gitlab-ci.yml`:
138
+
139
+ ```yaml
140
+ qa-signoff:
141
+ stage: validate
142
+ script:
143
+ - npx jarvis qa-signoff --branch $CI_COMMIT_REF_NAME
144
+ rules:
145
+ - if: $CI_COMMIT_BRANCH =~ /^(main|master|release\/.*)$/
146
+ allow_failure: false
147
+ ```
148
+
149
+ *Pré-requisito:* `jarvis-framework` em `devDependencies` (já instalado se o projeto usa Jarvis).
150
+
151
+ Após o merge, todo push para `main`/`release/*` será validado automaticamente. ✅
152
+ ```
153
+
154
+ **3. Confirmar ao QA**
155
+
156
+ ```
157
+ ✅ Mensagem enviada para {nome_do_tl} via Slack.
158
+ O CI será ativado assim que ele adicionar o job ao pipeline.
159
+ ```
160
+
161
+ Se $MESSAGE_COMUNICATOR não estiver configurado ou o TL não tiver Slack ID em `members.md`:
162
+ - Exibir o snippet na tela para envio manual
163
+ - Avisar: "Configure MESSAGE_COMUNICATOR no ENV.md para envios automáticos futuros."
164
+
165
+ ---
166
+
167
+ ## Output
168
+
169
+ - `$DOCS_FOLDER/engineering/qa/signoffs/signoff-{branch-slug}-{YYYYMMDD}.md` — documento de sign-off
170
+ - Snippet CI (apenas na primeira execução, se pipeline ainda não configurado)
@@ -0,0 +1,100 @@
1
+ ---
2
+ description: Planejamento de capacidade QA para uma sprint — avalia risco de cada task e distribui entre QAs e Quality Champions
3
+ auto_execution_mode: 2
4
+ env_file: "@/ENV.md"
5
+ rules_file: "$IDE/rules/engineering/qa/eng.qa.cypress-standards-rules.md"
6
+ recommended_model: claude-sonnet-4-20250514
7
+ model_tier: high
8
+ model_justification: Análise de risco multi-task e alocação de capacidade requer raciocínio estratégico
9
+ ---
10
+
11
+ # qa.sprint-planning
12
+
13
+ Planejamento de capacidade QA para a sprint: avalia risco de cada task, considera QAs e Quality Champions disponíveis, e produz um plano de alocação baseado em critérios de risco.
14
+
15
+ ## Entrada
16
+
17
+ ```
18
+ #$ARGUMENTS
19
+ ```
20
+
21
+ Aceita: sprint ID, nome ou número (ex: `Sprint 42`, `42`, `sprint-42`).
22
+
23
+ **Se não receber argumentos**, perguntar:
24
+ - Qual sprint deseja planejar? (ID ou nome conforme o $TASK_MANAGER)
25
+
26
+ ---
27
+
28
+ ## Fase 0 — Reconhecimento de Capacidade
29
+
30
+ Antes de buscar tasks, mapear a equipe disponível:
31
+
32
+ ```bash
33
+ # Ler QAs e Quality Champions do members.md
34
+ grep -A 50 "^## QA" members.md
35
+ grep "Quality Champion" members.md
36
+ ```
37
+
38
+ Extrair:
39
+ - **QAs**: membros da seção `## QA` do `members.md`
40
+ - **Quality Champions**: membros com `Quality Champion` no campo Posição (em qualquer squad)
41
+ - Capacidade Champions: `QA_CHAMPION_CAPACITY` do ENV.md (padrão: 30%)
42
+
43
+ Se `members.md` não existir ou não tiver seção QA, perguntar ao usuário antes de prosseguir.
44
+
45
+ ---
46
+
47
+ ## Fase 1 — Buscar Tasks da Sprint
48
+
49
+ ```bash
50
+ # Via $TASK_MANAGER — adaptar query ao sistema configurado
51
+ # Jira (JQL):
52
+ # project = $PROJECT AND sprint = "{sprint}" AND type != Epic
53
+ # AND status in ("To Do", "In Progress", "In Review")
54
+ ```
55
+
56
+ Se $TASK_MANAGER não estiver configurado: pedir ao usuário que cole a lista de tasks.
57
+
58
+ ---
59
+
60
+ ## Fase 2 — Análise de Risco
61
+
62
+ Invocar agente [eng.qa.quality-strategist]($IDE/agents/engineering/qa/eng.qa.quality-strategist.md) para avaliar cada task:
63
+
64
+ Para cada task, o agente determina:
65
+ - **Risco**: Alto / Médio / Baixo
66
+ - **Cobertura ideal**: E2E / exploratório / quality gate / delegar ao dev
67
+ - **Justificativa**: área do sistema, complexidade, histórico de bugs do domínio
68
+
69
+ ---
70
+
71
+ ## Fase 3 — Alocação
72
+
73
+ Com base no risco e na capacidade mapeada na Fase 0:
74
+
75
+ | Risco | Regra de alocação |
76
+ |-------|------------------|
77
+ | Alto | QA obrigatório — não delegar a Champion |
78
+ | Médio | QA preferencial; Champion se QA sobrecarregado |
79
+ | Baixo | Champion ou delegar ao dev via eng-qa-dev-guide |
80
+
81
+ **Detectar sobrecarga**: se demanda > capacidade total, sinalizar quais tasks ficam sem cobertura designada e sugerir redução de escopo nos itens de menor risco.
82
+
83
+ ---
84
+
85
+ ## Fase 4 — Gerar Plano
86
+
87
+ Usando o template `$TEMPLATES_FOLDER/engineering/qa/qa.sprint-plan-template.md`, gerar o plano e salvar em:
88
+
89
+ ```
90
+ $DOCS_FOLDER/engineering/qa/sprints/sprint-plan-{sprint-slug}.md
91
+ ```
92
+
93
+ Exibir o plano ao usuário e perguntar se há ajustes antes de salvar.
94
+
95
+ ---
96
+
97
+ ## Output
98
+
99
+ - `$DOCS_FOLDER/engineering/qa/sprints/sprint-plan-{sprint-slug}.md` — plano de alocação da sprint
100
+ - Pronto para compartilhar com o time ou colar no $TASK_MANAGER
@@ -0,0 +1,93 @@
1
+ ---
2
+ description: Fluxo principal do Tech Analyst — diagnóstico, triagem e resolução/escalonamento de chamados técnicos
3
+ version: "1.0"
4
+ auto_execution_mode: 2
5
+ agent: "$IDE/agents/engineering/eng.tech-analyst.agent.md"
6
+ model_tier: medium
7
+ model_justification: Diagnóstico técnico, classificação de bugs e geração de tickets Jira — requer raciocínio estruturado mas não análise arquitetural profunda
8
+ ---
9
+
10
+ # eng.ta.atendimento — Atendimento Técnico
11
+
12
+ ## Objetivo
13
+
14
+ Conduzir o Tech Analyst pelo fluxo completo de atendimento de chamados:
15
+ desde a recepção do ticket do suporte N2 até resolução ou escalonamento qualificado.
16
+
17
+ ---
18
+
19
+ ## Entrada
20
+
21
+ <ticket>
22
+ #$ARGUMENTS
23
+ </ticket>
24
+
25
+ **Se não receber argumentos**, perguntar ao usuário:
26
+ - Qual o ID ou descrição do chamado que precisa ser atendido?
27
+
28
+ ---
29
+
30
+ ## Fase 0 — Carregar Contexto
31
+
32
+ Ler do ENV.md:
33
+ - `SQUAD` — squad do Tech Analyst
34
+ - `USER` — email do Tech Analyst
35
+ - `SLACK_ID` — ID Slack para comunicações
36
+
37
+ Registrar timestamp de início do atendimento.
38
+
39
+ ---
40
+
41
+ ## Fase 1 — Triagem Inicial
42
+
43
+ Invocar o skill `eng-tech-analyst` para conduzir o fluxo:
44
+
45
+ ```
46
+ Skill tool: eng-tech-analyst
47
+ Contexto: {descrição do chamado ou ID do ticket}
48
+ ```
49
+
50
+ O skill conduzirá:
51
+ 1. Verificação de completude da descrição
52
+ 2. Busca de existência no Jira
53
+ 3. Classificação da área e avaliação de impacto
54
+ 4. Decisão: resolver ou escalar
55
+
56
+ ---
57
+
58
+ ## Fase 2 — Confirmação
59
+
60
+ Informar ao usuário:
61
+
62
+ ```
63
+ ✅ Atendimento encerrado
64
+
65
+ 📋 Ticket: {ID}
66
+ 🔍 Diagnóstico: {resumo}
67
+ 📁 Área: {FRONT|BACK|BD|PROCESSO}
68
+ 📊 Impacto: {alto|baixo}
69
+ 🎯 Desfecho: {Resolvido pelo Tech Analyst | Escalado para PM | Enviado para backlog | Bug existente — frequência atualizada}
70
+
71
+ {se criou Jira}
72
+ 🐛 Jira: {URL do ticket criado}
73
+
74
+ {se comunicou PM ou QA}
75
+ 💬 Comunicação enviada para {PM|QA} via Slack
76
+ ```
77
+
78
+ ---
79
+
80
+ ## Regras do Workflow
81
+
82
+ - **Não avançar** sem descrição mínima do problema (Passo 1 do skill)
83
+ - **Não escalar** sem ter classificado área e avaliado impacto
84
+ - **Não escrever** no banco de dados — somente leitura
85
+ - **Sempre** registrar no HS o desfecho do atendimento
86
+
87
+ ---
88
+
89
+ ## Skills Utilizados
90
+
91
+ | Skill | Quando |
92
+ |-------|--------|
93
+ | `eng-tech-analyst` | Fluxo principal de triagem e decisão |
@@ -0,0 +1,110 @@
1
+ ---
2
+ name: prod.roadmap.preview
3
+ description: Conhecer e ter visibilidade do roadmap de entregas planejadas do produto, como períodos de entrega, nome dos projetos e responsáveis.
4
+ auto_execution_mode: 3
5
+ env_file: "@/ENV.md"
6
+ model_tier: high
7
+ model_justification: Gestores e time precisam entender quais as próximas prioridades de entrega que serão feitas pelos times baseados nas informações disponíveis no projeto e também no task manager utilizado pela empresa.
8
+ ---
9
+
10
+ # Roadmap Preview
11
+
12
+ Este comando tem como objetivo de buscar e trazer informações sobre o roadmap de entregas planejadas do produto, como períodos de entrega, nome dos projetos e responsáveis.
13
+
14
+ Antes de iniciar, revise o arquivo de regras invioláveis em `$PROD_RULES/**/*`. Se você não estiver familiarizado com essa variável, leia as regras diretamente na pasta `.$IDE/rules/product/**/*.*`.
15
+
16
+ Utilize o `$ARGUMENTS` que o usuário passar como ponto de partida e para entender o contexto do que foi pedido.
17
+ <requirement>
18
+ #$ARGUMENTS
19
+ </requirement>
20
+
21
+ ## Regras
22
+
23
+ - Sempre identifique o quadrimestre atual e o próximo com base na data de hoje.
24
+ - Utilize o MCP disponível relacionado ao $TASK_MANAGER utilizado pelo usuário.
25
+ - Antes de qualquer coisa, procure por informações sobre o projeto ou produto que o usuário está solicitando dentro da pasta de trabalho utilizado. Confirme com o usuário o que foi encontrado. Utilize também informações que o usuário já compartilhou.
26
+ - As documentações de projeto podem ser encontradas na pasta do projeto (`$PROD_DOCS`). Rascunhos WIP: `$SESSIONS_DIR/prod/`. Caso não estejam disponíveis localmente, utilize via Skill tool a `docs-central` para buscar as informações do repositório `$CENTRAL_DOCS_REPO`.
27
+ - Para trazer as informações, utilize via Skill tool a skill `prod-roadmap-report`
28
+
29
+ ### Status Reports por Squad
30
+
31
+ Ler os squads em `taxonomy.md` (seção Squads). Não hardcodar times.
32
+
33
+ Se o projeto tiver wiki de status report, usar URLs informadas pelo usuário ou variáveis do `ENV.md` — nunca uma tabela fixa de squads.
34
+
35
+ ## Formato de Períodos de Referência
36
+
37
+ Nós usamos Quadrimestres como período de Referência. Então, quando o usuário falar quarter, entenda que é referente a quatro meses no ano, e não apenas 3. Como o padrão abaixo:
38
+
39
+ - **Q1**: Janeiro – Abril
40
+ - **Q2**: Maio – Agosto
41
+ - **Q3**: Setembro – Dezembro
42
+
43
+ Sempre identifique o quadrimestre atual e o próximo com base na data de hoje.
44
+
45
+ ### Sobre o Jira
46
+
47
+ Confirme `$TASK_MANAGER` e `$TASK_MANAGER_URL_BASE` em `@/ENV.md`.
48
+
49
+ Boards: usar o `board_code` de cada squad em `taxonomy.md` (se preenchido). Não hardcodar projetos.
50
+
51
+ Filtro de roadmap: pedir ao usuário o JQL ou o ID do filtro salvo no `$TASK_MANAGER`. Não usar filtro fixo.
52
+
53
+ Utilize o MCP da Atlassian para buscar os dados do roadmap.
54
+ Não precisa trazer informações embedadas do jira, apenas o output definido aqui nessa skill.
55
+
56
+ ```
57
+ Atlassian:searchJiraIssuesUsingJql
58
+ JQL: (filtro informado pelo usuário ou montado a partir de board_code + labels)
59
+ Campos a buscar: key, summary, status, priority, duedate, resolutiondate, assignee, labels, customfield (team, quadrimestre)
60
+ ```
61
+
62
+ **Importante**: Use `Atlassian:getAccessibleAtlassianResources` para obter o `cloudId` antes de fazer queries.
63
+
64
+
65
+ ### Spaces no Jira
66
+
67
+ Montar URLs com `{TASK_MANAGER_URL_BASE}` + `board_code` do `taxonomy.md`. Se `board_code` estiver vazio, perguntar o projeto ao usuário.
68
+
69
+ ### Complemento com Jira (opcional)
70
+ Você **pode** complementar com informações do Jira apenas se tiver informações suficientes para fazer a query corretamente (ex: o squad tem um board ou label bem definidos no Jira e você tem certeza do filtro).
71
+
72
+ ⚠️ **Se tiver dúvida sobre como filtrar no Jira, NÃO inclua dados do Jira**. Evite trazer informações erradas ou de outros squads.
73
+
74
+
75
+ ## Status report via Wiki
76
+
77
+ Use a URL de status report que o usuário informar (ou a wiki configurada no projeto). Não há tabela fixa de squads.
78
+
79
+ Use `web_fetch` para acessar a URL do time selecionado.
80
+
81
+ Busque os **dois últimos status reports** listados na página.
82
+ Apresente os dois últimos reports no seguinte formato:
83
+
84
+ ```
85
+ ## 📋 Status Report — [Nome do time]
86
+
87
+ ### 📅 Último Report — [Data]
88
+ [Conteúdo do report]
89
+
90
+ ---
91
+
92
+ ### 📅 Report Anterior — [Data]
93
+ [Conteúdo do report]
94
+ ```
95
+
96
+ ---
97
+
98
+ ## Dicas de Ferramenta
99
+
100
+ ### Para dados do Jira
101
+ 1. Sempre chame `Atlassian:getAccessibleAtlassianResources` primeiro para obter o `cloudId`
102
+ 2. Use `Atlassian:searchJiraIssuesUsingJql` com o JQL adequado
103
+ 3. Para o roadmap, use o JQL/filtro informado pelo usuário
104
+ 4. Para campos customizados (team, quadrimestre), pode ser necessário chamar `Atlassian:getJiraIssueTypeMetaWithFields` para descobrir os IDs dos campos
105
+ 5. Links para issues do Jira devem ser no formato: `{TASK_MANAGER_URL_BASE}/browse/KEY-123`
106
+
107
+ ### Para dados da Wiki
108
+ - Use `web_fetch` diretamente nas URLs dos reports
109
+ - Se a página não carregar, informe o usuário que o conteúdo não está disponível no momento
110
+ - Busque os **dois últimos status reports** listados na página.