jarvis-ai-framework 1.0.2 → 1.1.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 (45) hide show
  1. package/AGENTS.md +10 -7
  2. package/README.md +2 -0
  3. package/agents/AGENTS.md +4 -3
  4. package/agents/README.md +6 -4
  5. package/agents/product/prod.discovery-interviewer.md +86 -0
  6. package/bin/commands/init.js +1 -1
  7. package/bin/lib/config/constants.js +12 -0
  8. package/bin/lib/core/sync-engine.js +12 -0
  9. package/package.json +2 -4
  10. package/rules/AGENTS.md +1 -1
  11. package/rules/engineering/eng.breakdown-subtasks-rules.md +208 -37
  12. package/rules/engineering/eng.start-rules.md +11 -11
  13. package/rules/engineering/eng.work-rules.md +19 -14
  14. package/rules/product/README.md +2 -0
  15. package/rules/product/prod-rules.md +3 -1
  16. package/{skills/prod-specs/rules/prod-spec-rules.md → rules/product/prod.spec-rules.md} +55 -50
  17. package/skills/SKILLS-ROADMAP.md +2 -6
  18. package/skills/init-jarvis/SKILL.md +1 -1
  19. package/skills/prod-specs/SKILL.md +20 -84
  20. package/templates/AGENTS.md +7 -6
  21. package/templates/ENV-template.md +1 -1
  22. package/templates/product/prod-discovery-template.md +98 -0
  23. package/{skills/prod-specs/templates → templates/product}/prod-epic-template.md +1 -0
  24. package/{skills/prod-specs/templates → templates/product}/prod-frd-template.md +1 -0
  25. package/{skills/prod-specs/templates → templates/product}/prod-issue-template.md +1 -0
  26. package/{skills/prod-specs/templates → templates/product}/prod-prd-template.md +1 -0
  27. package/workflows/AGENTS.md +3 -1
  28. package/workflows/README.md +2 -0
  29. package/workflows/engineering/eng.build-tech-spec.md +37 -48
  30. package/workflows/engineering/eng.work.md +1 -1
  31. package/workflows/engineering/qa/eng.qa-quality-report.md +0 -5
  32. package/workflows/product/prod.spec.breakdown.md +3 -8
  33. package/workflows/product/prod.spec.discovery.md +152 -0
  34. package/workflows/product/prod.spec.epic.md +3 -0
  35. package/workflows/product/prod.spec.frd.md +123 -8
  36. package/workflows/product/prod.spec.issue.md +3 -2
  37. package/workflows/product/prod.spec.md +2 -0
  38. package/workflows/product/prod.spec.prd.md +105 -6
  39. package/skills/prod-specs/references/prod.spec.clarify.md +0 -176
  40. package/skills/prod-specs/references/prod.spec.epic.md +0 -107
  41. package/skills/prod-specs/references/prod.spec.frd.md +0 -135
  42. package/skills/prod-specs/references/prod.spec.issue.md +0 -145
  43. package/skills/prod-specs/references/prod.spec.prd.md +0 -118
  44. package/skills/prod-specs/templates/prod-prd-full-template.md +0 -159
  45. /package/{skills/prod-specs/templates → templates/product}/prod-breakdown-template.md +0 -0
@@ -8,7 +8,7 @@ trigger: always_on
8
8
 
9
9
  ## Propósito
10
10
 
11
- O workflow `work` tem como **único objetivo** implementar código seguindo o plano de execução (`plan.md`). É uma etapa de **codificação pura**, sem commits ou PRs.
11
+ O workflow `work` tem como **único objetivo** implementar código seguindo o plano de execução (`plan.md`). É uma etapa de **codificação**: commita ao final de cada fase validada, mas nunca faz push nem abre PR.
12
12
 
13
13
  ---
14
14
 
@@ -67,19 +67,23 @@ Confirmar que está na branch certa? (s/n)
67
67
 
68
68
  ## Princípios Fundamentais
69
69
 
70
- ### 1. Somente Codificação - NUNCA Commits ou PRs
70
+ ### 1. Codificação com commit por fase - NUNCA push ou PR
71
71
 
72
72
  O `work` é **estritamente proibido** de:
73
73
 
74
74
 
75
- | ❌ Proibido | ✅ Permitido |
76
- | ------------------------------------------- | ----------------------------------- |
77
- | Fazer commits | Escrever código |
78
- | Criar Pull Requests | Criar/modificar arquivos de código |
79
- | Executar`git add`, `git commit`, `git push` | Ler arquivos da sessão |
80
- | Mover cards no Jira | Executar testes locais |
81
- | Fazer merge de branches | Atualizar`plan.md` com progresso |
82
- | Sugerir "vamos fazer o PR agora" | Validar código com o usuário |
75
+ | ❌ Proibido | ✅ Permitido |
76
+ | -------------------------------------------------- | --------------------------------------------------------- |
77
+ | Fazer `git push` | Escrever código |
78
+ | Criar Pull Requests | Criar/modificar arquivos de código |
79
+ | Usar `git add .` | `git add` de arquivos específicos da fase |
80
+ | Commitar sem aprovação do usuário na fase | Commitar ao final da fase validada, com testes passando |
81
+ | Commitar com testes falhando | Executar testes locais |
82
+ | Mover cards no Jira | Ler arquivos da sessão |
83
+ | Fazer merge de branches | Atualizar `plan.md` com progresso |
84
+ | Sugerir "vamos fazer o PR agora" | Validar código com o usuário |
85
+
86
+ O commit segue o formato do workflow (`{TASK_MANAGER_KEY} {tipo}({escopo}): {descrição}`, com `Refs:`). Push e PR são responsabilidade do `eng.pr`.
83
87
 
84
88
  ### 2. Escopo de Atuação
85
89
 
@@ -187,7 +191,7 @@ O workflow segue um ciclo rígido:
187
191
 
188
192
  - Informar que a fase foi concluída
