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.
- package/AGENTS.md +416 -0
- package/LICENSE +21 -0
- package/README.md +190 -0
- package/agents/AGENTS.md +234 -0
- package/agents/README.md +309 -0
- package/agents/engineering/data/eng.data-engineer.agent.md +309 -0
- package/agents/engineering/eng.agent.md +303 -0
- package/agents/engineering/eng.bug-hunter.md +386 -0
- package/agents/engineering/eng.cybersecurity.agent.md +503 -0
- package/agents/engineering/eng.dev-code-reviewer.md +148 -0
- package/agents/engineering/eng.docs-writer.md +152 -0
- package/agents/engineering/eng.frontend.agent.md +117 -0
- package/agents/engineering/eng.rpa.agent.md +215 -0
- package/agents/engineering/eng.tech-analyst.agent.md +102 -0
- package/agents/engineering/eng.ux-designer.agent.md +193 -0
- package/agents/engineering/qa/eng.qa.cypress-specialist.md +109 -0
- package/agents/engineering/qa/eng.qa.quality-champion-task-agent.md +85 -0
- package/agents/engineering/qa/eng.qa.quality-strategist.md +111 -0
- package/agents/engineering/qa/eng.qa.test-architect.md +400 -0
- package/agents/engineering/qa/eng.qa.test-planner.md +477 -0
- package/agents/engineering/qa/eng.qa.testing-engineer.md +339 -0
- package/agents/product/prod.pm-checker.md +52 -0
- package/bin/commands/docs-publish.js +184 -0
- package/bin/commands/docs-sync.js +139 -0
- package/bin/commands/info.js +87 -0
- package/bin/commands/init.js +237 -0
- package/bin/commands/install-rtk.js +90 -0
- package/bin/commands/list.js +48 -0
- package/bin/commands/qa-signoff.js +112 -0
- package/bin/commands/whoami.js +43 -0
- package/bin/jarvis.js +159 -0
- package/bin/lib/auth/session.js +56 -0
- package/bin/lib/config/constants.js +123 -0
- package/bin/lib/config/ide-config.js +233 -0
- package/bin/lib/core/scanner.js +124 -0
- package/bin/lib/core/sync-engine.js +551 -0
- package/bin/lib/docs/fetch-file.sh +41 -0
- package/bin/lib/docs/publish-file.sh +284 -0
- package/bin/lib/docs/validate-frontmatter.js +157 -0
- package/bin/lib/env-loader.js +198 -0
- package/bin/lib/tasks/comment.js +131 -0
- package/bin/lib/utils/git-parser.js +145 -0
- package/bin/lib/utils/logger.js +104 -0
- package/bin/lib/utils/npmrc-parser.js +106 -0
- package/bin/lib/utils/paths.js +55 -0
- package/bin/lib/utils/ui.js +59 -0
- package/bin/lib/vcs/api.js +312 -0
- package/bin/lib/vcs/create-issue.js +43 -0
- package/bin/lib/vcs/create-merge.js +43 -0
- package/bin/lib/vcs/fetch-raw.js +30 -0
- package/bin/postinstall.js +41 -0
- package/members.md +25 -0
- package/package.json +55 -0
- package/rules/AGENTS.md +205 -0
- package/rules/engineering/data/data-rules.md +200 -0
- package/rules/engineering/eng-rules.md +243 -0
- package/rules/engineering/eng-security-rules.md +186 -0
- package/rules/engineering/eng.breakdown-subtasks-rules.md +585 -0
- package/rules/engineering/eng.bump-rules.md +27 -0
- package/rules/engineering/eng.docs-scraping-rules.md +64 -0
- package/rules/engineering/eng.downstream-flow-rules.md +297 -0
- package/rules/engineering/eng.integrations-rules.md +73 -0
- package/rules/engineering/eng.plan-rules.md +333 -0
- package/rules/engineering/eng.pr-rules.md +359 -0
- package/rules/engineering/eng.pre-pr-rules.md +103 -0
- package/rules/engineering/eng.start-rules.md +246 -0
- package/rules/engineering/eng.tech-spec-rules.md +968 -0
- package/rules/engineering/eng.work-rules.md +312 -0
- package/rules/engineering/frontend/eng.frontend-rules.md +147 -0
- package/rules/engineering/qa/eng.qa.cypress-standards-rules.md +259 -0
- package/rules/engineering/qa/eng.qa.exploratory-session-rules.md +137 -0
- package/rules/engineering/qa/eng.qa.quality-gate-scoring-rules.md +181 -0
- package/rules/engineering/qa/eng.qa.tech-spec-validation-criteria-rules.md +120 -0
- package/rules/engineering/rpa/eng.rpa-rules.md +230 -0
- package/rules/product/README.md +24 -0
- package/rules/product/prod-rules.md +151 -0
- package/rules/rtk-rules.md +68 -0
- package/skills/AGENTS.md +290 -0
- package/skills/SKILLS-ROADMAP.md +333 -0
- package/skills/churn-audit/SKILL.md +385 -0
- package/skills/context-detect/SKILL.md +399 -0
- package/skills/context-detect/assets/context-profile-template.md +127 -0
- package/skills/docs-central/README.md +310 -0
- package/skills/docs-central/SKILL.md +423 -0
- package/skills/docs-index/SKILL.md +377 -0
- package/skills/eng-ai-engineer/SKILL.md +296 -0
- package/skills/eng-arch-c4/SKILL.md +358 -0
- package/skills/eng-arch-c4/assets/example-code.md +189 -0
- package/skills/eng-arch-c4/assets/example-component.md +105 -0
- package/skills/eng-arch-c4/assets/example-container.md +104 -0
- package/skills/eng-arch-c4/assets/example-context.md +81 -0
- package/skills/eng-backend/SKILL.md +776 -0
- package/skills/eng-browser-extension-builder/SKILL.md +385 -0
- package/skills/eng-cybersecurity/SKILL.md +645 -0
- package/skills/eng-data-bi/SKILL.md +199 -0
- package/skills/eng-data-debug/SKILL.md +307 -0
- package/skills/eng-data-engineer/SKILL.md +256 -0
- package/skills/eng-data-onboard/SKILL.md +310 -0
- package/skills/eng-data-orchestrator/SKILL.md +426 -0
- package/skills/eng-design-system/SKILL.md +619 -0
- package/skills/eng-docs-write/SKILL.md +312 -0
- package/skills/eng-frontend/SKILL.md +913 -0
- package/skills/eng-jira-comment/SKILL.md +17 -0
- package/skills/eng-microfrontend/SKILL.md +602 -0
- package/skills/eng-ms-trace/SKILL.md +469 -0
- package/skills/eng-nestjs/SKILL.md +791 -0
- package/skills/eng-performance-engineer/SKILL.md +312 -0
- package/skills/eng-pr/SKILL.md +339 -0
- package/skills/eng-qa-a11y-audit/SKILL.md +269 -0
- package/skills/eng-qa-bug-report/SKILL.md +1088 -0
- package/skills/eng-qa-bug-report/TASK_MANAGERS.md +138 -0
- package/skills/eng-qa-cypress-e2e/SKILL.md +177 -0
- package/skills/eng-qa-dev-guide/SKILL.md +164 -0
- package/skills/eng-qa-e2e/SKILL.md +400 -0
- package/skills/eng-qa-e2e-spec-writer/SKILL.md +322 -0
- package/skills/eng-qa-exploratory/SKILL.md +188 -0
- package/skills/eng-qa-gate/SKILL.md +370 -0
- package/skills/eng-qa-gate/assets/checklist-validacao.md +291 -0
- package/skills/eng-qa-graphql-contract/SKILL.md +256 -0
- package/skills/eng-qa-quality-report/SKILL.md +412 -0
- package/skills/eng-qa-test-plan/SKILL.md +466 -0
- package/skills/eng-qa-test-plan/assets/test-coverage-template.md +92 -0
- package/skills/eng-qa-test-plan/assets/test-patterns.md +178 -0
- package/skills/eng-qa-testsprite/SKILL.md +325 -0
- package/skills/eng-qa-testsprite/references/testsprite-mcp.md +224 -0
- package/skills/eng-qa-unit-test/SKILL.md +471 -0
- package/skills/eng-rabbitmq/SKILL.md +661 -0
- package/skills/eng-scraper/SKILL.md +683 -0
- package/skills/eng-scraper-robot-builder/SKILL.md +370 -0
- package/skills/eng-security-patch/SKILL.md +378 -0
- package/skills/eng-security-triage/SKILL.md +266 -0
- package/skills/eng-task-comment/SKILL.md +60 -0
- package/skills/eng-tech-analyst/SKILL.md +529 -0
- package/skills/eng-threat-model/SKILL.md +161 -0
- package/skills/init-jarvis/SKILL.md +1304 -0
- package/skills/init-jarvis/assets/mcp-configs.md +389 -0
- package/skills/init-jarvis/assets/onboarding-checklist.md +104 -0
- package/skills/init-jarvis/assets/setup-guide.md +360 -0
- package/skills/lovable-prompt-generator/SKILL.md +304 -0
- package/skills/prod-roadmap-report/README.md +303 -0
- package/skills/prod-roadmap-report/SKILL.md +198 -0
- package/skills/prod-roadmap-report/commands/status.compiled.single.team.md +23 -0
- package/skills/prod-roadmap-report/commands/status.list.projects.md +17 -0
- package/skills/prod-roadmap-report/commands/status.memory.md +192 -0
- package/skills/prod-roadmap-report/commands/status.roadmap.preview.md +94 -0
- package/skills/prod-roadmap-report/references/detailed-guide.md +236 -0
- package/skills/prod-roadmap-report/rules/detailed-guide.md +237 -0
- package/skills/prod-roadmap-report/rules/status-report-rules.md +44 -0
- package/skills/prod-roadmap-report/templates/template-multiple-teams-compiled-status.md +53 -0
- package/skills/prod-roadmap-report/templates/template-projects-list.md +23 -0
- package/skills/prod-roadmap-report/templates/template-single-team-compiled-status.md +60 -0
- package/skills/prod-roadmap-report/templates/template-single-team-status.md +49 -0
- package/skills/prod-specs/SKILL.md +108 -0
- package/skills/prod-specs/references/prod.spec.clarify.md +176 -0
- package/skills/prod-specs/references/prod.spec.epic.md +107 -0
- package/skills/prod-specs/references/prod.spec.frd.md +135 -0
- package/skills/prod-specs/references/prod.spec.issue.md +145 -0
- package/skills/prod-specs/references/prod.spec.prd.md +118 -0
- package/skills/prod-specs/rules/prod-spec-rules.md +186 -0
- package/skills/prod-specs/templates/prod-breakdown-template.md +136 -0
- package/skills/prod-specs/templates/prod-epic-template.md +76 -0
- package/skills/prod-specs/templates/prod-frd-template.md +172 -0
- package/skills/prod-specs/templates/prod-issue-template.md +68 -0
- package/skills/prod-specs/templates/prod-prd-full-template.md +159 -0
- package/skills/prod-specs/templates/prod-prd-template.md +173 -0
- package/skills/prod-specs-update/SKILL.md +272 -0
- package/skills/report-issue/SKILL.md +156 -0
- package/taxonomy.md +270 -0
- package/templates/AGENTS.md +189 -0
- package/templates/CDD aplicado a Prompts.md +182 -0
- package/templates/ENV-template.md +187 -0
- package/templates/engineering/AGENTS-template.md +71 -0
- package/templates/engineering/ARD-template.md +193 -0
- package/templates/engineering/CONTACTS-template.md +135 -0
- package/templates/engineering/PR-template.md +40 -0
- package/templates/engineering/RFC-Playbook.md +325 -0
- package/templates/engineering/RFC-template.md +199 -0
- package/templates/engineering/architecture-template.md +277 -0
- package/templates/engineering/breakdown-subtasks-template.md +582 -0
- package/templates/engineering/c4-model-template.md +516 -0
- package/templates/engineering/data-contract-template.md +135 -0
- package/templates/engineering/data-pipeline-template.md +163 -0
- package/templates/engineering/plan-template.md +255 -0
- package/templates/engineering/qa/eng.qa.quality-gate-examples-template.md +311 -0
- package/templates/engineering/qa/eng.qa.quality-gate-report-template.md +249 -0
- package/templates/engineering/qa/qa.cypress-test-template.md +172 -0
- package/templates/engineering/qa/qa.exploratory-session-template.md +148 -0
- package/templates/engineering/qa/qa.quality-report-template.md +130 -0
- package/templates/engineering/qa/qa.release-signoff-template.md +54 -0
- package/templates/engineering/qa/qa.sprint-plan-template.md +49 -0
- package/templates/engineering/swagger-template.md +145 -0
- package/templates/engineering/tech-spec-template.md +497 -0
- package/templates/engineering/work-progress-template.md +155 -0
- package/workflows/AGENTS.md +240 -0
- package/workflows/README.md +160 -0
- package/workflows/all-tools.md +11 -0
- package/workflows/engineering/data/data.contract.md +202 -0
- package/workflows/engineering/data/data.new-pipeline.md +234 -0
- package/workflows/engineering/eng.breakdown-subtasks.md +420 -0
- package/workflows/engineering/eng.bug-audit.md +591 -0
- package/workflows/engineering/eng.build-tech-spec.md +1116 -0
- package/workflows/engineering/eng.create-ard-from-code.md +259 -0
- package/workflows/engineering/eng.create-ard.md +382 -0
- package/workflows/engineering/eng.create-rfc.md +245 -0
- package/workflows/engineering/eng.debug.md +479 -0
- package/workflows/engineering/eng.docs.md +40 -0
- package/workflows/engineering/eng.light-arch.md +84 -0
- package/workflows/engineering/eng.plan.md +213 -0
- package/workflows/engineering/eng.pr.md +466 -0
- package/workflows/engineering/eng.pre-pr.md +167 -0
- package/workflows/engineering/eng.review.md +185 -0
- package/workflows/engineering/eng.rpa.robot.md +342 -0
- package/workflows/engineering/eng.security-audit.md +312 -0
- package/workflows/engineering/eng.security-incident.md +275 -0
- package/workflows/engineering/eng.security-pipeline.md +210 -0
- package/workflows/engineering/eng.security-review.md +235 -0
- package/workflows/engineering/eng.start.md +494 -0
- package/workflows/engineering/eng.work.md +558 -0
- package/workflows/engineering/frontend/eng.frontend-component.md +190 -0
- package/workflows/engineering/frontend/eng.frontend-perf-audit.md +375 -0
- package/workflows/engineering/frontend/eng.frontend-review.md +185 -0
- package/workflows/engineering/qa/eng.qa-dev-quality-guide.md +51 -0
- package/workflows/engineering/qa/eng.qa-e2e-test-generation.md +51 -0
- package/workflows/engineering/qa/eng.qa-exploratory-session.md +60 -0
- package/workflows/engineering/qa/eng.qa-quality-gate-validation.md +202 -0
- package/workflows/engineering/qa/eng.qa-quality-report.md +83 -0
- package/workflows/engineering/qa/eng.qa-refinement-entry.md +83 -0
- package/workflows/engineering/qa/eng.qa-release-signoff.md +170 -0
- package/workflows/engineering/qa/eng.qa-sprint-planning.md +100 -0
- package/workflows/engineering/ta/eng.ta.atendimento.md +93 -0
- package/workflows/product/prod.roadmap.preview.md +110 -0
- package/workflows/product/prod.spec.breakdown.md +163 -0
- package/workflows/product/prod.spec.clarify.md +178 -0
- package/workflows/product/prod.spec.epic.md +154 -0
- package/workflows/product/prod.spec.frd.md +96 -0
- package/workflows/product/prod.spec.issue.md +145 -0
- package/workflows/product/prod.spec.md +60 -0
- package/workflows/product/prod.spec.prd.md +100 -0
- package/workflows/taxonomy.md +92 -0
- 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.
|