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,163 @@
1
+ ---
2
+ name: prod.spec.breakdown
3
+ description: Quebra uma especificação de produto grande (Documento de Requisitos de Produto ou Documento de Requisitos Funcionais) em fatias gerenciáveis — versões, épicos e histórias — sem perder o objetivo de valor.
4
+ auto_execution_mode: 3
5
+ env_file: "@/ENV.md"
6
+ recommended_model: claude-sonnet-4-20250514
7
+ model_tier: high
8
+ model_justification: Breakdown de produto exige julgamento de valor, sequenciamento e decomposição em entregas incrementais
9
+ ---
10
+
11
+ # Quebra de especificação (breakdown)
12
+
13
+ Este comando transforma uma especificação **grande demais para executar de uma vez** em um **plano detalhado (breakdown)**: versões / releases, épicos e esboço de histórias ou tarefas — com foco em **valor perceptível ao usuário**, não só em camadas técnicas.
14
+
15
+ Antes de iniciar, revise as regras invioláveis em `$PROD_RULES/**/*`. Se a variável for desconhecida, leia `.$IDE/rules/product/**/*.*`.
16
+
17
+ Guia humano (termos por extenso): `docs/produto/prod.spec.breakdown.md`.
18
+
19
+ Utilize o `$ARGUMENTS` como ponto de partida (caminho da spec, nome da feature ou descrição do que fatiar):
20
+
21
+ <requirement>
22
+ #$ARGUMENTS
23
+ </requirement>
24
+
25
+ ## Quando usar
26
+
27
+ - Documento de Requisitos de Produto ou Documento de Requisitos Funcionais monolítico
28
+ - Time pergunta “por onde começamos?”
29
+ - Precisa de milestones / entregas parciais antes de criar vários épicos à mão
30
+ - Antes de `/prod.spec.epic` em série ou de um tsunami de `/prod.spec.issue`
31
+
32
+ ## Quando **não** usar
33
+
34
+ - Spec ainda ambígua → execute `$PROD_FLOWS/prod.spec.clarify.md` **primeiro**
35
+ - Escopo já cabe em uma história → `$PROD_FLOWS/prod.spec.issue.md`
36
+ - Só quer um único épico sem árvore de releases → `$PROD_FLOWS/prod.spec.epic.md`
37
+ - Quebra de **tech spec** em subtarefas de engenharia → isso é `eng.breakdown-subtasks` (outro domínio)
38
+
39
+ ## Pré-requisitos
40
+
41
+ 1. Existir (ou o usuário apontar) um Documento de Requisitos de Produto e/ou Documento de Requisitos Funcionais em `$PROD_DOCS` (ou path explícito nos argumentos).
42
+ 2. Se não houver spec pai: ofereça criar com `$PROD_FLOWS/prod.spec.prd.md` ou `$PROD_FLOWS/prod.spec.frd.md`. Não invente escopo do zero sem confirmação.
43
+ 3. Se a spec estiver cheia de “talvez” / “depois a gente vê”: sugira clarify antes; só continue se o usuário assumir o risco.
44
+
45
+ ## Skills
46
+
47
+ Use a Skill tool:
48
+
49
+ - **`prod-specs`** — gerar/atualizar o artefato de breakdown conforme o template e padrões do projeto
50
+
51
+ Template canônico do skill: `skills/prod-specs/templates/prod-breakdown-template.md`
52
+ (Se existir cópia em `$PROD_TEMPLATES/prod-breakdown-template.md`, prefira a do `$PROD_TEMPLATES`.)
53
+
54
+ ## Busca no Central Docs (condicional)
55
+
56
+ Se `CENTRAL_DOCS_REPO` estiver no `ENV.md`:
57
+
58
+ 1. `jarvis docs sync --silent` (best-effort)
59
+ 2. Localizar Documento de Requisitos de Produto / funcional relacionado (nome, tags, `TASK_MANAGER_KEY`)
60
+ 3. Usar como contexto; se não achar, seguir com arquivos locais em `$PROD_DOCS`
61
+
62
+ ## Sessões
63
+
64
+ - Rascunhos WIP: `$SESSIONS_DIR/prod/{TASK_MANAGER_KEY}/`
65
+ - Artefato canônico do breakdown: sob a pasta do Documento de Requisitos de Produto pai em `$PROD_DOCS` (não substitua a pasta de sessão pela canônica)
66
+
67
+ ## Resultado esperado
68
+
69
+ 1. Arquivo de **plano detalhado (breakdown)** em Markdown, no idioma da conversa.
70
+ 2. Convenção de nome sugerida (ajuste ao padrão de `prod-rules` se o projeto já tiver um):
71
+
72
+ `$PROD_DOCS/prd-{id}-{slug}/breakdown-{id}-{slug}.md`
73
+
74
+ Se não houver pasta de Documento de Requisitos de Produto, confirme com o usuário onde gravar.
75
+ 3. Árvore validada com o usuário: Versão → Épico → Histórias/tarefas (títulos + intenção de valor).
76
+ 4. Lista ordenada da **primeira fatia recomendada** para começar engenharia.
77
+
78
+ **Não** crie automaticamente dezenas de arquivos de épico/história sem perguntar. O breakdown é o mapa; a materialização usa:
79
+
80
+ - `$PROD_FLOWS/prod.spec.epic.md`
81
+ - `$PROD_FLOWS/prod.spec.issue.md`
82
+
83
+ ## Diretrizes de produto (obrigatórias)
84
+
85
+ - Prefira **fatias verticais** (usuário percebe valor) a fatias só técnicas (“primeiro só o banco”).
86
+ - Cada épico proposto deve ter resultado de usuário em uma frase.
87
+ - Histórias esboçadas devem parecer INVEST o suficiente para virar issue depois (não detalhe aceite micro aqui se for só título — deixe para `prod.spec.issue`).
88
+ - Explicitar **fora de escopo** de cada versão quando fizer diferença de prioridade.
89
+ - Dependências e caminho crítico: só o necessário para não planejar o impossível.
90
+ - Idioma padrão: português do Brasil (salvo pedido do usuário).
91
+ - Nunca inventar métricas, datas ou stakeholders — perguntar ou marcar como pendente.
92
+
93
+ ## Etapas de execução
94
+
95
+ ### 1. Carregar contexto
96
+
97
+ - Ler `$IDE/ENV.md` (pastas `PROD_*`, `SESSIONS_DIR`, `TASK_MANAGER`)
98
+ - Localizar e ler a spec pai (Documento de Requisitos de Produto e/ou Documento de Requisitos Funcionais)
99
+ - Resumir em 3–5 bullets o problema, valor e restrições (confirmar com o usuário se estiver incerto)
100
+
101
+ ### 2. Detectar se precisa de clarify
102
+
103
+ Se houver ambiguidades bloqueantes (papéis, regras de negócio críticas, fora de escopo indefinido):
104
+
105
+ - Oferecer `$PROD_FLOWS/prod.spec.clarify.md`
106
+ - Só seguir no breakdown se o usuário confirmar
107
+
108
+ ### 3. Propor a árvore de entregas
109
+
110
+ Montar rascunho interno (ainda sem gravar arquivo final):
111
+
112
+ ```
113
+ Versão / Release
114
+ └── Épico (valor)
115
+ └── Histórias / tarefas (títulos)
116
+ ```
117
+
118
+ Perguntar **uma coisa por vez** (usar AskUserQuestion se disponível; senão tabela A/B/C/D das prod-rules):
119
+
120
+ - Ordem de valor (o que aprender primeiro com usuários?)
121
+ - Quantas versões fazem sentido agora (evitar over-planning)
122
+ - Se alguma fatia é spike / risco técnico consciente
123
+
124
+ ### 4. Validar o relacionamento
125
+
126
+ Mostrar a árvore ao usuário e **pedir confirmação explícita** antes de gravar o breakdown (o template exige isso).
127
+
128
+ ### 5. Gerar o artefato
129
+
130
+ - Executar skill `prod-specs` com o template de breakdown
131
+ - Preencher resumo, lançamentos, épicos, dependências (seções opcionais só se o usuário pedir ou se forem críticas)
132
+ - Gravar em `$PROD_DOCS/...` (ou path acordado)
133
+ - Atualizar índice/docs existentes se o projeto já tiver índice de produto
134
+
135
+ ### 6. Oferecer próximos comandos
136
+
137
+ Ao final, perguntar o que materializar agora:
138
+
139
+ | Opção | Comando |
140
+ |-------|---------|
141
+ | Criar o primeiro épico | `$PROD_FLOWS/prod.spec.epic.md` |
142
+ | Criar histórias da primeira fatia | `$PROD_FLOWS/prod.spec.issue.md` |
143
+ | Esclarecer um ramo ainda frouxo | `$PROD_FLOWS/prod.spec.clarify.md` |
144
+ | Ir para engenharia na fatia 1 | `/eng.start` (com `TASK_MANAGER_KEY`) |
145
+
146
+ ## Do / Don’t
147
+
148
+ **Do**
149
+
150
+ - Manter rastreio ao documento pai
151
+ - Nomear fatias pelo resultado de usuário
152
+ - Deixar explícito o que **não** entra na versão 1
153
+
154
+ **Don’t**
155
+
156
+ - Transformar breakdown em lista de tarefas de infra sem história de valor
157
+ - Criar 15 épicos “por precaução”
158
+ - Copiar a spec pai inteira no arquivo de breakdown
159
+ - Confundir com `eng.breakdown-subtasks` (tech spec → subtarefas de código)
160
+
161
+ ## Status
162
+
163
+ Itens criados ou referenciados devem respeitar `$ITEM_STATUS` das prod-rules (`icebox`, `in_review`, `backlog`, …). Breakdown recém-criado em geral nasce como `in_review` até o usuário priorizar a versão 1 (`backlog`).
@@ -0,0 +1,178 @@
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
+ Rascunhos WIP (se houver) em `$SESSIONS_DIR/prod/{TASK_MANAGER_KEY}/`. O heading `### Session YYYY-MM-DD` é um log **dentro da spec canônica** — não é a pasta `$SESSIONS_DIR`.
16
+
17
+ 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.
18
+
19
+ Utilize o que o usuário fornecer analisar em:
20
+ <requirement>
21
+ #$ARGUMENTS
22
+ </requirement>
23
+
24
+ Etapas de execução:
25
+
26
+ 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.
27
+
28
+ Ao final do processo, peça ao usuário para confirmar o esclarecimento e liste os itens ausentes, perguntando se ele quer esclarecê-los.
29
+
30
+ Escopo Funcional & Comportamento:
31
+ - Principais objetivos do usuário & critérios de sucesso
32
+ - Declarações explícitas de fora de escopo
33
+ - Diferenciação de papéis / personas dos usuários
34
+
35
+ Domínio & Modelo de Dados:
36
+ - Entidades, atributos, relacionamentos
37
+ - Regras de identidade & unicidade
38
+ - Transições de ciclo de vida/estado
39
+ - Suposições de volume de dados / escala
40
+
41
+ Interação & Fluxo de UX:
42
+ - Jornadas / sequências críticas do usuário
43
+ - Estados de erro/vazio/carregamento
44
+ - Observações de acessibilidade ou localização
45
+
46
+ Atributos de Qualidade Não Funcionais:
47
+ - Desempenho (latência, metas de throughput)
48
+ - Escalabilidade (horizontal/vertical, limites)
49
+ - Confiabilidade & disponibilidade (expectativas de uptime e recuperação)
50
+ - Observabilidade (logging, métricas, sinais de tracing)
51
+ - Segurança & privacidade (authN/Z, proteção de dados, suposições de ameaça)
52
+ - Restrições de compliance / regulatórias (se houver)
53
+
54
+ Integração & Dependências Externas:
55
+ - Serviços/APIs externos e modos de falha
56
+ - Formatos de importação/exportação de dados
57
+ - Suposições de protocolo/versionamento
58
+
59
+ Casos Limite & Tratamento de Falhas:
60
+ - Cenários negativos
61
+ - Rate limiting / throttling
62
+ - Resolução de conflitos (por exemplo, edições simultâneas)
63
+
64
+ Restrições & Trade-offs:
65
+ - Restrições técnicas (linguagem, armazenamento, hospedagem)
66
+ - Trade-offs explícitos ou alternativas rejeitadas
67
+
68
+ Terminologia & Consistência:
69
+ - Termos de glossário canônicos
70
+ - Sinônimos evitados / termos obsoletos
71
+
72
+ Sinais de Conclusão:
73
+ - Testabilidade dos critérios de aceitação
74
+ - Indicadores mensuráveis de Definition of Done
75
+
76
+ Diversos / Placeholders:
77
+ - Marcadores TODO / decisões não resolvidas
78
+ - Adjetivos ambíguos (“robusto”, “intuitivo”) sem quantificação
79
+
80
+ Para cada categoria com status Parcial ou Ausente, adicione uma oportunidade de pergunta candidata, a menos que:
81
+ - O esclarecimento não altere materialmente a estratégia de implementação ou validação
82
+ - A informação seja melhor postergada para a fase de planejamento (anote internamente)
83
+
84
+ 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:
85
+ - Máximo de 10 perguntas no total ao longo de toda a sessão.
86
+ - Cada pergunta deve ser respondida COM:
87
+ - Uma seleção curta de múltipla escolha (2–5 opções distintas, mutuamente exclusivas), OU
88
+ - Uma resposta de uma palavra / frase curta (restrinja explicitamente: “Responda em <=5 palavras”).
89
+ - 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.
90
+ - 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.
91
+ - Exclua perguntas já respondidas, preferências estilísticas triviais ou detalhes de execução de planejamento (a menos que bloqueiem a correção).
92
+ - Priorize esclarecimentos que reduzam risco de retrabalho posterior ou evitem testes de aceitação desalinhados.
93
+ - Se mais de 5 categorias permanecerem sem resolução, selecione as 5 principais pelo critério heurístico (Impacto * Incerteza).
94
+
95
+ 4. Loop de questionamento sequencial (interativo):
96
+ - Apresente EXATAMENTE UMA pergunta por vez.
97
+ - 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.
98
+ - Para perguntas de múltipla escolha:
99
+ - **Analise todas as opções** e determine a **opção mais adequada** com base em:
100
+ - Melhores práticas para o tipo de projeto
101
+ - Padrões comuns em implementações similares
102
+ - Redução de risco (segurança, desempenho, manutenibilidade)
103
+ - Alinhamento com quaisquer metas ou restrições explícitas do projeto visíveis na spec
104
+ - Apresente a **opção recomendada** de forma destacada no topo com uma explicação clara (1-2 frases explicando por que é a melhor escolha).
105
+ - Formate como: `**Recomendado:** Opção [X] - <justificativa>`
106
+ - Em seguida, renderize todas as opções em uma tabela Markdown:
107
+
108
+ | Option | Description |
109
+ |--------|-------------|
110
+ | A | <Descrição da Opção A> |
111
+ | B | <Descrição da Opção B> |
112
+ | C | <Descrição da Opção C> (adicione D/E conforme necessário até 5) |
113
+ | Short | Forneça uma resposta curta diferente (<=5 palavras) (Inclua somente se alternativa livre fizer sentido) |
114
+
115
+ - 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.`
116
+ - Para perguntas de resposta curta (sem opções discretas significativas):
117
+ - Forneça sua **resposta sugerida** com base nas melhores práticas e no contexto.
118
+ - Formate como: `**Sugerido:** <sua resposta proposta> - <breve justificativa>`
119
+ - Depois, escreva: `Formato: Resposta curta (<=5 palavras). Você pode aceitar a sugestão dizendo "sim" ou "sugerido", ou fornecer sua própria resposta.`
120
+ - Após o usuário responder:
121
+ - Se o usuário responder com “sim”, “recomendado” ou “sugerido”, use a recomendação/sugestão previamente apresentada como resposta.
122
+ - Caso contrário, valide se a resposta corresponde a uma opção ou se respeita a restrição de <=5 palavras.
123
+ - Se estiver ambígua, peça um rápido esclarecimento (conta ainda como a mesma pergunta; não avance).
124
+ - 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.
125
+ - Pare de fazer perguntas adicionais quando:
126
+ - Todas as ambiguidades críticas forem resolvidas cedo (itens restantes na fila tornam-se desnecessários), OU
127
+ - O usuário sinalizar conclusão (“done”, “good”, “no more”), OU
128
+ - Você atingir 5 perguntas realizadas.
129
+ - Nunca revele previamente perguntas futuras na fila.
130
+ - Se não houver perguntas válidas no início, relate imediatamente que não existem ambiguidades críticas.
131
+
132
+ 5. Integração após CADA resposta aceita (abordagem de atualização incremental):
133
+ - Mantenha uma representação em memória da spec (carregada uma única vez no início) além do conteúdo bruto do arquivo.
134
+ - Para a primeira resposta integrada nesta sessão:
135
+ - 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).
136
+ - Sob ela, crie (se não existir) um subtítulo `### Session YYYY-MM-DD` para hoje.
137
+ - Acrescente imediatamente após a aceitação um item em bullet: `- Q: <pergunta> → A: <resposta final>`.
138
+ - Em seguida, aplique a clarificação diretamente nas seções mais apropriadas:
139
+ - Ambiguidade funcional → Atualize ou adicione um bullet em Requisitos Funcionais.
140
+ - 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.
141
+ - Forma de dados / entidades → Atualize o Modelo de Dados (adicione campos, tipos, relacionamentos) preservando a ordem; registre restrições adicionadas de forma sucinta.
142
+ - 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).
143
+ - Caso limite / fluxo negativo → Acrescente um novo bullet em Casos Limite / Tratamento de Erros (ou crie tal subseção se o template tiver placeholder).
144
+ - Conflito de terminologia → Normalize o termo na spec; mantenha o original apenas se necessário adicionando `(anteriormente referido como "X")` uma única vez.
145
+ - 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.
146
+ - Salve o arquivo da spec APÓS cada integração para minimizar risco de perda de contexto (sobrescrita atômica).
147
+ - Preserve a formatação: não reordene seções não relacionadas; mantenha a hierarquia de headings intacta.
148
+ - Mantenha cada clarificação inserida mínima e testável (evite desvio narrativo).
149
+
150
+ 6. Validação (executada após CADA escrita e no passe final):
151
+ - A sessão de clarificações contém exatamente um bullet por resposta aceita (sem duplicatas).
152
+ - Total de perguntas feitas (aceitas) ≤ 5.
153
+ - Seções atualizadas não contêm placeholders vagos remanescentes que a nova resposta deveria resolver.
154
+ - Nenhuma afirmação anterior contraditória permanece (verifique se alternativas agora inválidas foram removidas).
155
+ - Estrutura Markdown válida; únicos headings novos permitidos: `## Clarifications`, `### Session YYYY-MM-DD`.
156
+ - Insira as sessões de esclarecimento após o bloco de Requisitos.
157
+ - Consistência de terminologia: mesmo termo canônico usado em todas as seções atualizadas.
158
+
159
+ 7. Escreva a spec atualizada de volta em `FEATURE_SPEC`.
160
+
161
+ 8. Informe a conclusão (após o término do loop de perguntas ou encerramento antecipado):
162
+ - Número de perguntas feitas & respondidas.
163
+ - Caminho para a spec atualizada.
164
+ - Seções tocadas (liste os nomes).
165
+ - 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).
166
+ - 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.
167
+ - Próximo comando sugerido.
168
+
169
+ Regras de comportamento:
170
+
171
+ - 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.
172
+ - 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).
173
+ - Nunca exceda 5 perguntas feitas no total (reformulações de uma mesma pergunta não contam como novas).
174
+ - Evite perguntas especulativas sobre stack tecnológica, a menos que a ausência bloqueie a clareza funcional.
175
+ - Respeite sinais de encerramento antecipado do usuário (“stop”, “done”, “proceed”).
176
+ - Se nenhuma pergunta for feita devido à cobertura completa, forneça um resumo de cobertura compacto (todas as categorias Claras) e sugira avançar.
177
+ - Se a cota for atingida com categorias de alto impacto ainda não resolvidas, destaque-as explicitamente como Adiadas com a justificativa.
178
+
@@ -0,0 +1,154 @@
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
+ Utilize o `$ARGUMENTS` que o usuário passar como ponto de partida e para entender o contexto do que foi pedido.
16
+ <requirement>
17
+ #$ARGUMENTS
18
+ </requirement>
19
+
20
+ ## Quando usar
21
+ - Ao dividir grandes recursos ou PRDs em partes gerenciáveis
22
+ - Quando o trabalho abrange vários sprints ou iterações
23
+ - Ao coordenar o trabalho entre várias equipes
24
+ - Se precisar agrupar várias histórias ou tasks de um mesmo tema ou entrega
25
+ - Para recursos ou componentes principais que precisam de rastreamento em um nível superior
26
+ - Quando o usuári quiser criar um épico independente de especificações anteriores ou para projetos que já estão em andamento
27
+
28
+ ## Pré-requisitos e opcionais
29
+ - 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
30
+ - 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
31
+ - Compreensão de alto nível da abordagem técnica
32
+
33
+ ## Resultado final
34
+ - Por padrão, use o modelo `$PROD_TEMPLATES/prod-epic-template.md` integralmente
35
+ - Siga a estrutura do modelo exatamente como definida, não pule passos, a não ser que o usuário solicite explicitamente
36
+ - 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)
37
+ - O arquivo final deverá estar no mesmo idioma da interação do usuário
38
+
39
+ ## Diretrizes do épico
40
+ - Concentre-se no “o que” e não no “como”
41
+ - Cada épico deve agregar valor independente
42
+ - Mantenha os épicos em um tamanho gerenciável (normalmente de 2 a 4 semanas de trabalho)
43
+ - 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
44
+ - Link para PRD relacionado ou iniciativa dos pais
45
+
46
+ ## Etapas de execução
47
+
48
+ ### 1. Validar pré-requisitos
49
+ 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.
50
+
51
+ ### 2. Defina detalhes épicos
52
+ 1. **Nome épico**: título claro e voltado para a ação
53
+ 2. **Lançamento**: Lançamento associado (se aplicável)
54
+ 3. **Contexto**: Antecedentes e importância
55
+ 4. **Declaração do problema**: qual problema do usuário ou da empresa isso resolve
56
+ 5. **Solução**: abordagem de alto nível para resolver o problema
57
+
58
+ ### 3. Definir critérios de aceitação
59
+ - Definir 3-5 critérios de aceitação de alto nível
60
+ - Concentre-se nos resultados e não nos detalhes da implementação
61
+ - Garantir que os critérios sejam testáveis e mensuráveis
62
+ - Baseie-se nas necessidades do usuário, não em detalhes técnicos
63
+
64
+ ### 4. Identifique histórias relacionadas
65
+ - Liste histórias de usuários conhecidas que pertencem a este épico
66
+ - Cada história deve ser valiosa de forma independente
67
+ - Incluir IDs de histórias e breves descrições
68
+ - Defina prioridades sempre que possível
69
+
70
+ ### 5. Considerações técnicas do documento
71
+ - Principais decisões de arquitetura
72
+ - Dependências principais
73
+ - Considerações de desempenho
74
+ - Requisitos de segurança
75
+
76
+ ## Melhores práticas
77
+
78
+ ### Do
79
+ - Mantenha os épicos focados em um único objetivo
80
+ - Garantir que cada épico ofereça valor tangível
81
+ - Torne os critérios de aceitação claros e testáveis
82
+ - Alinhar com estratégia de produto e PRD
83
+ - Incluir as partes interessadas relevantes na revisão
84
+
85
+ ### Don't
86
+ - Faça épicos muito grandes ou muito pequenos
87
+ - Incluir detalhes de implementação nos critérios de aceitação
88
+ - Esquecer de vincular a PRDs relacionados ou iniciativas dos pais
89
+ - Ignorar dependências técnicas
90
+ - Ignore o processo de revisão
91
+
92
+ ## Integração com outros fluxos de trabalho
93
+ - **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
94
+ - **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
95
+ - **Sprints**: os épicos normalmente abrangem vários sprints ou semanas, abrangendo várias entregas menores em formatos de histórias e tasks
96
+ - **Problemas**: pode gerar tarefas ou bugs relacionados
97
+
98
+ ## Próximas etapas
99
+ Depois de criar um épico, pergunte para o usuário:
100
+ 1. Se o ele quer explorar ou modificar algum tópico do épico ou se aprova o conteúdo final
101
+ 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`
102
+
103
+ ## Atualize os docs
104
+ Após a aprovação do usuário:
105
+ 1. Atualize a PRD com as alterações relacionadas ao épico
106
+ 2. Atualize o arquivo de breakdown (plan) com as alterações relacionadas ao épico
107
+
108
+ ## Busca no Central Docs (condicional)
109
+
110
+ Se `CENTRAL_DOCS_REPO` definido no ENV.md, antes de criar o épico:
111
+
112
+ - Executar busca automática no central-docs:
113
+ ```bash
114
+ jarvis docs sync --silent
115
+ ```
116
+ - Buscar PRD e épicos existentes relacionados usando o contexto do usuário
117
+ - Se PRD ou épico encontrado: carregar como contexto e informar o usuário
118
+ - Se não encontrado: continuar com fluxo normal
119
+
120
+ ## Publicação no Central Docs (condicional)
121
+
122
+ Após salvar o épico localmente e obter aprovação do usuário:
123
+
124
+ 1. Se `CENTRAL_DOCS_REPO` definido no ENV.md:
125
+ - Perguntar ao usuário:
126
+ ```
127
+ Deseja publicar este épico no repositório central de documentação?
128
+ - ( ) Sim, publicar agora
129
+ - ( ) Não, vou publicar depois manualmente
130
+ ```
131
+
132
+ 2. Se **Sim**:
133
+ - Extrair o slug do nome do arquivo (ex: `epic-123-checkout.md` → `checkout`)
134
+ - Executar:
135
+ ```bash
136
+ jarvis docs publish \
137
+ --file {caminho_do_epico} \
138
+ --tipo epic \
139
+ --feature {slug}
140
+ ```
141
+
142
+ 3. Informar resultado:
143
+ - ✅ Sucesso: "Épico publicado no central-docs. MR criado: [URL]"
144
+ - ❌ Erro: Exibir mensagem de erro e orientar troubleshooting
145
+
146
+ 4. Se **Não**:
147
+ - Informar: "Para publicar depois, execute: `jarvis docs publish --file {caminho} --tipo epic --feature {slug}`"
148
+
149
+ > **Nota**: A publicação cria um Merge Request no GitLab. O épico só será visível no central-docs após aprovação e merge do MR.
150
+
151
+ Utilize o que o usuário fornecer analisar em:
152
+ <requirement>
153
+ #$ARGUMENTS
154
+ </requirement>
@@ -0,0 +1,96 @@
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
+ recommended_model: claude-sonnet-4-20250514
7
+ model_tier: high
8
+ model_justification: FRDs requerem análise detalhada de requisitos funcionais, comportamento de usuário e especificações técnicas
9
+ ---
10
+
11
+ # FRD - Functional Requirement Document
12
+
13
+ Este comando tem como objetivo criar, atualizar ou editar uma FRD seguindo o template especificado e as instruções.
14
+
15
+ 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/**/*.*`.
16
+
17
+ Utilize o `$ARGUMENTS` que o usuário passar como ponto de partida e para entender o contexto do que foi pedido.
18
+ <requirement>
19
+ #$ARGUMENTS
20
+ </requirement>
21
+
22
+ ## Skills que devem ser usadas
23
+
24
+ Utilize a Skill tool para executar as skills necessárias:
25
+
26
+ - **Para gerar ou modificar especificações de produto** use a Skill tool para executar a skill `prod-specs` para gerar uma o output final de uma FRD de acordo com os padrões estabelecidos;
27
+
28
+ ## Busca no Central Docs (condicional)
29
+
30
+ Se `CENTRAL_DOCS_REPO` definido no ENV.md:
31
+
32
+ 1. **Buscar PRD correspondente:**
33
+ - Executar busca automática no central-docs:
34
+ ```bash
35
+ jarvis docs sync --silent
36
+ ```
37
+ - Buscar PRD relacionado usando:
38
+ - Nome/contexto fornecido pelo usuário
39
+ - Jira ID (se disponível)
40
+ - Tags semânticas
41
+ - Se PRD encontrado no central-docs:
42
+ - Carregar automaticamente como base para o FRD
43
+ - Informar ao usuário: "✅ PRD encontrado no central-docs: [nome]"
44
+ - Passar como contexto para a skill `prod-specs`
45
+ - Se não encontrado:
46
+ - Perguntar ao usuário se tem PRD localmente
47
+ - Continuar com fluxo normal
48
+
49
+ ## Instruções
50
+
51
+ - Se o usuário forneceu ou está atuando em um projeto existente, priorize obter informações sobre o projeto a partir de:
52
+ - **Central-docs** (se configurado) - busca automática do PRD correspondente
53
+ - Documentação existente (README, docs/, PRDs, FRDs, ARDs, etc.)
54
+ - Commits recentes para entender o que está sendo desenvolvido
55
+ - Arquivos de AI como CLAUDE.md e AGENTS.md para obter informações estruturadas sobre o contexto do projeto/produto.
56
+ - Para fazer perguntas para o usuário, tente usar o tool `AskUserQuestion` se ele estiver disponível no seu ambiente
57
+ - Use a Skill tool para executar a skill `prod-specs` para gerar o output final de acordo com os padrões estabelecidos, enviando as informações que encontrou como contexto
58
+ - Quando receber output disponibilizado pela skill, mostre para o usuário o resultado final para a aprovação e validação.
59
+ - Quando confirmado e validado pelo usuário:
60
+ - Se o usuário estiver modificando ou atualizando uma spec existente, salve o arquivo modificado
61
+ - Se for uma spec nova:
62
+ - Salve na pasta `$PROD_DOCS` seguindo todos os padrões de nomenclatura e estrutura de pastas já estabelecidos em `$PROD_RULES/**/*`
63
+
64
+ ## Publicação no Central Docs (condicional)
65
+
66
+ Após salvar o FRD localmente e obter aprovação do usuário:
67
+
68
+ 1. Se `CENTRAL_DOCS_REPO` definido no ENV.md:
69
+ - Perguntar ao usuário:
70
+ ```
71
+ Deseja publicar este FRD no repositório central de documentação?
72
+ - ( ) Sim, publicar agora
73
+ - ( ) Não, vou publicar depois manualmente
74
+ ```
75
+
76
+ 2. Se **Sim**:
77
+ - Extrair o slug do nome do arquivo (ex: `frd-wallet-saque.md` → `wallet-saque`)
78
+ - Executar:
79
+ ```bash
80
+ jarvis docs publish \
81
+ --file {caminho_do_frd} \
82
+ --tipo frd \
83
+ --feature {slug}
84
+ ```
85
+
86
+ 3. Informar resultado:
87
+ - ✅ Sucesso: "FRD publicado no central-docs. MR criado: [URL]"
88
+ - ❌ Erro: Exibir mensagem de erro e orientar troubleshooting
89
+
90
+ 4. Se **Não**:
91
+ - Informar: "Para publicar depois, execute: `jarvis docs publish --file {caminho} --tipo frd --feature {slug}`"
92
+
93
+ 5. Se `CENTRAL_DOCS_REPO` não estiver definido:
94
+ - Informar: "Para habilitar publicação automática, configure `CENTRAL_DOCS_REPO` no ENV.md"
95
+
96
+ > **Nota**: A publicação cria um Merge Request no GitLab. O FRD só será visível no central-docs após aprovação e merge do MR.