189
193
  - Perguntar se deseja iniciar próxima fase
190
- - ⚠️ **NUNCA sugerir PR ou commit**
194
+ - ⚠️ **NUNCA sugerir push ou PR** (são do `eng.pr`)
191
195
 
192
196
  ---
193
197
 
@@ -243,9 +247,9 @@ O workflow **DEVE pausar e aguardar confirmação**:
243
247
 
244
248
  1. **Escapar para Git**
245
249
 
246
- - "Vou fazer o commit dessas mudanças..."
247
250
  - "Agora podemos criar o PR..."
248
251
  - "Deixa eu dar push das alterações..."
252
+ - `git add .` ou commit com testes falhando
249
253
  2. **Pular validação**
250
254
 
251
255
  - Implementar várias fases sem pausar
@@ -291,7 +295,7 @@ Ao finalizar **TODAS as fases** do `plan.md`, informe:
291
295
  2. Execute os testes completos
292
296
  3. Quando estiver pronto, use `eng.pr` para criar o Pull Request
293
297
 
294
- ⚠️ Este workflow NÃO faz commits ou PRs.
298
+ ⚠️ Este workflow commita por fase, mas NÃO faz push nem PR.
295
299
  Use `eng.pr` quando estiver pronto para submeter.
296
300
  ```
297
301
 
@@ -307,6 +311,7 @@ Antes de considerar uma fase completa:
307
311
  - [ ] Usuário validou o código
308
312
  - [ ] `plan.md` atualizado com status
309
313
  - [ ] Comentários adicionados no plan.md
310
- - [ ] NENHUM commit foi feito
314
+ - [ ] Commit da fase feito (arquivos adicionados um a um, testes passando)
315
+ - [ ] NENHUM push foi feito
311
316
  - [ ] NENHUM PR foi criado
312
317
  - [ ] Próximos passos comunicados
@@ -12,6 +12,7 @@ Documentação didática (termos por extenso, exemplos, quando usar cada comando
12
12
  |---------|--------|
13
13
  | Guia de decisão (qual spec?) | [prod.spec.guide.md](../../docs/produto/prod.spec.guide.md) |
14
14
  | `/prod.spec` | [prod.spec.md](../../docs/produto/prod.spec.md) |
15
+ | `/prod.spec.discovery` | [prod.spec.discovery.md](../../docs/produto/prod.spec.discovery.md) |
15
16
  | `/prod.spec.prd` | [prod.spec.prd.md](../../docs/produto/prod.spec.prd.md) |
16
17
  | `/prod.spec.frd` | [prod.spec.frd.md](../../docs/produto/prod.spec.frd.md) |
17
18
  | `/prod.spec.breakdown` | [prod.spec.breakdown.md](../../docs/produto/prod.spec.breakdown.md) |
@@ -22,3 +23,4 @@ Documentação didática (termos por extenso, exemplos, quando usar cada comando
22
23
  ## Arquivo normativo (agentes)
23
24
 
24
25
  - [`prod-rules.md`](./prod-rules.md) — ENV, pastas, status, convenção de nomes, formato de perguntas
26
+ - [`prod.spec-rules.md`](./prod.spec-rules.md) — princípios de escrita de spec: critérios de aceitação por tipo de documento, contexto completo e terminologia consistente
@@ -42,7 +42,7 @@ Se o arquivo não existir ou no caso de recusa, crie o `$IDE/ENV.md` incluindo a
42
42
  RULES_FOLDER=.$IDE/rules
43
43
  PROD_FOLDER_NAME=product
44
44
  PROD_RULES=$RULES_FOLDER/$PROD_FOLDER_NAME
45
- PROD_FLOWS=.$IDE/$FLOWS_FOLDER/$PROD_FOLDER_NAME
45
+ PROD_FLOWS=.$IDE/$FLOWS_FOLDER
46
46
  PROD_TEMPLATES=.$IDE/$TEMPLATES_FOLDER/$PROD_FOLDER_NAME
47
47
  PROD_DOCS=$DOCS_FOLDER/$PROD_FOLDER_NAME
48
48
  CENTRAL_DOCS_REPO=[USER:LOCAL_CENTRAL_DOCS_REPO]
@@ -95,6 +95,7 @@ Abaixo, segue uma descrição de algumas das variáveis mais importantes para as
95
95
  Sempre siga as instruções de acordo com as relações abaixo.
96
96
  **Guia para humanos (desenvolvedores aprendendo produto):** `docs/produto/` — uma página por comando, termos por extenso.
97
97
 
98
+ - `$PROD_FLOWS/prod.spec.discovery.md` — Investigação inicial de uma ideia (rascunho estruturado; não define tarefas) → [docs/produto/prod.spec.discovery.md](../../docs/produto/prod.spec.discovery.md)
98
99
  - `$PROD_FLOWS/prod.spec.prd.md` — Documento de Requisitos de Produto (*Product Requirements Document*) → [docs/produto/prod.spec.prd.md](../../docs/produto/prod.spec.prd.md)
99
100
  - `$PROD_FLOWS/prod.spec.frd.md` — Documento de Requisitos Funcionais (*Functional Requirements Document*) → [docs/produto/prod.spec.frd.md](../../docs/produto/prod.spec.frd.md)
100
101
  - `$PROD_FLOWS/prod.spec.breakdown.md` — Quebra de especificação grande em fatias → [docs/produto/prod.spec.breakdown.md](../../docs/produto/prod.spec.breakdown.md)
@@ -129,6 +130,7 @@ Dentro das pastas do projeto, os caminhos de pastas e o nome dos arquivos finais
129
130
  - Documento de Requisitos Funcionais: `$PROD_DOCS/prd-{id}-{nome-do-pai}/frd-{id}-{nome}.md`
130
131
  - Épico: `$PROD_DOCS/prd-{id}-{nome-do-pai}/issues/epic-{id}-{nome}.md`
131
132
  - História / tarefa: `$PROD_DOCS/prd-{id}-{nome-do-pai}/issues/{story|task}-{id}-{nome}.md`
133
+ - Discovery (rascunho de uma ideia, anterior ao PRD): `$PROD_DOCS/discoveries/discovery-{id}-{nome}.md`. Usa `status` (`in_review` enquanto o rascunho existe; `cancelled` se o veredito for não seguir) e `verdict` (vazio durante a entrevista, `proceed`, `investigate_more` ou `do_not_proceed`). O veredito é uma recomendação; um PRD, FRD, épico ou issue criado depois prevalece como fonte da verdade.
132
134
 
133
135
  O ID deve ser iterado nos novos arquivos seguindo a sequência existente.
134
136
 
@@ -2,75 +2,39 @@
2
2
  trigger: always_on
3
3
  ---
4
4
 
5
- ## Principais Regras
6
- - O idioma padrão é o português do Brasil. Mas mude caso o usuário solicite outro idioma.
7
- - Sempre procure por arquivos de configuração e documentação do projeto antes de executar qualquer comando ou workflow.
8
- - Leia o `README.md` do projeto para saber contexto e detalhes importantes.
9
- - Nunca invente ou presuma dados ou informações. Se não souber, pergunte, valide e confirme com o usuário.
10
- - Entenda se o projeto é novo ou existente, para criar ou modificar especificações de produto ou técnicas.
11
- - Identifique se o produto é versionado com git e leia o histórico de commits para entender as últimas atualizações.
5
+ > **Applies to:** HUB: all | POSITION: all | AREA: PRODUCT | SQUAD: all
12
6
 
7
+ # Regras de Escrita de Especificação de Produto
13
8
 
14
- ## Diretórios e Variáveis dessa Skill
9
+ ## Objetivo
15
10
 
16
- Utilize essas variáveis para interpretar corretamente o contexto as instruções dessa skill. Os endereços são relativos ao diretório raiz desse plugin:
11
+ Definir os princípios que todo documento de especificação de produto (PRD, FRD, épico, história, tarefa e bug) deve seguir: o nível certo de critérios de aceitação em cada tipo de documento, contexto completo, terminologia consistente e o uso opcional de um discovery como insumo.
17
12
 
18
- **Diretório da skill:** `${CLAUDE_SKILL_DIR}`
13
+ ## Escopo
19
14
 
20
- - `$SKILL_TEMPLATE_FOLDER`: `${CLAUDE_SKILL_DIR}/templates/`
21
- - `$SKILL_REFERENCES_FOLDER`: `${CLAUDE_SKILL_DIR}/references/`
15
+ Aplica-se a todos os comandos `prod.spec.*` que escrevem ou alteram um documento. Complementa o `prod-rules.md` (variáveis de ambiente, comandos, nomes de arquivos, status e perguntas ao usuário), que continua sendo a regra geral de produto.
22
16
 
17
+ ## Regras
23
18
 
24
- ## Perguntas para guiar o usuário
19
+ ### Princípio: Critérios de aceitação e requisitos
25
20
 
26
- Para fazer perguntas ao usuário:
27
- 1. Tente usar o tool `AskUserQuestion` se ele estiver disponível no seu ambiente (ex: Claude Desktop, Claude Cowork, Claude Code CLI).
28
- 2. Se não estiver disponível, use **obrigatoriamente** (se possível) o formato de tabela abaixo. Caso não possível no formato de tabela, faça perguntas em texto corrido.
29
- 3. Nunca avance sem coletar as respostas necessárias.
21
+ #### Critérios de aceitação específicos do documento
30
22
 
31
- ```
32
- | | {Aqui fica a pergunta que você deve fazer para o usuário. Seja objetivo e direto ao ponto:} |
33
- | --- | ----------------------------------------------------------------------------------------- |
34
- | A | {Resposta 1} |
35
- | B | {Resposta 2} |
36
- | C | {Resposta 3} |
37
- | D | {Resposta 4} |
38
- ```
39
-
40
- **NUNCA** pergunte tudo de uma vez, sempre faça perguntas separadas e aguarde a resposta antes de prosseguir.
41
-
42
-
43
- ## Descrição dos Status
44
-
45
- Em itens e especificações, utilizamos status para identificar quais etapas do desenvolvimento cada item está. Isso é representado pela variável `$ITEM_STATUS`.
46
-
47
- - icebox: Lista de ideias, necessidades e desejos. Item que está aguardando priorização ou definição de escopo.
48
- - in_review: Item que está sendo estudado, descoberto, revisado ou analisado.
49
- - backlog: Item já foi estudado, sabemos o que fazer e está aguardando priorização de implementação.
50
- - in_progress: Item que está em desenvolvimento.
51
- - in_production: Item que está em produção.
52
- - cancelled: Item que foi descontinuado ou cancelado.
53
-
54
-
55
- ## Princípio: Critérios de aceitação e requisitos
56
-
57
- ### Critérios de aceitação específicos do documento
58
-
59
- #### Para PRDs (nível macro)
23
+ ##### Para PRDs (nível macro)
60
24
  Concentre-se no "o quê" e no "porquê":
61
25
  - Definir capacidades gerais do produto
62
26
  - Definir regras e restrições de negócios
63
27
  - Estabelecer métricas de sucesso
64
28
  - Descrições sempre levando em consideração as soluções macro do Projeto, baseando-se nas FRDs
65
29
 
66
- #### Para FRDs (nível médio)
30
+ ##### Para FRDs (nível médio)
67
31
  Retrata as soluções macro do produto. É ponte entre estratégia e implementação:
68
32
  - Definir requisitos de nível de recurso
69
33
  - Definir limites para histórias relacionadas
70
34
  - Incluir pontos de integração
71
35
  - Definir requisitos não funcionais
72
36
 
73
- ### Para histórias (detalhadas, funcionais)
37
+ #### Para histórias (detalhadas, funcionais)
74
38
 
75
39
  Concentre-se em comportamentos específicos e testáveis com base em designs:
76
40
 
@@ -104,7 +68,7 @@ Concentre-se em comportamentos específicos e testáveis com base em designs:
104
68
  - **Épico**: escopo em nível de recurso e abordagem técnica
105
69
  - **Issues (História/Tarefa)**: detalhes específicos de implementação e comportamento da UI
106
70
 
107
- ## Princípio: Contexto completo
71
+ ### Princípio: Contexto completo
108
72
 
109
73
  **Princípio**: Cada documento deve ser compreensível por si só, sem exigir conhecimento tribal.
110
74
 
@@ -147,7 +111,7 @@ As pessoas juntam-se em equipas, o contexto perde-se, as memórias desaparecem.
147
111
  - **Bugs rápidos**: ambiente do documento, etapas, comportamento esperado
148
112
  - **Tarefas rápidas**: explique por que esse trabalho é importante
149
113
 
150
- ## Princípio: Terminologia Consistente
114
+ ### Princípio: Terminologia Consistente
151
115
 
152
116
  **Princípio**: Use os mesmos termos para os mesmos conceitos em toda a documentação.
153
117
 
@@ -184,3 +148,44 @@ A terminologia inconsistente cria confusão. "Cliente" vs "Usuário" vs "Cliente
184
148
  - **Planos**: use os termos exatos do PRD
185
149
  - **Histórias**: Combine a terminologia do PRD e do Plano
186
150
  - **Questões rápidas**: use terminologia estabelecida ou defina novos termos
151
+
152
+ ### Princípio: Discovery como insumo
153
+
154
+ **Princípio**: O discovery (`$PROD_DOCS/discoveries/discovery-{id}-{nome}.md`) é um rascunho de suposições. Ele pode servir de contexto para um PRD, FRD, épico ou issue, mas nunca é obrigatório e nunca é tratado como verdade.
155
+
156
+ **O discovery é opcional**:
157
+ - Sem discovery apontado, siga o fluxo do comando normalmente, sem procurar na pasta `discoveries/` e sem perguntar nada sobre discovery. Ter arquivos nessa pasta não tem relação com o comando.
158
+ - Exemplos: `/prod.spec.prd já sei o que quero` segue o fluxo de sempre; `/prod.spec.prd discovery-002` carrega o discovery.
159
+
160
+ **Como apontar e achar o discovery**:
161
+ - O usuário aponta por caminho, nome ou id (como `discovery-002`); procure em `$PROD_DOCS/discoveries/`.
162
+ - Se o arquivo não existir: informe, liste os discoveries da pasta e pergunte qual usar, ou se o usuário prefere seguir sem discovery.
163
+ - Se a pasta `discoveries/` não existir: siga sem discovery e não crie a pasta.
164
+ - Se mais de um arquivo casar com o que o usuário apontou: pergunte qual usar, sem escolher sozinho.
165
+
166
+ **Como usar o discovery**:
167
+ - Leia o discovery como **contexto, não como resposta**: é um rascunho e pode estar defasado.
168
+ - **Questione e repasse tudo com o usuário**, seção por seção: mostre o que está registrado e pergunte se ainda vale ou se mudou.
169
+ - Hipóteses e perguntas em aberto do discovery são perguntadas como tais; o que o comando exige e o discovery não cobre é perguntado normalmente.
170
+ - Nada do discovery entra no documento novo como fato sem o usuário ter passado por aquilo. O que ficar sem validação continua marcado como suposição.
171
+
172
+ **Avisos conforme a situação do discovery**:
173
+ - `verdict: do_not_proceed` (ou `status: cancelled`): avise que a recomendação foi não seguir, mostre o motivo registrado e só continue com confirmação explícita do usuário.
174
+ - `verdict: investigate_more`, `verdict` vazio ou `status: in_review` (discovery ainda em entrevista): avise que há lacunas críticas, liste as perguntas em aberto e pergunte se o usuário quer retomar o discovery antes ou seguir assumindo o risco.
175
+ - `verdict: proceed`: siga normalmente.
176
+
177
+ **O documento novo é o oficial**:
178
+ - O PRD, FRD, épico ou issue é a fonte da verdade. O discovery **nunca é alterado** por estes comandos: ele permanece como o registro do momento da investigação.
179
+ - O documento novo referencia o discovery de origem no campo `related_discovery` do frontmatter.
180
+ - Quando a informação do documento novo divergir do discovery, **avise o usuário na conversa** e crie no documento novo a seção **"Divergências"** (somente quando houver), com o que mudou e por quê, em poucas linhas.
181
+
182
+ ## Exceções
183
+
184
+ Quando o usuário pedir explicitamente outro formato ou nível de detalhe para um documento, registre a decisão no próprio documento e siga o pedido.
185
+
186
+ ## Referências
187
+
188
+ - `prod-rules.md`: regras gerais de produto (ambiente, comandos, nomes de arquivos, status e perguntas ao usuário)
189
+ - `../../templates/product/`: templates dos documentos
190
+ - `../../workflows/product/`: os comandos `prod.spec.*`
191
+ - `prod.spec.discovery.md` (workflow) e `prod-discovery-template.md`: o comando e o formato do discovery, o rascunho que os comandos acima podem usar como insumo
@@ -194,8 +194,8 @@ Skills existentes e planejadas do framework Jarvis.
194
194
  ## Skills Criadas — Produto
195
195
 
196
196
  ### `prod-specs` ✅
197
- - **Trigger**: criação de PRD/FRD
198
- - **Escopo**: especificação de produto, requisitos
197
+ - **Trigger**: pedido de especificação de produto (PRD, FRD, épico, história, discovery), inclusive em linguagem natural
198
+ - **Escopo**: skill fina, só porta de entrada: aponta para os workflows `prod.spec.*`, que são a fonte única de cada comando
199
199
  - **Status**: `criado`
200
200
 
201
201
  ### `prod-specs-update` ✅
@@ -203,10 +203,6 @@ Skills existentes e planejadas do framework Jarvis.
203
203
  - **Escopo**: revisão e evolução de requisitos
204
204
  - **Status**: `criado`
205
205
 
206
- ### `product-specs` ✅
207
- - **Trigger**: especificação de produto (alias)
208
- - **Status**: `criado`
209
-
210
206
  ### `prod-roadmap-report` ✅
211
207
  - **Trigger**: relatório de roadmap de produto
212
208
  - **Status**: `criado`
@@ -719,7 +719,7 @@ ENABLE_CDD=true
719
719
 
720
720
  PROD_FOLDER_NAME=product
721
721
  PROD_RULES=$RULES_FOLDER/$PROD_FOLDER_NAME
722
- PROD_FLOWS=.$IDE/$FLOWS_FOLDER/$PROD_FOLDER_NAME
722
+ PROD_FLOWS=.$IDE/$FLOWS_FOLDER
723
723
  PROD_TEMPLATES=.$IDE/$TEMPLATES_FOLDER/$PROD_FOLDER_NAME
724
724
  PROD_DOCS=$DOCS_FOLDER/$PROD_FOLDER_NAME
725
725
  ```
