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,176 @@
1
+ ---
2
+ name: prod.spec.clarify
3
+ description: Identificar áreas subespecificadas na especificação da feature atual fazendo até 5 perguntas de esclarecimento altamente direcionadas e incorporando as respostas de volta na spec.
4
+ auto_execution_mode: 3
5
+ env_file: "@/ENV.md"
6
+ recommended_model: gpt-4o
7
+ model_tier: medium
8
+ model_justification: Esclarecimento de specs requer análise estruturada e formulação de perguntas, mas segue processo bem definido
9
+ ---
10
+
11
+ ## Clarify workflow
12
+
13
+ Detectar e reduzir ambiguidades ou pontos de decisão ausentes na especificação da feature ativa e registrar os esclarecimentos diretamente no arquivo da spec.
14
+
15
+ Observação: Este workflow de esclarecimento deve ser executado (e concluído) ANTES da etapa de planejamento. Se o usuário declarar explicitamente que está pulando o esclarecimento (por exemplo, spike exploratório), você pode prosseguir, mas deve avisar que o risco de retrabalho posterior aumenta.
16
+
17
+ Utilize o que o usuário fornecer analisar em:
18
+ <requirement>
19
+ #$ARGUMENTS
20
+ </requirement>
21
+
22
+ Etapas de execução:
23
+
24
+ 1. Carregue o arquivo atual da spec. Realize uma varredura estruturada de ambiguidades e cobertura usando esta taxonomia. Para cada categoria, marque o status: Claro / Parcial / Ausente. Produza um mapa de cobertura interno usado para priorização (não divulgue o mapa bruto a menos que nenhuma pergunta seja feita). Analise o arquivo da spec e realize uma cobertura apenas com os itens que estão incluídos na especificação do usuário.
25
+
26
+ Ao final do processo, peça ao usuário para confirmar o esclarecimento e liste os itens ausentes, perguntando se ele quer esclarecê-los.
27
+
28
+ Escopo Funcional & Comportamento:
29
+ - Principais objetivos do usuário & critérios de sucesso
30
+ - Declarações explícitas de fora de escopo
31
+ - Diferenciação de papéis / personas dos usuários
32
+
33
+ Domínio & Modelo de Dados:
34
+ - Entidades, atributos, relacionamentos
35
+ - Regras de identidade & unicidade
36
+ - Transições de ciclo de vida/estado
37
+ - Suposições de volume de dados / escala
38
+
39
+ Interação & Fluxo de UX:
40
+ - Jornadas / sequências críticas do usuário
41
+ - Estados de erro/vazio/carregamento
42
+ - Observações de acessibilidade ou localização
43
+
44
+ Atributos de Qualidade Não Funcionais:
45
+ - Desempenho (latência, metas de throughput)
46
+ - Escalabilidade (horizontal/vertical, limites)
47
+ - Confiabilidade & disponibilidade (expectativas de uptime e recuperação)
48
+ - Observabilidade (logging, métricas, sinais de tracing)
49
+ - Segurança & privacidade (authN/Z, proteção de dados, suposições de ameaça)
50
+ - Restrições de compliance / regulatórias (se houver)
51
+
52
+ Integração & Dependências Externas:
53
+ - Serviços/APIs externos e modos de falha
54
+ - Formatos de importação/exportação de dados
55
+ - Suposições de protocolo/versionamento
56
+
57
+ Casos Limite & Tratamento de Falhas:
58
+ - Cenários negativos
59
+ - Rate limiting / throttling
60
+ - Resolução de conflitos (por exemplo, edições simultâneas)
61
+
62
+ Restrições & Trade-offs:
63
+ - Restrições técnicas (linguagem, armazenamento, hospedagem)
64
+ - Trade-offs explícitos ou alternativas rejeitadas
65
+
66
+ Terminologia & Consistência:
67
+ - Termos de glossário canônicos
68
+ - Sinônimos evitados / termos obsoletos
69
+
70
+ Sinais de Conclusão:
71
+ - Testabilidade dos critérios de aceitação
72
+ - Indicadores mensuráveis de Definition of Done
73
+
74
+ Diversos / Placeholders:
75
+ - Marcadores TODO / decisões não resolvidas
76
+ - Adjetivos ambíguos (“robusto”, “intuitivo”) sem quantificação
77
+
78
+ Para cada categoria com status Parcial ou Ausente, adicione uma oportunidade de pergunta candidata, a menos que:
79
+ - O esclarecimento não altere materialmente a estratégia de implementação ou validação
80
+ - A informação seja melhor postergada para a fase de planejamento (anote internamente)
81
+
82
+ 3. Gere (internamente) uma fila priorizada de perguntas de esclarecimento candidatas (máximo de 5). IMPORTANTE: Não as apresente todas de uma vez. Aplique estas restrições:
83
+ - Máximo de 10 perguntas no total ao longo de toda a sessão.
84
+ - Cada pergunta deve ser respondida COM:
85
+ - Uma seleção curta de múltipla escolha (2–5 opções distintas, mutuamente exclusivas), OU
86
+ - Uma resposta de uma palavra / frase curta (restrinja explicitamente: “Responda em <=5 palavras”).
87
+ - Inclua apenas perguntas cujas respostas impactem materialmente arquitetura, modelagem de dados, decomposição de tarefas, design de testes, comportamento de UX, prontidão operacional ou validação de compliance.
88
+ - Garanta equilíbrio de cobertura por categoria: tente cobrir primeiro as áreas não resolvidas de maior impacto; evite fazer duas perguntas de baixo impacto quando uma área de alto impacto (por exemplo, postura de segurança) está sem resolução.
89
+ - Exclua perguntas já respondidas, preferências estilísticas triviais ou detalhes de execução de planejamento (a menos que bloqueiem a correção).
90
+ - Priorize esclarecimentos que reduzam risco de retrabalho posterior ou evitem testes de aceitação desalinhados.
91
+ - Se mais de 5 categorias permanecerem sem resolução, selecione as 5 principais pelo critério heurístico (Impacto * Incerteza).
92
+
93
+ 4. Loop de questionamento sequencial (interativo):
94
+ - Apresente EXATAMENTE UMA pergunta por vez.
95
+ - Se estivermos esclarecendo um PRD, não pergunte sobre microinterações. Deixe para esclarecer microinteração apenas na fase de criação de histórias e tarefas.
96
+ - Para perguntas de múltipla escolha:
97
+ - **Analise todas as opções** e determine a **opção mais adequada** com base em:
98
+ - Melhores práticas para o tipo de projeto
99
+ - Padrões comuns em implementações similares
100
+ - Redução de risco (segurança, desempenho, manutenibilidade)
101
+ - Alinhamento com quaisquer metas ou restrições explícitas do projeto visíveis na spec
102
+ - Apresente a **opção recomendada** de forma destacada no topo com uma explicação clara (1-2 frases explicando por que é a melhor escolha).
103
+ - Formate como: `**Recomendado:** Opção [X] - <justificativa>`
104
+ - Em seguida, renderize todas as opções em uma tabela Markdown:
105
+
106
+ | Option | Description |
107
+ |--------|-------------|
108
+ | A | <Descrição da Opção A> |
109
+ | B | <Descrição da Opção B> |
110
+ | C | <Descrição da Opção C> (adicione D/E conforme necessário até 5) |
111
+ | Short | Forneça uma resposta curta diferente (<=5 palavras) (Inclua somente se alternativa livre fizer sentido) |
112
+
113
+ - Após a tabela, adicione: `Você pode responder com a letra da opção (por exemplo, "A"), aceitar a recomendação dizendo "sim" ou "recomendado", ou fornecer sua própria resposta curta.`
114
+ - Para perguntas de resposta curta (sem opções discretas significativas):
115
+ - Forneça sua **resposta sugerida** com base nas melhores práticas e no contexto.
116
+ - Formate como: `**Sugerido:** <sua resposta proposta> - <breve justificativa>`
117
+ - Depois, escreva: `Formato: Resposta curta (<=5 palavras). Você pode aceitar a sugestão dizendo "sim" ou "sugerido", ou fornecer sua própria resposta.`
118
+ - Após o usuário responder:
119
+ - Se o usuário responder com “sim”, “recomendado” ou “sugerido”, use a recomendação/sugestão previamente apresentada como resposta.
120
+ - Caso contrário, valide se a resposta corresponde a uma opção ou se respeita a restrição de <=5 palavras.
121
+ - Se estiver ambígua, peça um rápido esclarecimento (conta ainda como a mesma pergunta; não avance).
122
+ - Assim que estiver satisfatória, registre-a na memória de trabalho (ainda sem gravar em disco) e avance para a próxima pergunta enfileirada.
123
+ - Pare de fazer perguntas adicionais quando:
124
+ - Todas as ambiguidades críticas forem resolvidas cedo (itens restantes na fila tornam-se desnecessários), OU
125
+ - O usuário sinalizar conclusão (“done”, “good”, “no more”), OU
126
+ - Você atingir 5 perguntas realizadas.
127
+ - Nunca revele previamente perguntas futuras na fila.
128
+ - Se não houver perguntas válidas no início, relate imediatamente que não existem ambiguidades críticas.
129
+
130
+ 5. Integração após CADA resposta aceita (abordagem de atualização incremental):
131
+ - Mantenha uma representação em memória da spec (carregada uma única vez no início) além do conteúdo bruto do arquivo.
132
+ - Para a primeira resposta integrada nesta sessão:
133
+ - Garanta que exista uma seção `## Clarifications` (crie-a logo após a seção contextual/de visão geral de nível mais alto conforme o template da spec, se estiver ausente).
134
+ - Sob ela, crie (se não existir) um subtítulo `### Session YYYY-MM-DD` para hoje.
135
+ - Acrescente imediatamente após a aceitação um item em bullet: `- Q: <pergunta> → A: <resposta final>`.
136
+ - Em seguida, aplique a clarificação diretamente nas seções mais apropriadas:
137
+ - Ambiguidade funcional → Atualize ou adicione um bullet em Requisitos Funcionais.
138
+ - Interação do usuário / distinção de atores → Atualize a subseção de Histórias de Usuário ou Atores (se existir) com o papel, restrição ou cenário esclarecido.
139
+ - Forma de dados / entidades → Atualize o Modelo de Dados (adicione campos, tipos, relacionamentos) preservando a ordem; registre restrições adicionadas de forma sucinta.
140
+ - Restrição não funcional → Adicione/modifique critérios mensuráveis na seção de Não Funcionais / Atributos de Qualidade (converta adjetivos vagos em métricas ou metas explícitas).
141
+ - Caso limite / fluxo negativo → Acrescente um novo bullet em Casos Limite / Tratamento de Erros (ou crie tal subseção se o template tiver placeholder).
142
+ - Conflito de terminologia → Normalize o termo na spec; mantenha o original apenas se necessário adicionando `(anteriormente referido como "X")` uma única vez.
143
+ - Se o esclarecimento invalidar uma afirmação ambígua anterior, substitua essa afirmação em vez de duplicá-la; não deixe texto contraditório.
144
+ - Salve o arquivo da spec APÓS cada integração para minimizar risco de perda de contexto (sobrescrita atômica).
145
+ - Preserve a formatação: não reordene seções não relacionadas; mantenha a hierarquia de headings intacta.
146
+ - Mantenha cada clarificação inserida mínima e testável (evite desvio narrativo).
147
+
148
+ 6. Validação (executada após CADA escrita e no passe final):
149
+ - A sessão de clarificações contém exatamente um bullet por resposta aceita (sem duplicatas).
150
+ - Total de perguntas feitas (aceitas) ≤ 5.
151
+ - Seções atualizadas não contêm placeholders vagos remanescentes que a nova resposta deveria resolver.
152
+ - Nenhuma afirmação anterior contraditória permanece (verifique se alternativas agora inválidas foram removidas).
153
+ - Estrutura Markdown válida; únicos headings novos permitidos: `## Clarifications`, `### Session YYYY-MM-DD`.
154
+ - Insira as sessões de esclarecimento após o bloco de Requisitos.
155
+ - Consistência de terminologia: mesmo termo canônico usado em todas as seções atualizadas.
156
+
157
+ 7. Escreva a spec atualizada de volta em `FEATURE_SPEC`.
158
+
159
+ 8. Informe a conclusão (após o término do loop de perguntas ou encerramento antecipado):
160
+ - Número de perguntas feitas & respondidas.
161
+ - Caminho para a spec atualizada.
162
+ - Seções tocadas (liste os nomes).
163
+ - Tabela de resumo de cobertura listando cada categoria da taxonomia com Status: Resolvido (era Parcial/Ausente e foi tratada), Adiado (excede a cota de perguntas ou melhor tratar no planejamento), Claro (já estava suficiente), Pendente (ainda Parcial/Ausente mas de baixo impacto).
164
+ - Se restarem itens Pendentes ou Adiados, recomende prosseguir para `/product/prod.spec.plan.md` ou rodar `/product/prod.spec.clarify.md` novamente após o planejamento.
165
+ - Próximo comando sugerido.
166
+
167
+ Regras de comportamento:
168
+
169
+ - Se nenhuma ambiguidade significativa for encontrada (ou se todas as perguntas potenciais forem de baixo impacto), responda: “Nenhuma ambiguidade crítica detectada que valha esclarecimento formal.” e sugira prosseguir.
170
+ - Se o arquivo da spec estiver ausente, instrua o usuário a rodar `/product/prod.spec.md` primeiro (não crie uma nova spec aqui).
171
+ - Nunca exceda 5 perguntas feitas no total (reformulações de uma mesma pergunta não contam como novas).
172
+ - Evite perguntas especulativas sobre stack tecnológica, a menos que a ausência bloqueie a clareza funcional.
173
+ - Respeite sinais de encerramento antecipado do usuário (“stop”, “done”, “proceed”).
174
+ - Se nenhuma pergunta for feita devido à cobertura completa, forneça um resumo de cobertura compacto (todas as categorias Claras) e sugira avançar.
175
+ - Se a cota for atingida com categorias de alto impacto ainda não resolvidas, destaque-as explicitamente como Adiadas com a justificativa.
176
+
@@ -0,0 +1,107 @@
1
+ ---
2
+ name: prod.spec.epic
3
+ description: Fluxo de trabalho para criação de épicos que agrupam histórias de usuários e tarefas relacionadas seguindo as diretrizes do Product Spec Kit.
4
+ auto_execution_mode: 3
5
+ env_file: "@/ENV.md"
6
+ recommended_model: gpt-4o
7
+ model_tier: medium
8
+ model_justification: Criação de épicos segue templates estruturados e requer compreensão de contexto de produto
9
+ ---
10
+
11
+ # Crie um fluxo de trabalho épico
12
+
13
+ Este fluxo de trabalho orienta você na criação de um épico usando `$PROD_TEMPLATES/prod-epic-template.md`. épicos agrupam histórias de usuários relacionadas que oferecem uma funcionalidade significativa.
14
+
15
+
16
+ ## Quando usar
17
+ - Ao dividir grandes recursos ou PRDs em partes gerenciáveis
18
+ - Quando o trabalho abrange vários sprints ou iterações
19
+ - Ao coordenar o trabalho entre várias equipes
20
+ - Se precisar agrupar várias histórias ou tasks de um mesmo tema ou entrega
21
+ - Para recursos ou componentes principais que precisam de rastreamento em um nível superior
22
+ - Quando o usuári quiser criar um épico independente de especificações anteriores ou para projetos que já estão em andamento
23
+
24
+ ## Pré-requisitos e opcionais
25
+ - Ter uma PRD existente ou requisitos de produto é importante, mas opcional. Questione o usuário se ele deseja criar um PRD ou se ele deseja criar um épico independente de especificações anteriores ou para projetos que já estão em andamento
26
+ - Ter um breakdown existente é importante, mas opcional. Questione o usuário se ele deseja criar um breakdown (siga o fluxo de trabalho `prod.spec.breakdown.md`) ou se ele deseja criar um épico independente de especificações anteriores ou para projetos que já estão em andamento
27
+ - Compreensão de alto nível da abordagem técnica
28
+
29
+ ## Resultado final
30
+ - Por padrão, use o modelo `$PROD_TEMPLATES/prod-epic-template.md` integralmente
31
+ - Siga a estrutura do modelo exatamente como definida, não pule passos, a não ser que o usuário solicite explicitamente
32
+ - Nomeie o arquivo usando a convenção: `$PROD_DOCS/{epic-ID}-{epic-name}.md` (se não existir uma PRD para pegar o nome, ignore esse prefixo)
33
+ - O arquivo final deverá estar no mesmo idioma da interação do usuário
34
+
35
+ ## Diretrizes do épico
36
+ - Concentre-se no “o que” e não no “como”
37
+ - Cada épico deve agregar valor independente
38
+ - Mantenha os épicos em um tamanho gerenciável (normalmente de 2 a 4 semanas de trabalho)
39
+ - Garantir critérios de aceitação claros, não levando para o micro interações de usuário (isso fica em histórias e tasks), mas sim na solução de alto nível, possibilitando que as histórias e tasks sejam criadas com base nessas informações
40
+ - Link para PRD relacionado ou iniciativa dos pais
41
+
42
+ ## Etapas de execução
43
+
44
+ ### 1. Validar pré-requisitos
45
+ Verifique se existe um PRD ou plano de detalhamento. Caso contrário, oriente o usuário a criar um primeiro usando o fluxo de trabalho apropriado.
46
+
47
+ ### 2. Defina detalhes épicos
48
+ 1. **Nome épico**: título claro e voltado para a ação
49
+ 2. **Lançamento**: Lançamento associado (se aplicável)
50
+ 3. **Contexto**: Antecedentes e importância
51
+ 4. **Declaração do problema**: qual problema do usuário ou da empresa isso resolve
52
+ 5. **Solução**: abordagem de alto nível para resolver o problema
53
+
54
+ ### 3. Definir critérios de aceitação
55
+ - Definir 3-5 critérios de aceitação de alto nível
56
+ - Concentre-se nos resultados e não nos detalhes da implementação
57
+ - Garantir que os critérios sejam testáveis e mensuráveis
58
+ - Baseie-se nas necessidades do usuário, não em detalhes técnicos
59
+
60
+ ### 4. Identifique histórias relacionadas
61
+ - Liste histórias de usuários conhecidas que pertencem a este épico
62
+ - Cada história deve ser valiosa de forma independente
63
+ - Incluir IDs de histórias e breves descrições
64
+ - Defina prioridades sempre que possível
65
+
66
+ ### 5. Considerações técnicas do documento
67
+ - Principais decisões de arquitetura
68
+ - Dependências principais
69
+ - Considerações de desempenho
70
+ - Requisitos de segurança
71
+
72
+ ## Melhores práticas
73
+
74
+ ### Do
75
+ - Mantenha os épicos focados em um único objetivo
76
+ - Garantir que cada épico ofereça valor tangível
77
+ - Torne os critérios de aceitação claros e testáveis
78
+ - Alinhar com estratégia de produto e PRD
79
+ - Incluir as partes interessadas relevantes na revisão
80
+
81
+ ### Don't
82
+ - Faça épicos muito grandes ou muito pequenos
83
+ - Incluir detalhes de implementação nos critérios de aceitação
84
+ - Esquecer de vincular a PRDs relacionados ou iniciativas dos pais
85
+ - Ignorar dependências técnicas
86
+ - Ignore o processo de revisão
87
+
88
+ ## Integração com outros fluxos de trabalho
89
+ - **PRD**: os épicos devem estar alinhados aos requisitos do produto. Se não existir um PRD, oriente o usuário a criar um usando o fluxo em `prod.spec.prd.md` ou a fornecer mais informações para que o épico seja construído
90
+ - **Histórias**: eventualmente os épicos serão divididos em diversas histórias de usuários ou tasks, então, mantenha as informações de forma que isso seja possível
91
+ - **Sprints**: os épicos normalmente abrangem vários sprints ou semanas, abrangendo várias entregas menores em formatos de histórias e tasks
92
+ - **Problemas**: pode gerar tarefas ou bugs relacionados
93
+
94
+ ## Próximas etapas
95
+ Depois de criar um épico, pergunte para o usuário:
96
+ 1. Se o ele quer explorar ou modificar algum tópico do épico ou se aprova o conteúdo final
97
+ 1. Escrever as histórias de usuário ou tasks relacionadas ao épico que forma planejadas e/ou que o usuário sugeriu. Utilize o fluxo de trabalho `prod.spec.issue.md`
98
+
99
+ ## Atualize os docs
100
+ Após a aprovação do usuário:
101
+ 1. Atualize a PRD com as alterações relacionadas ao épico
102
+ 2. Atualize o arquivo de breakdown (plan) com as alterações relacionadas ao épico
103
+
104
+ Utilize o que o usuário fornecer analisar em:
105
+ <requirement>
106
+ #$ARGUMENTS
107
+ </requirement>
@@ -0,0 +1,135 @@
1
+ ---
2
+ name: prod.spec.frd
3
+ description: Fluxo para criação de FRD (Feature Requirements Document), que auxilia na definição detalhada dos requisitos funcionais de uma feature
4
+ auto_execution_mode: 3
5
+ env_file: "@/ENV.md"
6
+ allowed-tools: Read, Grep
7
+ recommended_model: claude-sonnet-4-20250514
8
+ model_tier: high
9
+ model_justification: FRDs requerem análise detalhada de requisitos funcionais, comportamento de usuário e especificações técnicas
10
+ ---
11
+
12
+ # FRD - Feature Requirements Document
13
+
14
+ Utilize o `$ARGUMENTS` que o usuário passar como ponto de partida e para entender o contexto do que foi pedido.
15
+ <requirement>
16
+ #$ARGUMENTS
17
+ </requirement>
18
+
19
+ ## Quando usar
20
+ - Quando é necessário documentar requisitos funcionais detalhados para uma feature
21
+ - Antes do desenvolvimento para garantir clareza sobre o que deve ser construído
22
+ - Para alinhar equipes técnicas e de produto sobre os requisitos esperados
23
+ - Para documentar critérios de aceitação claros e testáveis
24
+ - Para descrever o funcionamento detalhado da feature a partir do comportamento do usuário, de especificações de produto e de design
25
+
26
+ ## Princípios Fundamentais
27
+ 1. **Sempre use o template** localizado em `$SKILL_TEMPLATE_FOLDER/prod-frd-template.md`
28
+ 2. **Nunca crie o arquivo final com suposições não validadas** — sempre confirme sugestões primeiro
29
+ 3. **Seja inteligente, não robótico** — analise o contexto e proponha sugestões inteligentes, não faça perguntas vazias
30
+
31
+ ---
32
+
33
+ ## Sobre a atuação e função de uma FRD
34
+
35
+ A FRD não é um épico, história ou task: ela serve como documento de detalhamento que descreve profundamente os requisitos funcionais e não funcionais de uma solução de produto, atuando como ponte entre a especificação de produto e o código. Ela unifica requisitos e critérios da funcionalidade do ponto de vista de produto, usuário, design e técnico.
36
+
37
+ - A partir de FRDs é possível criar épicos, histórias e tasks
38
+ - FRDs são relacionadas a PRDs e também a ARDs
39
+ - FRDs são formadas por features, ações e jornadas que o usuário executa na plataforma
40
+ - FRD não é um produto, mas uma solução dentro de um produto
41
+ - Dentro das FRDs devem ter as descrições micro de ações e sub-funcionalidades
42
+ - Uma FRD descreve a solução nível médio, que faz parte de um produto ou solução maior descrita no PRD
43
+ - A FRD precisa descrever o comportamento do usuário e do sistema de forma detalhada, agrupando micro-ações e jobs to be done do usuário
44
+
45
+ ---
46
+
47
+ ## Fluxo de Trabalho
48
+
49
+ O fluxo é dividido em checkpoints obrigatórios (gates). Você NÃO DEVE avançar para o próximo gate até que o usuário aprove explicitamente o atual. NUNCA gere o arquivo final até que TODOS os gates sejam aprovados.
50
+
51
+ Não busque validação de tudo de uma vez; valide os gates de forma incremental.
52
+
53
+ ### Gate 1: Reconhecer e contextualizar
54
+
55
+ - Reconheça o que o usuário forneceu (liste o que foi recebido)
56
+ - Utilize o contexto fornecido pelo usuário ou pelo agente para criar o output final
57
+ - Se houverem PRDs, liste-as para que o usuário possa escolher qual é o PRD de origem desta FRD. Se não houver PRD, pergunte se o usuário quer criar uma antes ou continuar sem PRD relacionada
58
+ - Faça 2–3 perguntas estratégicas sobre: escopo da feature, usuário impactado, restrições técnicas ou de design conhecidas
59
+ - **PARE e aguarde a resposta do usuário antes de prosseguir**
60
+
61
+ ### Gate 2: Lista de Features e Jornada do Usuário
62
+
63
+ - Pergunte para o usuário se ele já tem informações de features relacionadas a essa FRD
64
+ - Proponha a lista de features que compõem este FRD — cada feature deve ser uma funcionalidade específica e implementável, e não uma tarefa técnica ou história de usuário
65
+ - Utilize as informações do usuário para escrever uma descrição de até 350 caracteres de cada feature, sintetizando o que aquela feature deve fazer e o seu resultado
66
+ - Formato: "Para a feature [Nome], sugiro: [descrição]. Justificativa: [por quê].
67
+ - Apresente um rascunho da jornada do usuário com base no que foi fornecido. Pergunte se o usuário tem artefatos de design (layouts, imagens, diagramas, links de Figma ou similares) que possam enriquecer a jornada
68
+ - **PARE e aguarde confirmação do usuário antes de prosseguir**
69
+
70
+ ### Gate 3: Sugerir conteúdo para seções ausentes
71
+
72
+ - Para CADA seção do template que o usuário NÃO forneceu conteúdo explicitamente, apresente suas sugestões com justificativa. Se o usuário pular, não inclua o bloco no output final
73
+ - Agrupe sugestões relacionadas (ex.: todos os requisitos juntos, todas as dependências juntas)
74
+ - Formato: "Para [Nome da Seção], sugiro: [conteúdo]. Justificativa: [por quê]. Devo incluir, modificar ou remover?"
75
+ - Seções que DEVEM ser validadas se não fornecidas: TL;DR, Introdução e contexto, Requisitos e critérios, Dependências, O que essa solução não é
76
+ - Se você identificar que está em uma pasta que contém o código do projeto/produto, procure entender o contexto. Mostre uma sugestão para o usuário de critérios técnicos do que você encontrou (endpoints, tabelas, tecnologias), e pergunte se ele quer confirmar, validar ou deixar para depois. Se depois, preencha apenas com comportamentos de produto e do usuário
77
+ - **PARE e aguarde o usuário aprovar, modificar ou rejeitar CADA grupo de sugestões antes de prosseguir**
78
+
79
+ ### Gate 4: Gerar output final
80
+
81
+ - Se está modificando uma FRD existente, atualize apenas as seções alteradas ou especificadas pelo usuário. Não modifique o arquivo sem pedido explícito
82
+ - Somente após os Gates 1–3 aprovados, gere o output final usando o template em `$SKILL_TEMPLATE_FOLDER/prod-frd-template.md`
83
+ - O output deve conter APENAS: conteúdo fornecido pelo usuário + sugestões aprovadas, seguindo o template
84
+ - Se uma seção não tiver conteúdo fornecido ou aprovado, deixe em branco com marcador TODO e informe o usuário
85
+
86
+ ---
87
+
88
+ ## Abordagens por Contexto
89
+
90
+ **Contexto rico** (documento, PRD ou requisitos detalhados fornecidos):
91
+ - Analise o que está completo vs. o que está faltando
92
+ - Sugira complementos com raciocínio: "Com base em X, sugiro Y porque Z. Está correto?"
93
+ - Agrupe sugestões relacionadas
94
+
95
+ **Contexto mínimo** (apenas uma ideia ou nome de feature):
96
+ - Faça perguntas direcionadas para o TL;DR (O QUÊ / POR QUÊ / COMO)
97
+ - Infira contexto adicional e valide: "A partir das suas respostas, infiro X. Devo incluir isso?"
98
+
99
+ **Feature de projeto existente**:
100
+ - Leia o código-fonte, documentos e FRDs existentes primeiro
101
+ - Sugira a jornada e as features com base na análise para confirmação
102
+
103
+ **Design disponível**:
104
+ - Use os artefatos de design (Figma, imagens) como fonte primária para a jornada
105
+ - Derive os requisitos a partir dos fluxos de tela, não ao contrário
106
+
107
+ ---
108
+
109
+ ## Padrões de Qualidade
110
+
111
+ ✅ **Boa sugestão**: Contextual, específica, orientada ao comportamento do usuário
112
+ ```
113
+ Com base no fluxo de cadastro de oficinas, sugiro como requisito:
114
+ "Quando o usuário clica em 'Salvar', o sistema valida os campos obrigatórios
115
+ em tempo real e exibe mensagens de erro inline abaixo de cada campo inválido."
116
+
117
+ Isso cobre o comportamento esperado e o estado de erro. Posso usá-lo?
118
+ ```
119
+
120
+ ❌ **Má sugestão**: Genérica, sem comportamento definido
121
+ ```
122
+ O sistema deve validar os dados do formulário.
123
+ ```
124
+
125
+ ---
126
+
127
+ ## Evite
128
+ - Perguntas vazias sem sugestões quando há contexto disponível
129
+ - Perguntar sobre cada pequeno detalhe separadamente
130
+ - Misturar requisitos funcionais com não funcionais no mesmo item
131
+ - Requisitos vagos ou não testáveis ("o sistema deve ser rápido")
132
+ - Combinar múltiplos comportamentos em um único requisito
133
+ - Inventar jornadas, fluxos ou restrições técnicas sem base no input do usuário
134
+ - Criar o documento final antes de o usuário validar as suposições
135
+ - Superengenheirar — foque nas necessidades principais, não em casos extremos desnecessários
@@ -0,0 +1,145 @@
1
+ ---
2
+ name: prod.spec.issue
3
+ description: Criar um especificação de issues como Histórias de Usuário, Tarefas técnicas e bugs, seguindo as melhores práticas de gestão de produto e projeto.
4
+ auto_execution_mode: 3
5
+ env_file: "@/ENV.md"
6
+ recommended_model: gpt-4o
7
+ model_tier: medium
8
+ model_justification: Criação de issues é estruturada e segue templates, requer boa compreensão mas não raciocínio extremamente complexo
9
+ ---
10
+
11
+ # Fluxo de Criação de Issues
12
+
13
+ Antes de iniciar, revise o arquivo de regras invioláveis em `$PROD_RULES/prod-spec-rules.md`.
14
+
15
+ Este fluxo orienta você na criação de issues (histórias de usuários, tarefas, bugs etc) bem definidas usando o template `$PROD_TEMPLATES/prod-issue-template.md`. Cada issue deve ser uma unidade de trabalho autocontida que pode ser completada dentro de uma única sprint.
16
+
17
+ Uma issue é a menor unidade de trabalho que pode ser feita. Ela deve entregar valor sozinha. Ela precisa ser o menor tamanho possível para entregar rápido e com qualidade, mas não pode ser tão pequena que não entrega valor percebido para o usuário ou para o produto.
18
+
19
+ Um grupo de histórias de um mesmo assunto podem formar um épico.
20
+
21
+ ## Quando Usar
22
+ - Ao decompor épicos em histórias de usuário implementáveis
23
+ - Criar tarefas técnicas
24
+ - Criar requisitos não funcionais
25
+ - Documentar e rastrear bugs
26
+ - Quando você precisa capturar trabalho que não requer documentação completa de PRD
27
+ - Para qualquer item de trabalho que precisa ser rastreado em uma sprint ou que necessita ser feita no projeto
28
+ - Para criar ou modificar novas funcionalidades, jornadas, ações de usuário e outras modificações dentro do projeto
29
+
30
+ ## Pré-requisitos
31
+ - Entendimento claro do trabalho a ser feito. Leia a PRD, épicos, histórias criadas anteriormente para entender o contexto a ser feito.
32
+ - Entenda também últimos commits do projeto e outras alterações que possam ter sido feitas em sessões anteriores
33
+ - Se não houver uma PRD ou épico relacionado, sugira para o usuário a criação do épico ou da PRD, mas é totalmente opcional
34
+ - Referências de design (para histórias de usuário)
35
+ - Quaisquer restrições técnicas ou requisitos relevantes
36
+
37
+ ## Resultado Final
38
+ - Siga a estrutura exata do template `$PROD_TEMPLATES/prod-issue-template.md`
39
+ - Convenção de nomenclatura: `{issue_type}-{id}-{issue_name}.md` (ex: story-123-fluxo-lembrar-senha.md)
40
+ - O idioma do arquivo deve corresponder ao idioma de interação do usuário
41
+ - Se o usuário não tiver um título claro, crie um título baseado no conteúdo do arquivo e no contexto do épico
42
+ - Uma História ou Task pode ou não ter subtasks. Sugira as subtasks que são as menores partes da issue para guiar o PM ou o Dev na criação dessas histórias ou tasks.
43
+ - Se o usuário pedir para salvar no `$TASK_MANAGER`, leia `TASK_MANAGER`, `TOKEN_TASK_MANAGER` e `TASK_MANAGER_URL_BASE` no ENV.md e use `eng-task-comment` / adapter do vendor (jira | linear | github | asana).
44
+ - Se `TASK_MANAGER` estiver vazio (freelance) ou faltar token/URL, **não invente board** — pergunte as informações necessárias ou salve só o markdown local.
45
+
46
+ ## Estrutura da Issue
47
+
48
+ ### 1. Título e Metadados
49
+ - **Título**: Título claro e orientado à ação (ex: "Implementar Formulário de Login do Usuário")
50
+ - **PRD Relacionada**: Link para a PRD pai, se aplicável
51
+ - **Épico Relacionado**: Link para o épico pai, se aplicável
52
+ - **Tipo**: História/Tarefa/Bug
53
+ - **Prioridade**: Alta/Média/Baixa
54
+
55
+ ### 2. Contexto
56
+
57
+ Deve descrever o contexto do problema ou funcionalidade a ser implementada:
58
+ - Informações de contexto
59
+ - Valor de negócio
60
+ - Como se encaixa no panorama maior
61
+ - Qualquer pesquisa de usuário ou dados relevantes
62
+
63
+ Para resumir a ação final que deve ser feita, use o formato abaixo:
64
+ ```
65
+ **Como** [papel do usuário]
66
+ **Eu quero** [objetivo]
67
+ **Para que** [benefício/valor]
68
+ ```
69
+
70
+ #### Assets de Design
71
+ - Links para mockups/wireframes
72
+ - Referências do design system
73
+ - Links de protótipos
74
+
75
+ Se usuário não tiver fornecido os links ou os assets de design, questione se podemos avançar sem eles. Se ele aprover, continue. Se ele entregar os assets, liste-os no template. Se ele enviar imagens, utilize-as como referência, entendendo os principais pontos e fluxos descritos no design.
76
+
77
+ ### 3. Critérios de Aceitação
78
+ - Siga o formato do template
79
+ - Agrupe critérios relacionados sob subtítulos claros
80
+ - Inclua todos os cenários possíveis e casos extremos
81
+ - Seja específico sobre elementos de UI e comportamento
82
+ - Inclua estados de erro e validações
83
+
84
+ Exemplo:
85
+ ```
86
+ #### Fluxo de Autenticação
87
+ - Quando o usuário clicar no botão "Login" na página inicial, o sistema exibe modal de login
88
+ - Quando o usuário inserir formato de email inválido, o sistema exibe mensagem de erro abaixo do campo
89
+ - Quando a autenticação falhar, o sistema mostra mensagem de erro específica
90
+ - Após login bem-sucedido, o sistema redireciona para o dashboard do usuário
91
+ ```
92
+
93
+ ### 4. Requisitos Técnicos
94
+ Nesse bloco, você deve ser explicito sobre como serão organizados os requisitos técnicos e defuncionamento. Utilize FRD para descrever os requisitos técnicos.
95
+ - Orientações de implementação (sugestões, não requisitos)
96
+ - Considerações de performance
97
+ - Requisitos de segurança
98
+ - Requisitos de dados
99
+ - Dependências
100
+
101
+ ### 5. Casos Extremos e Tratamento de Erros
102
+ - Liste potenciais casos extremos
103
+ - Defina como o sistema deve lidar com cada caso
104
+ - Inclua mensagens de erro amigáveis ao usuário
105
+
106
+ ### 6. Fora do Escopo
107
+ - Declare claramente o que não está incluído
108
+ - Referencie melhorias futuras se necessário
109
+
110
+ ## Melhores Práticas
111
+
112
+ ### Para Histórias de Usuário
113
+ - Foque nas necessidades do usuário, não na implementação
114
+ - Deixe as histórias descritivas para que agentes de IA possam construir as features corretas
115
+ - Torne-as independentes e negociáveis. As histórias devem entregar valor para o usuário ou para o produto en suas entregas.
116
+ - Elas devem ser o menor tamanho possível para entregar rápido e com qualidade, mas não pode ser tão pequena que não entrega valor percebido para o usuário ou para o produto.
117
+ - Garanta que sejam valiosas para os usuários
118
+
119
+ ### Para Tarefas
120
+ - Seja específico sobre o que precisa ser feito
121
+ - Inclua critérios de sucesso
122
+ - Anote quaisquer dependências
123
+ - Estime o esforço se possível
124
+ - Torne-as independentes e negociáveis
125
+ - Elas devem ser o menor tamanho possível para entregar rápido e com qualidade, mas não pode ser tão pequena que não entrega valor percebido para o usuário ou para o produto.
126
+
127
+ ### Para Bugs
128
+ - Inclua passos para reproduzir
129
+ - Peça para o usuário se ele tem evidências como vídeos ou imagens para adicionar na história. Se ele enviar, coloque o link no arquivo final, e salve os arquivos em `<project-path>/docs/master-docs/assets/`
130
+ - Documente comportamento esperado vs. real
131
+ - Pergunte detalhes do ambiente, erros no console, mensagens de erro do próprio produto
132
+ - Solicite informações de identificação do cliente, o fluxo que ele seguiu para reproduzir o erro, e quaisquer outros detalhes que possam ajudar a reproduzir o erro
133
+
134
+ ## Armadilhas Comuns
135
+ - Critérios de aceitação vagos ou incompletos
136
+ - Casos extremos faltando
137
+ - Descrições excessivamente técnicas
138
+ - Falta de critérios claros de sucesso
139
+ - Não vincular ao trabalho relacionado
140
+
141
+ ## Pontos de Integração
142
+ - **PRDs**: Devemos atualizar a PRD com as modificações feitas nas FRDs, sem abordar o micro, mas alterações de alto nível.
143
+ - **FRDs**: Devemos atualizar a FRD com as modificações feitas nas issues, sem abordar o micro, mas alterações de alto nível.
144
+ - **Épicos**: Issues como Histórias ou Tasks devem se encaixar no escopo do épico
145
+ - **Código**: Devem referenciar ID da issue nos commits