@@ -12,97 +12,33 @@ metadata:
12
12
 
13
13
  # Product Specs
14
14
 
15
- Antes de iniciar:
16
- - Leia o arquivo de regras invioláveis em `rules/prod-spec-rules.md`.
15
+ Esta skill é só a **porta de entrada** das especificações de produto: ela **não guarda conteúdo próprio**. Quando o pedido for um dos abaixo, siga o workflow indicado (os arquivos ficam em `$IDE/$FLOWS_FOLDER/`, e os templates em `$PROD_TEMPLATES`).
17
16
 
18
- ## Diretórios e Variáveis dessa Skill
17
+ | Pedido | Comando | Workflow |
18
+ |---|---|---|
19
+ | Não sei qual documento criar | `/prod.spec` | `$IDE/$FLOWS_FOLDER/prod.spec.md` |
20
+ | Investigar uma ideia inicial | `/prod.spec.discovery` | `$IDE/$FLOWS_FOLDER/prod.spec.discovery.md` |
21
+ | PRD (Documento de Requisitos de Produto) | `/prod.spec.prd` | `$IDE/$FLOWS_FOLDER/prod.spec.prd.md` |
22
+ | FRD (Documento de Requisitos Funcionais) | `/prod.spec.frd` | `$IDE/$FLOWS_FOLDER/prod.spec.frd.md` |
23
+ | Épico | `/prod.spec.epic` | `$IDE/$FLOWS_FOLDER/prod.spec.epic.md` |
24
+ | História, tarefa ou bug | `/prod.spec.issue` | `$IDE/$FLOWS_FOLDER/prod.spec.issue.md` |
25
+ | Esclarecer uma especificação | `/prod.spec.clarify` | `$IDE/$FLOWS_FOLDER/prod.spec.clarify.md` |
26
+ | Quebrar uma especificação grande | `/prod.spec.breakdown` | `$IDE/$FLOWS_FOLDER/prod.spec.breakdown.md` |
19
27
 
20
- Utilize essas variáveis para interpretar corretamente o contexto as instruções dessa skill. Os endereços são relativos ao diretório raiz desse plugin:
28
+ Antes de executar, leia as regras de produto em `$PROD_RULES` (`prod-rules.md` e `prod.spec-rules.md`).
21
29
 
22
- **Diretório da skill:** `${CLAUDE_SKILL_DIR}`
30
+ Para outras necessidades de produto sem workflow próprio, aplique as boas práticas comumente utilizadas por gerentes de produto.
23
31
 
24
- - `$SKILL_TEMPLATE_FOLDER`: `${CLAUDE_SKILL_DIR}/templates/`
25
- - `$SKILL_REFERENCES_FOLDER`: `${CLAUDE_SKILL_DIR}/references/`
32
+ ## Frases que acionam esta skill
26
33
 
34
+ **PRD:** "criar um PRD sobre..." · "novo PRD para..." · "editar o PRD..."
27
35
 
28
- ## Objetivo
36
+ **FRD:** "criar um FRD sobre..." · "novo FRD para..."
29
37
 
30
- Esta é uma habilidade para ajudar gestores e líderes de produto a executarem suas tarefas e entregarem um trabalho de gestão de alta qualidade, facilitando decisões e análises.
38
+ **Épico:** "crie um épico sobre..." · "novo épico para..."
31
39
 
32
- ## Quando usar
33
- - Analisar mercado, concorrentes, outros produtos
34
- - Analisar o próprio produto para fornecer mais insights e identificar lacunas e oportunidades
35
- - Criar apresentações estratégicas e táticas
36
- - Quando o usuário precisar analisar dados, indicadores e métricas de qualquer tipo
37
- - quando o usuário precisa criar especificações como:
38
- - PRD: Documento de Requisitos do Produto
39
- - FRD: Documento de requisitos de recursos
40
- - Escreva épicos, histórias e tarefas técnicas
41
- - Planeje, analise e escreva itens como épicos, histórias, tarefas
42
- - Priorizar roadmaps, backlogs e planejamento de curto, médio e longo prazo
43
- - Escrever relatórios de status sobre projetos, obras em andamento
44
- - Compilar, organizar e escrever informações em documentos bem formatados e estruturados que serão compartilhados
45
- - apoiar e auxiliar o PM ou líder de produto em qualquer outra tarefa que possa ser necessária em sua função como gerente
40
+ **História, tarefa ou bug:** "criar uma história sobre..." · "nova tarefa para..." · "criar um bug..."
46
41
 
47
- ## Quando invocar
48
-
49
- Essa habilidade deve ser invocada quando o usuário pede para **fazer trabalho real com o produto**, como:
50
-
51
- - “Criar/aperfeiçoar um PRD/especificação/caso de negócios/1 página”
52
- - “Transforme esta ideia em um roteiro” / “Roteiro de resultados para X”
53
- - “Desenhar um plano de descoberta/roteiro de entrevista/plano de experiência”
54
- - “Definir métricas de sucesso/OKRs/árvore de métricas”
55
- - “Posicione este produto em relação aos concorrentes”
56
- - “Projetar um recurso alimentado por IA / agente GenAI / ciclo de vida AI PM”
57
- - “Executar uma conversa / feedback / 1:1 / negociação difícil”
58
- - “Planejar uma estratégia de produto/visão/avaliação de oportunidade”
59
-
60
- ## Instruções e Referências
61
-
62
- SEMPRE utilize as instruções na íntegra contidas nessas referências de acordo com o contexto e pedido:
63
-
64
- - Crie, modifique ou esclareça um PRD seguindo as instruções em `references/prod.spec.prd.md`
65
- - Crie, modifique ou esclareça um FRD seguindo as instruções em `references/prod.spec.frd.md`
66
- - Avalie, clarifique, detalhe e identifique gaps e possíveis melhorias na especificação seguindo as instruções em `references/prod.spec.clarify.md`
67
-
68
- Para outras necessidades não especificadas ou que não possuam instruções ou templates, aplique as boas práticas comumente utilizadas pelos Gerentes de Produto no mercado.
69
-
70
- Se o usuário solicitar para ver o que pode ser feito com essa habilidade, cite todas as referências disponíveis com uma descrição concisa.
71
-
72
- Cenário A: "Criar um PRD para um aplicativo de tarefas" → Fluxo de trabalho completo de perguntas
73
- Cenário B: "Crie um PRD com base neste documento: [...]" → Fluxo de trabalho de validação
74
- Cenário C: "Editar este PRD: [...]" → Fluxo de trabalho de melhoria focado
75
-
76
- Esteja atento quando o usuário conversar em linguagem natural, para acionar comandos usando instruções corretas:
77
-
78
- ## Templates Disponíveis
79
-
80
- Os templates ficam na pasta `templates` dessa skill. Elas devem ser usadas para gerar o output final para o usuário. Suas perguntas devem ser baseadas nesses templates para que eles fiquem completos, detalhados e com qualidade.
81
-
82
- - [Template para PRD](templates/prod-prd-template.md)
83
- - [Template para FRD](templates/prod-frd-template.md)
84
- - [Template para épicos](templates/prod-epic-template.md)
85
- - [Template para itens (história/tarefa/bug)](templates/prod-issue-template.md)
86
-
87
- **Para PRDs:**
88
- - "criar um PRD sobre..."
89
- - "novo PRD para..."
90
- - "editar o PRD..."
91
-
92
- **Para problemas (histórias/tarefas/bugs):**
93
- - "criar uma história sobre..."
94
- - "nova tarefa para..."
95
- - "criar um bug..."
96
-
97
- **Para épicos:**
98
- - "crie um épico sobre..."
99
- - "novo épico para..."
100
-
101
- **Para FRDs:**
102
- - "criar um FRD sobre..."
103
- - "novo FRD para..."
104
-
105
- **Para esclarecimentos:**
106
- - "esclarecer a especificação..."
107
- - "esclarecer o PRD..."
42
+ **Discovery:** "investigar uma ideia..." · "fazer discovery de..." · "tenho uma ideia, vale a pena?"
108
43
 
44
+ **Esclarecimento:** "esclarecer a especificação..." · "esclarecer o PRD..."
@@ -29,12 +29,13 @@ templates/
29
29
  │ └── qa/ # Templates de QA
30
30
  │ ├── test-plan-template.md
31
31
  │ └── quality-gate-template.md
32
- └── product/ # Templates de produto
33
- ├── PRD-template.md # Product Requirements Document
34
- ├── FRD-template.md # Feature Requirements Document
35
- ├── epic-template.md # Epicos
36
- ├── story-template.md # User Stories
37
- └── issue-template.md # Issues/Tasks
32
+ └── product/ # Templates de produto ($PROD_TEMPLATES)
33
+ ├── prod-prd-template.md # Product Requirements Document
34
+ ├── prod-frd-template.md # Functional Requirements Document
35
+ ├── prod-epic-template.md # Épicos
36
+ ├── prod-issue-template.md # Histórias, tarefas e bugs
37
+ ├── prod-breakdown-template.md # Quebra de especificação
38
+ └── prod-discovery-template.md # Discovery (investigação inicial de uma ideia)
38
39
  ```
39
40
 
40
41
  ---
@@ -60,7 +60,7 @@ SESSIONS_DIR=.jarvis/sessions
60
60
  # Pastas de produto (derivadas das de cima — em geral não precisa mexer)
61
61
  PROD_FOLDER_NAME=product
62
62
  PROD_RULES=$RULES_FOLDER/$PROD_FOLDER_NAME
63
- PROD_FLOWS=.$IDE/$FLOWS_FOLDER/$PROD_FOLDER_NAME
63
+ PROD_FLOWS=.$IDE/$FLOWS_FOLDER
64
64
  PROD_TEMPLATES=.$IDE/$TEMPLATES_FOLDER/$PROD_FOLDER_NAME
65
65
  PROD_DOCS=$DOCS_FOLDER/$PROD_FOLDER_NAME
66
66
 
@@ -0,0 +1,98 @@
1
+ ---
2
+ id: {discovery-001}
3
+ name: {nome dessa ideia}
4
+ status: {in_review enquanto o rascunho existe | cancelled se o veredito for do_not_proceed}
5
+ verdict: {vazio durante a entrevista | proceed | investigate_more | do_not_proceed}
6
+ created_at: {YYYY-MM-DD}
7
+ updated_at: {YYYY-MM-DD}
8
+ created_by: {nome de quem criou esse doc}
9
+ last_editor: {nome de quem editou por último}
10
+ ---
11
+
12
+ # {id}: {name}
13
+
14
+ > **Este documento é um rascunho.** Ele registra o que se sabe, o que é hipótese e o que ainda é lacuna sobre uma ideia. Não define tarefas, histórias, critérios de aceitação, estimativas nem escopo fechado, e nada aqui é verdade absoluta. Quando um PRD, FRD, épico ou issue for criado a partir dele, o documento novo é a fonte da verdade.
15
+ >
16
+ > Nunca registre credenciais, tokens nem dados pessoais de clientes neste arquivo: ele é versionado.
17
+
18
+ ## Ideia
19
+
20
+ {O que é a ideia, em poucas frases, e para quem ela é. Use as palavras do usuário; não acrescente o que ele não disse.}
21
+
22
+ ## Problema
23
+
24
+ {Declare o problema, não a solução. Responda, sempre que souber:}
25
+
26
+ - **Qual é o problema?** {a dor, o que não funciona hoje}
27
+ - **Quem sofre com ele?** {quem e em que situação}
28
+ - **Qual a evidência de que ele existe?** {dado, relato ou observação; se não houver, diga "sem evidência"}
29
+ - **Como se resolve hoje?** {a alternativa atual, mesmo que seja uma gambiarra}
30
+ - **Por que agora?** {o que torna isto relevante neste momento}
31
+ - **Como saberemos que funcionou?** {sinais de sucesso, sem metas fechadas}
32
+
33
+ ## Hipóteses
34
+
35
+ {Uma tabela única com tudo o que precisaria ser verdade para a ideia funcionar: requisitos iniciais e suposições. Requisitos são hipóteses de alto nível, sem critério de aceitação. Destaque as de importância alta e certeza baixa: são as primeiras a validar e alimentam as perguntas em aberto.}
36
+
37
+ | Hipótese | Tipo | Importância | Certeza | Origem | Como validar |
38
+ |---|---|---|---|---|---|
39
+ | {o que precisaria ser verdade} | {problema, requisito, usuário, técnica ou negócio} | {alta, média ou baixa} | {alta, média ou baixa} | {dado, observação ou suposição} | {como confirmar ou descartar} |
40
+
41
+ ## Viabilidade
42
+
43
+ {Um sinal indicativo por lente, com a justificativa e as lacunas que o sustentam. É uma leitura inicial, não um desenho técnico nem uma estimativa. Um rascunho de abordagem técnica pode aparecer, sempre como hipótese a validar e nunca como decisão de arquitetura.}
44
+
45
+ | Lente | Sinal | Justificativa e lacunas |
46
+ |---|---|---|
47
+ | **Valor:** alguém vai querer e usar? | {alto, médio ou baixo} | {por quê; o que ainda não se sabe} |
48
+ | **Usabilidade:** as pessoas conseguem usar? | {alto, médio ou baixo} | {por quê; o que ainda não se sabe} |
49
+ | **Técnica:** dá para construir com o que temos? | {alto, médio ou baixo} | {por quê; o que ainda não se sabe} |
50
+ | **Negócio:** funciona para o negócio (custo, prazo, risco)? | {alto, médio ou baixo} | {por quê; o que ainda não se sabe} |
51
+
52
+ ## Alternativas e riscos
53
+
54
+ {Inclua sempre "não fazer nada" e "usar algo que já existe", além das opções levantadas.}
55
+
56
+ | Alternativa | Prós | Contras |
57
+ |---|---|---|
58
+ | {não fazer nada} | {prós resumidos} | {contras resumidos} |
59
+ | {usar algo existente} | {prós resumidos} | {contras resumidos} |
60
+ | {outra opção} | {prós resumidos} | {contras resumidos} |
61
+
62
+ **Riscos e dependências:**
63
+
64
+ - {risco ou dependência, com quem pode confirmar}
65
+
66
+ ## Perguntas em aberto
67
+
68
+ {O que ainda precisa ser validado, com quem e como. Comece pelas hipóteses de importância alta e certeza baixa.}
69
+
70
+ - [ ] {pergunta} — quem responde: {pessoa ou área}
71
+
72
+ ## Veredito
73
+
74
+ {Uma recomendação, não uma aprovação. Escolha uma e justifique em poucas linhas:}
75
+
76
+ - **proceed** (seguir): vale especificar. O problema parece real e não há lacuna crítica aberta
77
+ - **investigate_more** (investigar mais): há lacuna crítica; liste o que falta. Uma lacuna crítica nunca dá `proceed`
78
+ - **do_not_proceed** (não seguir): informe o motivo; o `status` passa a `cancelled` e o arquivo fica como registro da decisão
79
+
80
+ **Veredito:** {proceed | investigate_more | do_not_proceed}
81
+
82
+ **Motivo:** {justificativa}
83
+
84
+ ## Próximo passo sugerido
85
+
86
+ {Sempre preencha, qualquer que seja o veredito. É só uma sugestão: o agente oferece usar este documento como insumo, mas nunca executa o comando sozinho, e você pode escolher outro caminho ou parar aqui.}
87
+
88
+ - **Comando recomendado:** {/prod.spec.prd (e depois /prod.spec.breakdown), /prod.spec.frd, /prod.spec.issue, retomar este discovery ou arquivar a ideia}
89
+ - **Motivo:** {por que esse caminho}
90
+ - **Alternativa:** {outro caminho possível, se houver}
91
+
92
+ ## Histórico das sessões
93
+
94
+ {Um registro por sessão de entrevista, em ordem cronológica.}
95
+
96
+ | Data | O que foi coberto | Observações |
97
+ |---|---|---|
98
+ | {YYYY-MM-DD} | {temas cobertos nesta sessão} | {o que ficou pendente} |
@@ -6,6 +6,7 @@ status: {icebox|in_review|in_progress|in_production|deprecated}
6
6
  task_link: {URL referêncial no $TASK_MANAGER - se existir. Se não, ignore essa linha}
7
7
  related_prd: {path PRD relacionado, exemplo /master-docs/product/prd-001.md}
8
8
  related_frd: {path FRD relacionado, exemplo /master-docs/product/frds/frd-001.md}
9
+ related_discovery: {path do discovery de origem, exemplo $PROD_DOCS/discoveries/discovery-001-nome.md. Se não existir, ignore essa linha}
9
10
  created_at: {YYYY-MM-DD}
10
11
  updated_at: {YYYY-MM-DD}
11
12
  created_by: {nome de quem criou esse doc}
@@ -6,6 +6,7 @@ status: {$ITEM_STATUS}
6
6
  last_editor: {nome de quem editou por último}
7
7
  updated_at: {YYYY-MM-DD}
8
8
  related_prd: {Lista de PRDs que são relacionadas a esse PRD, se forem vários, utilize sintaxe compatível com YAML}
9
+ related_discovery: {path do discovery de origem, exemplo $PROD_DOCS/discoveries/discovery-001-nome.md. Se não existir, ignore essa linha}
9
10
  created_at: {YYYY-MM-DD}
10
11
  created_by: {nome de quem criou esse doc}
11
12
  ---
@@ -5,6 +5,7 @@ type: {Story, Task, Bug}
5
5
  related_prd: {path PRD relacionado, exemplo /master-docs/product/prd-001.md}
6
6
  related_epic: {nome do Epico relacionado, exemplo /master-docs/product/epics/epic-001.md. Se não existir, ignore essa linha}
7
7
  related_frd: {path FRD relacionado, exemplo /master-docs/product/frds/frd-001.md}
8
+ related_discovery: {path do discovery de origem, exemplo $PROD_DOCS/discoveries/discovery-001-nome.md. Se não existir, ignore essa linha}
8
9
  created_at: {YYYY-MM-DD}
9
10
  updated_at: {YYYY-MM-DD}
10
11
  task_link: {URL referêncial no $TASK_MANAGER - se existir. Se não, ignore essa linha}
@@ -8,6 +8,7 @@ updated_at: {YYYY-MM-DD}
8
8
  related_repo: {URLs de repositórios relacionados, se forem vários, utilize sintaxe compatível com YAML}
9
9
  related_prd: {Lista de PRDs que são relacionadas a esse PRD, se forem vários, utilize sintaxe compatível com YAML}
10
10
  related_frd: {Lista de FRDs que são relacionadas a esse PRD, se forem vários, utilize sintaxe compatível com YAML}
11
+ related_discovery: {path do discovery de origem, exemplo $PROD_DOCS/discoveries/discovery-001-nome.md. Se não existir, ignore essa linha}
11
12
  created_at: {YYYY-MM-DD}
12
13
  created_by: {nome de quem criou esse doc}
13
14
  ---
@@ -28,6 +28,7 @@ workflows/
28
28
  │
29
29
  ├── product/ # Workflows de produto
30
30
  │ ├── prod.spec.md # Entrypoint de specs
31
+ │ ├── prod.spec.discovery.md # Investigacao inicial de uma ideia
31
32
  │ ├── prod.spec.prd.md # Documento de Requisitos de Produto
32
33
  │ ├── prod.spec.frd.md # Documento de Requisitos Funcionais
33
34
  │ ├── prod.spec.breakdown.md # Quebra em versões / épicos / histórias
@@ -80,6 +81,7 @@ Utilize o arquivo `../../workflows/[dominio]/nome-do-workflow.md` como template.
80
81
  | `/eng.frontend-component` | `engineering/frontend/eng.frontend-component.md` |
81
82
  | `/eng.frontend-review` | `engineering/frontend/eng.frontend-review.md` |
82
83
  | `/eng.frontend-perf-audit` | `engineering/frontend/eng.frontend-perf-audit.md` |
84
+ | `/prod.spec.discovery` | `product/prod.spec.discovery.md` |
83
85
  | `/prod.spec.prd` | `product/prod.spec.prd.md` |
84
86
 
85
87
  ---
@@ -140,7 +142,7 @@ Workflows de engenharia seguem fases restritas:
140
142
  | Fase | Workflows | Restricao |
141
143
  |------|-----------|-----------|
142
144
  | Planejamento | `eng.start`, `eng.plan` | Somente analise, SEM codigo |
143
- | Implementacao | `eng.work` | Codigo e testes, SEM commits |
145
+ | Implementacao | `eng.work` | Codigo e testes, commit por fase, SEM push nem PR |
144
146
  | Entrega | `eng.pr` | Branch, commit e PR |
145
147
 
146
148
  **IMPORTANTE**: Respeitar estritamente as restricoes de cada fase.
@@ -14,6 +14,7 @@ workflows/
14
14
  │
15
15
  ├── product/ # Gestão de Produto & Requisitos
16
16
  │ ├── prod.spec.md # Entrypoint de especificações
17
+ │ ├── prod.spec.discovery.md # Investigação inicial de uma ideia (rascunho)
17
18
  │ ├── prod.spec.prd.md # Documento de Requisitos de Produto
18
19
  │ ├── prod.spec.frd.md # Documento de Requisitos Funcionais
19
20
  │ ├── prod.spec.breakdown.md # Quebra em versões / épicos / histórias
@@ -70,6 +71,7 @@ workflows/
70
71
  | Workflow | Propósito |
71
72
  |----------|-----------|
72
73
  | `prod.spec.md` | Entrypoint unificado para especificações |
74
+ | `prod.spec.discovery.md` | Investigar uma ideia inicial (problema, requisitos e viabilidade) e gerar um rascunho |
73
75
  | `prod.spec.prd.md` | Criar/editar Documento de Requisitos de Produto |
74
76
  | `prod.spec.frd.md` | Criar/editar Documento de Requisitos Funcionais |
75
77
  | `prod.spec.breakdown.md` | Quebrar spec grande em versões, épicos e histórias |