jarvis-ai-framework 1.0.3 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +66 -64
- package/README.md +24 -10
- package/agents/AGENTS.md +12 -8
- package/agents/README.md +14 -16
- package/agents/engineering/data/eng.data-engineer.agent.md +6 -6
- package/agents/engineering/eng.agent.md +19 -36
- package/agents/engineering/eng.bug-hunter.md +13 -12
- package/agents/engineering/eng.cybersecurity.agent.md +20 -35
- package/agents/engineering/eng.docs-writer.md +2 -2
- package/agents/engineering/eng.frontend.agent.md +17 -22
- package/agents/engineering/eng.rpa.agent.md +5 -15
- package/agents/engineering/qa/eng.qa.test-architect.md +4 -4
- package/agents/engineering/qa/eng.qa.test-planner.md +3 -3
- package/agents/engineering/qa/eng.qa.testing-engineer.md +3 -3
- package/agents/product/prod.discovery-interviewer.md +86 -0
- package/bin/commands/init.js +6 -6
- package/bin/jarvis.js +1 -1
- package/bin/lib/config/constants.js +47 -0
- package/bin/lib/core/sync-engine.js +12 -0
- package/package.json +2 -5
- package/rules/AGENTS.md +6 -4
- package/rules/engineering/eng-rules.md +5 -3
- package/rules/engineering/eng-security-rules.md +4 -4
- package/rules/engineering/eng.breakdown-subtasks-rules.md +208 -37
- package/rules/engineering/eng.docs-scraping-rules.md +1 -1
- package/rules/engineering/eng.downstream-flow-rules.md +1 -1
- package/rules/engineering/eng.integrations-rules.md +2 -2
- package/rules/engineering/eng.pre-pr-rules.md +1 -1
- package/rules/engineering/eng.skills-rules.md +60 -0
- package/rules/engineering/eng.specializations-rules.md +69 -0
- package/rules/engineering/eng.start-rules.md +11 -11
- package/rules/engineering/eng.work-rules.md +19 -14
- package/rules/engineering/frontend/eng.frontend-rules.md +70 -69
- package/rules/product/README.md +2 -0
- package/rules/product/prod-rules.md +7 -5
- package/{skills/prod-specs/rules/prod-spec-rules.md → rules/product/prod.spec-rules.md} +55 -50
- package/skills/AGENTS.md +111 -47
- package/skills/SKILLS-ROADMAP.md +26 -45
- package/skills/eng-ai-engineer/SKILL.md +1 -0
- package/skills/eng-backend/SKILL.md +142 -644
- package/skills/eng-backend/references/1-fundamentos-programacao.md +41 -0
- package/skills/eng-backend/references/10-seguranca.md +61 -0
- package/skills/eng-backend/references/11-performance.md +49 -0
- package/skills/eng-backend/references/12-erros-logging.md +42 -0
- package/skills/eng-backend/references/13-qualidade-codigo.md +51 -0
- package/skills/eng-backend/references/2-design-arquitetura.md +48 -0
- package/skills/eng-backend/references/3-design-patterns.md +50 -0
- package/skills/eng-backend/references/4-algoritmos-estruturas.md +43 -0
- package/skills/eng-backend/references/5-banco-dados.md +53 -0
- package/skills/eng-backend/references/6-api-comunicacao.md +42 -0
- package/skills/eng-backend/references/7-concorrencia-async.md +49 -0
- package/skills/eng-backend/references/8-arquitetura-servidor.md +49 -0
- package/skills/eng-backend/references/9-testes.md +43 -0
- package/skills/{eng-arch-c4 → eng-backend-arch-c4}/SKILL.md +12 -7
- package/skills/{eng-ms-trace → eng-backend-microservices-trace}/SKILL.md +6 -4
- package/skills/{eng-nestjs → eng-backend-nestjs}/SKILL.md +3 -1
- package/skills/{eng-rabbitmq → eng-backend-rabbitmq}/SKILL.md +3 -1
- package/skills/eng-data-bi/SKILL.md +1 -0
- package/skills/eng-data-debug/SKILL.md +2 -1
- package/skills/eng-data-engineer/SKILL.md +1 -0
- package/skills/eng-data-onboard/SKILL.md +1 -0
- package/skills/eng-data-orchestrator/SKILL.md +1 -0
- package/skills/{eng-performance-engineer → eng-devops-performance-engineer}/SKILL.md +2 -1
- package/skills/eng-frontend/SKILL.md +145 -782
- package/skills/eng-frontend/references/1-fundamentos-programacao.md +37 -0
- package/skills/eng-frontend/references/10-testes.md +47 -0
- package/skills/eng-frontend/references/11-seguranca.md +56 -0
- package/skills/eng-frontend/references/12-qualidade-codigo.md +51 -0
- package/skills/eng-frontend/references/2-html-fundamentals.md +51 -0
- package/skills/eng-frontend/references/3-css-responsive.md +61 -0
- package/skills/eng-frontend/references/4-javascript-dom.md +60 -0
- package/skills/eng-frontend/references/5-state-management.md +55 -0
- package/skills/eng-frontend/references/6-uiux-design.md +59 -0
- package/skills/eng-frontend/references/7-acessibilidade.md +46 -0
- package/skills/eng-frontend/references/8-performance.md +58 -0
- package/skills/eng-frontend/references/9-browser-apis.md +54 -0
- package/skills/{eng-design-system → eng-frontend-design-system}/SKILL.md +4 -2
- package/skills/{eng-microfrontend → eng-frontend-microfrontend}/SKILL.md +4 -2
- package/skills/{eng-browser-extension-builder → eng-global-browser-extension-builder}/SKILL.md +2 -1
- package/skills/{eng-docs-write → eng-global-docs-write}/SKILL.md +8 -4
- package/skills/eng-global-jira-comment/SKILL.md +21 -0
- package/skills/{eng-pr → eng-global-pr}/SKILL.md +7 -3
- package/skills/{eng-task-comment → eng-global-task-comment}/SKILL.md +6 -2
- package/skills/eng-qa-a11y-audit/SKILL.md +1 -0
- package/skills/eng-qa-bug-report/SKILL.md +2 -1
- package/skills/eng-qa-bug-report/TASK_MANAGERS.md +1 -1
- package/skills/eng-qa-cypress-e2e/SKILL.md +1 -0
- package/skills/eng-qa-dev-guide/SKILL.md +1 -0
- package/skills/eng-qa-e2e/SKILL.md +1 -0
- package/skills/eng-qa-e2e-spec-writer/SKILL.md +1 -0
- package/skills/eng-qa-exploratory/SKILL.md +1 -0
- package/skills/eng-qa-gate/SKILL.md +3 -2
- package/skills/eng-qa-graphql-contract/SKILL.md +1 -0
- package/skills/eng-qa-quality-report/SKILL.md +3 -2
- package/skills/eng-qa-test-plan/SKILL.md +1 -0
- package/skills/eng-qa-testsprite/SKILL.md +2 -1
- package/skills/eng-qa-unit-test/SKILL.md +1 -0
- package/skills/eng-scraper/SKILL.md +1 -0
- package/skills/eng-scraper-robot-builder/SKILL.md +1 -0
- package/skills/{eng-cybersecurity → eng-security-cybersecurity}/SKILL.md +3 -2
- package/skills/eng-security-patch/SKILL.md +6 -2
- package/skills/{eng-threat-model → eng-security-threat-model}/SKILL.md +6 -2
- package/skills/eng-security-triage/SKILL.md +4 -0
- package/skills/{context-detect → jarvis-context-detect}/SKILL.md +6 -5
- package/skills/{context-detect → jarvis-context-detect}/assets/context-profile-template.md +3 -3
- package/skills/jarvis-create-specialization/SKILL.md +230 -0
- package/skills/jarvis-create-specialization/assets/referencia-template.md +39 -0
- package/skills/jarvis-create-specialization/assets/skill-especializacao-template.md +78 -0
- package/skills/{docs-central → jarvis-docs-central}/README.md +1 -1
- package/skills/{docs-central → jarvis-docs-central}/SKILL.md +3 -40
- package/skills/{docs-index → jarvis-docs-index}/SKILL.md +8 -4
- package/skills/{init-jarvis → jarvis-init}/SKILL.md +42 -19
- package/skills/{init-jarvis → jarvis-init}/assets/mcp-configs.md +3 -3
- package/skills/{init-jarvis → jarvis-init}/assets/onboarding-checklist.md +1 -1
- package/skills/jarvis-init/assets/passo-adicionar-stacks.md +163 -0
- package/skills/{init-jarvis → jarvis-init}/assets/setup-guide.md +1 -1
- package/skills/jarvis-init/assets/sinais-de-stack.md +54 -0
- package/skills/jarvis-list-specializations/SKILL.md +148 -0
- package/skills/{report-issue → jarvis-report-issue}/SKILL.md +3 -2
- package/skills/{prod-roadmap-report → product-roadmap-report}/SKILL.md +2 -1
- package/skills/product-specs/SKILL.md +45 -0
- package/skills/{prod-specs-update → product-specs-update}/SKILL.md +3 -2
- package/taxonomy.md +3 -21
- package/templates/AGENTS.md +7 -6
- package/templates/CDD aplicado a Prompts.md +5 -5
- package/templates/ENV-template.md +12 -9
- package/templates/engineering/AGENTS-template.md +1 -1
- package/templates/engineering/CONTACTS-template.md +1 -1
- package/templates/product/prod-discovery-template.md +98 -0
- package/{skills/prod-specs/templates → templates/product}/prod-epic-template.md +1 -0
- package/{skills/prod-specs/templates → templates/product}/prod-frd-template.md +1 -0
- package/{skills/prod-specs/templates → templates/product}/prod-issue-template.md +1 -0
- package/{skills/prod-specs/templates → templates/product}/prod-prd-template.md +1 -0
- package/workflows/AGENTS.md +3 -1
- package/workflows/README.md +2 -0
- package/workflows/engineering/eng.bug-audit.md +2 -2
- package/workflows/engineering/eng.build-tech-spec.md +38 -49
- package/workflows/engineering/eng.debug.md +10 -10
- package/workflows/engineering/eng.docs.md +2 -2
- package/workflows/engineering/eng.plan.md +5 -5
- package/workflows/engineering/eng.pr.md +8 -8
- package/workflows/engineering/eng.pre-pr.md +16 -20
- package/workflows/engineering/eng.review.md +5 -10
- package/workflows/engineering/eng.rpa.robot.md +3 -3
- package/workflows/engineering/eng.security-audit.md +5 -5
- package/workflows/engineering/eng.security-incident.md +2 -2
- package/workflows/engineering/eng.security-pipeline.md +2 -2
- package/workflows/engineering/eng.start.md +16 -50
- package/workflows/engineering/eng.work.md +9 -12
- package/workflows/engineering/frontend/eng.frontend-component.md +68 -96
- package/workflows/engineering/frontend/eng.frontend-perf-audit.md +90 -220
- package/workflows/engineering/frontend/eng.frontend-review.md +57 -63
- package/workflows/engineering/qa/eng.qa-quality-report.md +0 -5
- package/workflows/product/prod.roadmap.preview.md +2 -2
- package/workflows/product/prod.spec.breakdown.md +3 -8
- package/workflows/product/prod.spec.discovery.md +152 -0
- package/workflows/product/prod.spec.epic.md +3 -0
- package/workflows/product/prod.spec.frd.md +123 -8
- package/workflows/product/prod.spec.issue.md +3 -2
- package/workflows/product/prod.spec.md +2 -0
- package/workflows/product/prod.spec.prd.md +105 -6
- package/workflows/taxonomy.md +1 -1
- package/workflows/warm-up.md +5 -26
- package/agents/engineering/eng.tech-analyst.agent.md +0 -102
- package/skills/churn-audit/SKILL.md +0 -385
- package/skills/eng-jira-comment/SKILL.md +0 -17
- package/skills/eng-tech-analyst/SKILL.md +0 -529
- package/skills/lovable-prompt-generator/SKILL.md +0 -304
- package/skills/prod-specs/SKILL.md +0 -108
- package/skills/prod-specs/references/prod.spec.clarify.md +0 -176
- package/skills/prod-specs/references/prod.spec.epic.md +0 -107
- package/skills/prod-specs/references/prod.spec.frd.md +0 -135
- package/skills/prod-specs/references/prod.spec.issue.md +0 -145
- package/skills/prod-specs/references/prod.spec.prd.md +0 -118
- package/skills/prod-specs/templates/prod-prd-full-template.md +0 -159
- package/workflows/engineering/ta/eng.ta.atendimento.md +0 -93
- /package/skills/{eng-arch-c4 → eng-backend-arch-c4}/assets/example-code.md +0 -0
- /package/skills/{eng-arch-c4 → eng-backend-arch-c4}/assets/example-component.md +0 -0
- /package/skills/{eng-arch-c4 → eng-backend-arch-c4}/assets/example-container.md +0 -0
- /package/skills/{eng-arch-c4 → eng-backend-arch-c4}/assets/example-context.md +0 -0
- /package/skills/{prod-roadmap-report → product-roadmap-report}/README.md +0 -0
- /package/skills/{prod-roadmap-report → product-roadmap-report}/commands/status.compiled.single.team.md +0 -0
- /package/skills/{prod-roadmap-report → product-roadmap-report}/commands/status.list.projects.md +0 -0
- /package/skills/{prod-roadmap-report → product-roadmap-report}/commands/status.memory.md +0 -0
- /package/skills/{prod-roadmap-report → product-roadmap-report}/commands/status.roadmap.preview.md +0 -0
- /package/skills/{prod-roadmap-report → product-roadmap-report}/references/detailed-guide.md +0 -0
- /package/skills/{prod-roadmap-report → product-roadmap-report}/rules/detailed-guide.md +0 -0
- /package/skills/{prod-roadmap-report → product-roadmap-report}/rules/status-report-rules.md +0 -0
- /package/skills/{prod-roadmap-report → product-roadmap-report}/templates/template-multiple-teams-compiled-status.md +0 -0
- /package/skills/{prod-roadmap-report → product-roadmap-report}/templates/template-projects-list.md +0 -0
- /package/skills/{prod-roadmap-report → product-roadmap-report}/templates/template-single-team-compiled-status.md +0 -0
- /package/skills/{prod-roadmap-report → product-roadmap-report}/templates/template-single-team-status.md +0 -0
- /package/{skills/prod-specs/templates → templates/product}/prod-breakdown-template.md +0 -0
|
@@ -1,107 +0,0 @@
|
|
|
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>
|
|
@@ -1,135 +0,0 @@
|
|
|
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
|
|
@@ -1,145 +0,0 @@
|
|
|
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
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: prod.spec.prd
|
|
3
|
-
description: Instruções para alterar ou criar um especificação de produto PRD - Product Requirement Document seguindo o template e as melhores prática de mercado, de forma que possa ser utilizado e expandido por agentes de IA e humanos.
|
|
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: PRDs requerem análise profunda de requisitos, estruturação de documentos complexos e compreensão de contexto de negócio
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# PRD - Product Requirement 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
|
-
- Ao iniciar uma nova especificação de PRD (Product Requirment Document)
|
|
21
|
-
- Precisar modificar um PRD existente
|
|
22
|
-
- Quando documentação abrangente é necessária
|
|
23
|
-
- Como fonte única de verdade para o desenvolvimento do produto e base para derivar histórias e tarefas
|
|
24
|
-
|
|
25
|
-
## Princípios Fundamentais
|
|
26
|
-
1. **Sempre use o template** desta skill localizado em `$SKILL_TEMPLATE_FOLDER/prod-prd-template.md` dessa skill para o output final
|
|
27
|
-
2. **Nunca crie o arquivo final com suposições não validadas** — sempre confirme sugestões primeiro
|
|
28
|
-
3. **Seja inteligente, não robótico** — analise o contexto e proponha sugestões inteligentes, não faça perguntas vazias
|
|
29
|
-
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
## Fluxo de Trabalho
|
|
33
|
-
|
|
34
|
-
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.
|
|
35
|
-
|
|
36
|
-
Não busque validação de tudo de uma vez; valide os gates de forma incremental.
|
|
37
|
-
|
|
38
|
-
### Gate 1: Reconhecer e esclarecer
|
|
39
|
-
- Reconheça o que o usuário forneceu (liste o que foi recebido).
|
|
40
|
-
- Identifique o que foi fornecido explicitamente vs. o que está faltando
|
|
41
|
-
- Evite fazer novas buscas ou leitura de arquivos se você já recebeu informações suficientes para prosseguir. Caso contrário, peça mais informações para o usuário. Diga exatamente o que você precisa para preencher o template completamente.
|
|
42
|
-
- Faça 2–3 perguntas estratégicas sobre: clareza do problema, limites de escopo, restrições técnicas
|
|
43
|
-
- **PARE e aguarde a resposta do usuário antes de prosseguir**
|
|
44
|
-
|
|
45
|
-
### Gate 2: Sugerir conteúdo para seções ausentes
|
|
46
|
-
- 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 coloque o bloco no output final.
|
|
47
|
-
- Agrupe sugestões relacionadas (ex.: todos os indicadores de sucesso juntos, todas as evoluções futuras juntas)
|
|
48
|
-
- Formato: "Para [Nome da Seção], sugiro: [conteúdo]. Justificativa: [por quê]. Devo incluir, modificar ou remover?"
|
|
49
|
-
- Seções que DEVEM ser validadas se não fornecidas pelo usuário: TL;DR, Contexto, Definição do Problema, Indicadores de Sucesso, O que esta Iniciativa Não É, Evoluções Futuras, Fora do Escopo
|
|
50
|
-
- **PARE e aguarde o usuário aprovar, modificar ou rejeitar CADA grupo de sugestões antes de prosseguir**
|
|
51
|
-
|
|
52
|
-
### Gate 3: Confirmar lista de FRDs
|
|
53
|
-
O FRD representa funcionalidades e características do produto/solução. Não são tarefas, histórias ou micro ações dentro da funcionalidade. O FRD decompõe o PRD em soluções de médio porte que, juntas, formam a solução final.
|
|
54
|
-
|
|
55
|
-
- Utilize primariamente a lista de FRDs que o usuário deve ter fornecido.
|
|
56
|
-
- Se usuário não forneceu qualquer tipo de FRD, apresente uma lista sugestiva a partir das informações do projeto que você tem até agora e use práticas e seu conhecimento de mercado para sugerir uma lista completa de FRDs que podem ser concluídos, com ID, nome e uma descrição em uma linha
|
|
57
|
-
- Separe claramente: FRDs baseados no input do usuário vs. FRDs que você está sugerindo
|
|
58
|
-
- **PARE e aguarde a confirmação do usuário antes de prosseguir**
|
|
59
|
-
|
|
60
|
-
### Gate 4: Gerar output final
|
|
61
|
-
- Se está modificando um PRD existente, apenas atualize as seções que foram alteradas ou adicionadas ou especificadas pelo usuário. Não modifique o arquivo sem pedido explicito do usuário.
|
|
62
|
-
- Somente após os Gates 1–3 aprovados, gere o output final usando o template localizado em `$SKILL_TEMPLATE_FOLDER/prod-prd-template.md`
|
|
63
|
-
- O output final deve conter APENAS: conteúdo fornecido pelo usuário + sugestões aprovadas pelo usuário, seguindo o template
|
|
64
|
-
- Se uma seção não tiver conteúdo fornecido ou aprovado, deixe em branco com um marcador TODO e informe o usuário
|
|
65
|
-
- Antes de disponibilizar o output final, valide se está seguindo todos os padrões estabelecidos no template
|
|
66
|
-
- Disponibilize o output final como artefato para o usuário ou para o Agente AI utilizado, conforme a necessidade
|
|
67
|
-
|
|
68
|
-
---
|
|
69
|
-
|
|
70
|
-
## Abordagens por Contexto
|
|
71
|
-
|
|
72
|
-
**Contexto rico** (documento/requisitos detalhados fornecidos):
|
|
73
|
-
- Analise o que está completo vs. o que está faltando
|
|
74
|
-
- Sugira complementos com raciocínio: "Com base em X, sugiro Y porque Z. Está correto?"
|
|
75
|
-
- Agrupe sugestões relacionadas (ex.: todos os indicadores de sucesso juntos)
|
|
76
|
-
|
|
77
|
-
**Contexto mínimo** (apenas uma ideia):
|
|
78
|
-
- Faça perguntas direcionadas para o TL;DR (O QUÊ / POR QUÊ / COMO)
|
|
79
|
-
- Infira contexto adicional e valide: "A partir das suas respostas, infiro X. Devo incluir isso?"
|
|
80
|
-
|
|
81
|
-
**Projeto existente**:
|
|
82
|
-
- Leia o código-fonte, documentos e commits recentes primeiro
|
|
83
|
-
- Sugira o TL;DR com base na análise para confirmação
|
|
84
|
-
|
|
85
|
-
**Funcionalidades mencionadas**:
|
|
86
|
-
- Sugira a lista de FRDs e confirme antes de incluir
|
|
87
|
-
|
|
88
|
-
---
|
|
89
|
-
|
|
90
|
-
## Padrões de Qualidade
|
|
91
|
-
|
|
92
|
-
✅ **Boa sugestão**: Contextual, específica, demonstra entendimento do domínio
|
|
93
|
-
```
|
|
94
|
-
Com base em ser um plugin de sincronização para criadores, sugiro:
|
|
95
|
-
- Confiabilidade de Sincronização: taxa de sucesso de 99,5%
|
|
96
|
-
- Tempo Economizado: redução de 15 min/publicação
|
|
97
|
-
- Adoção: 70% usando 3+ vezes/semana após 30 dias
|
|
98
|
-
|
|
99
|
-
Esses indicadores estão alinhados com "eliminar o atrito da sincronização manual." Posso usá-los?
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
❌ **Má sugestão**: Genérica, sem raciocínio
|
|
103
|
-
```
|
|
104
|
-
Quais métricas? A) Engajamento B) Receita C) Outro
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
---
|
|
108
|
-
|
|
109
|
-
## Evite
|
|
110
|
-
- Perguntas vazias sem sugestões quando há contexto disponível
|
|
111
|
-
- Perguntar sobre cada pequeno detalhe separadamente
|
|
112
|
-
- Sugestões genéricas que se aplicam a qualquer produto
|
|
113
|
-
- Inventar pesquisas de usuário, dados de concorrentes ou restrições técnicas
|
|
114
|
-
- Criar o documento final antes de o usuário validar as suposições
|
|
115
|
-
- Usar frases e termos como:
|
|
116
|
-
- "Vamos construir uma solução", "Vamos criar", "Vamos planejar"
|
|
117
|
-
- Os PRDs descrevem o produto como se ele já existisse, não como se fosse ser construído no futuro
|
|
118
|
-
- Em vez disso, use: "Esta é uma solução", "Nossa solução", "Nossa abordagem", "Este produto", "Esta funcionalidade"
|
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: [Nome]
|
|
3
|
-
version: [X.Y.Z]
|
|
4
|
-
created_at: [YYYY-MM-DD]
|
|
5
|
-
updated_at: [YYYY-MM-DD]
|
|
6
|
-
link_task: [URL referêncial do $TASK_MANAGER]
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
# [Nome do PRD]
|
|
11
|
-
|
|
12
|
-
## TL:DR;
|
|
13
|
-
|
|
14
|
-
- **O que** resolver:
|
|
15
|
-
- [Descreva no mínimo 2 bullet points qual o problema queremos resolver? O que está nos motivando/estimulando a criar uma solução? Quais as dores que o usuário tem sentido?]
|
|
16
|
-
- **Por que** resolver:
|
|
17
|
-
- [Descreva no mínimo 2 bullet points quais as razões pelas quais queremos resolver ou explorar; marcadores. Escreva no máximo 3 bullet points. Se o usuário enviar informações, use-as.]
|
|
18
|
-
- **Como** resolver:
|
|
19
|
-
- [Descreva no mínimo 2 bullet points as descrições da solução ou hipóteses que iremos construir. Se o usuário não deixou claro, pergunte.]
|
|
20
|
-
|
|
21
|
-
## Contexto
|
|
22
|
-
|
|
23
|
-
[Descrição detalhada do contexto divididos em 3-4 parágrafos que somados devem ter um total máximo de 250 palavras, respondendo: Qual o problema que iremos resolver ou a oportunidade que iremos explorar? O que está acontecendo hoje? Que dor existe? Por que isso é importante para o usuário e quais os impactos benéficos para o negócio? Você pode expandir e usar as informações da TL:DR, mas sempre pergunte ao usuário caso não houver informações suficientes. Procure na web casos parecidos para criar uma resposta mais correta e completa.]
|
|
24
|
-
|
|
25
|
-
### Declaração dos problemas
|
|
26
|
-
[Use o formato abaixo para listar os problemas que queremos resolver. Utilize as informações do usuário para sugerir problemas comuns que essa solução irá resolver. Foque-se nos problemas que o usuário enfrenta. Sugira a partir de pesquisas na web por casos reais e também utilize informações já feitas no próprio projeto.]
|
|
27
|
-
|
|
28
|
-
```
|
|
29
|
-
- Clientes não conseguem fazer seus pagamentos de maneira eficaz
|
|
30
|
-
- Ainda temos processos manuais em fluxos altamente sensíveis
|
|
31
|
-
- Usuário não tem feedback imediato sobre conclusão ou erro do pagamento via plataforma
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
## Solução
|
|
36
|
-
[Visão geral de 2 a 3 parágrafos respondendo: O que estamos construindo? Por que? Para quem? Impacto esperado? Você pode expandir as informações do TLDR;]
|
|
37
|
-
|
|
38
|
-
[Descreva qual é a solução e por que é a melhor solução. Qual é o custo de oportunidade de não fazer isso? A descrição da nossa solução e como ela ajudará o usuário a resolver o problema e a empresa a explorar esta oportunidade.]
|
|
39
|
-
|
|
40
|
-
### Funcionalidades chave
|
|
41
|
-
|
|
42
|
-
```
|
|
43
|
-
#### Suportar múltiplos métodos de pagamento
|
|
44
|
-
- Pagamento com criptomoedas: permite que usuários paguem utilizando criptmoedas como Bitcoin, ETH e outras
|
|
45
|
-
- Integração com cartão de crédito via gateways: para facilitar a integração e pagamento feito com cartão na plataforma, sem a necessidade de ter regulações oficiais.
|
|
46
|
-
- Suporte com carteiras digitais como Apple Pay e Google Pay: facilitando a adoção de usuários sem a necessidade de cadastro de novas informações na plataforma.
|
|
47
|
-
- Pagamento via PIX: facilitando a adoção com pagamentos utilizando código copia/cola e QR Code;
|
|
48
|
-
|
|
49
|
-
#### Prevenção a fraude
|
|
50
|
-
- Detecção de fraudes via machine learning: automatizando ao máximo a detecção de possíveis compras fraudulentas e prevenindo lavagem de dinheiro.
|
|
51
|
-
- Assessment de risco em tempo real: com fallback para a mesa de operações quando validação automática falhar.
|
|
52
|
-
|
|
53
|
-
#### Pagamento via plataforma
|
|
54
|
-
- Pagamento utilizando saldo: clientes fazem recarga de saldo na plataforma para fazer pagamentos diretamente na plataforma
|
|
55
|
-
- Agendamento de pagamentos: usuário agendar pagamentos via plataforma para que sejam executados automaticamente em dia específico
|
|
56
|
-
- URL aberta para um terceiro pagar: cliente poderá compartilhar a págian de pagamento com os valores a serem pagos para outras pessoas efetuarem o pagamento.
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
## Critérios Gerais
|
|
60
|
-
[Siga o padrão que está abaixo. Lembre-se que os critérios em uma PRD devem ser descrições de alto nível, de regras de funcionamento e enfatizando as regras de negócio. Definir o que e não o como. ]
|
|
61
|
-
|
|
62
|
-
```
|
|
63
|
-
### CRT-1: [nome do cenário]
|
|
64
|
-
- Usuário pode filtrar resultados da pesquisa por faixa de preço
|
|
65
|
-
- Deve ter possibilidade de login via redes sociais
|
|
66
|
-
- O sistema deve processar e exibir atualizações de localização com latência máxima de 30 segundos para 95% das requisições, mesmo com 1000+ veículos simultâneos
|
|
67
|
-
- Todos os dados sensíveis devem ser criptografados em repouso e em trânsito, seguindo conformidade com LGPD e GDPR
|
|
68
|
-
- Todas as funcionalidades devem passar por revisão de segurança automatizada e validação manual das 10 vulnerabilidades OWASP mais frequentes.
|
|
69
|
-
|
|
70
|
-
### CRT-2: [nome do cenário]
|
|
71
|
-
|
|
72
|
-
- Arquivos enviados devem permitir os formatos MP3, WAV e MPG4, com tamanho máximo de 100MB
|
|
73
|
-
- O usuário pode ouvir o áudio enviado antes de confirmar o envio, e arquivos corrompidos ou fora do padrão devem gerar alerta e impedir o envio
|
|
74
|
-
- Todos os dados sensíveis devem ser criptografados em repouso e em trânsito, seguindo conformidade com LGPD e GDPR.
|
|
75
|
-
- O produto deve ser integrado de forma bidirecional com os sistemas externos aprovados, passando nos cenários de teste de integração.
|
|
76
|
-
|
|
77
|
-
### CRT-3: [nome do cenário]
|
|
78
|
-
|
|
79
|
-
- Campo de busca deve sugerir resultados em tempo real com tolerância a erros de digitação
|
|
80
|
-
- Resultados da busca devem ser apresentados em até 1 segundo e exibidos em páginas paginadas.
|
|
81
|
-
- Histórico de ações realizadas pelo usuário deve ser registrado e disponível mediante consulta no painel administrativo.
|
|
82
|
-
|
|
83
|
-
### CRT-4: [nome do cenário]
|
|
84
|
-
- Usuário deve conseguir redefinir senha com validação via e-mail em menos de 5 minutos
|
|
85
|
-
- Sistema deve bloquear a conta após cinco tentativas de login mal-sucedidas e registrar o evento para consulta posterior.
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
## Indicadores de Sucesso
|
|
90
|
-
[Sugira e pergunte para o usuário quais indicadores que devem ser monitorados para entendermos o sucesso.]
|
|
91
|
-
|
|
92
|
-
```
|
|
93
|
-
- Aumentar sucesso de pagamento em 21%
|
|
94
|
-
- Reduzir perdas por fraude em 25%
|
|
95
|
-
- Melhorar satisfação do cliente em 30%
|
|
96
|
-
- Manter uptime de plataform em 99%
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
## Escopo
|
|
101
|
-
|
|
102
|
-
### Dentro do Escopo
|
|
103
|
-
✅ [Item 1]
|
|
104
|
-
✅ [Item 2]
|
|
105
|
-
✅ [Item 3]
|
|
106
|
-
|
|
107
|
-
### Fora do escopo
|
|
108
|
-
❌ [Item 1]
|
|
109
|
-
❌ [Item 2]
|
|
110
|
-
❌ [Item 3]
|
|
111
|
-
|
|
112
|
-
### Evoluções futuras
|
|
113
|
-
🔮 [Item 1]
|
|
114
|
-
🔮 [Item 2]
|
|
115
|
-
|
|
116
|
-
## Artefatos e documentações
|
|
117
|
-
- [Link file 1]
|
|
118
|
-
- [Link file 2]
|
|
119
|
-
|
|
120
|
-
## Competidores
|
|
121
|
-
|
|
122
|
-
[Descrição de soluções já utilizadas no mercado pelos usuários. Crie seções com cada um dos competidores, descrevendo suas principais features e contextos. Siga o padrão abaixo:]
|
|
123
|
-
|
|
124
|
-
```
|
|
125
|
-
### Nome do Competidor 1
|
|
126
|
-
|
|
127
|
-
[Nome do Competidor 1](URL do site)
|
|
128
|
-
|
|
129
|
-
- Breve descrição (segmento, localização, data de fundação)
|
|
130
|
-
- Tamanho da empresa: número de funcionários, presença geográfica, faturamento estimado (se público)
|
|
131
|
-
- Histórico relevante e diferenciais
|
|
132
|
-
|
|
133
|
-
#### Principais features
|
|
134
|
-
- Lista das principais funcionalidades ou produtos oferecidos
|
|
135
|
-
- Características essenciais (preço, usabilidade, benefícios, diferenciais técnicos)
|
|
136
|
-
- Estrutura de suporte e atendimento ao cliente (se aplicável)
|
|
137
|
-
|
|
138
|
-
#### Economics / Base de usuários
|
|
139
|
-
|
|
140
|
-
- Faturamento anual, margem de lucro ou dados financeiros relevantes (se públicos)
|
|
141
|
-
- Número de usuários/clientes ativos (caso disponível)
|
|
142
|
-
- Participação de mercado relativa
|
|
143
|
-
- Crescimento recente ou taxa de aquisição de novos clientes, se possível
|
|
144
|
-
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
## Restrições, Suposições e Riscos
|
|
148
|
-
[Pergunte para o usuário se existem alguma restrição de negócio, técnico ou de produto que possa dificultar a construção ou que precisa ser discutido com áreas ou stakeholders.]
|
|
149
|
-
|
|
150
|
-
[Escreva aqui as principais suposições e hipóteses sobre esse projeto. Utilize informações fornecidas pelo usuário, caso contrário, pergunte para ele nessa etapa.]
|
|
151
|
-
|
|
152
|
-
### Restrições de Negócio
|
|
153
|
-
[Bullet points com as restrições de negócio mapeadas e fornecidas pelo usuário. Se não tiver essa informação, pergunte para o usuário.]
|
|
154
|
-
|
|
155
|
-
### Restrições técnicas
|
|
156
|
-
[Bullet points com as restrições técnicas mapeadas e fornecidas pelo usuário. Se não tiver essa informação, pergunte para o usuário.]
|
|
157
|
-
|
|
158
|
-
### Riscos e mitigações
|
|
159
|
-
[Seções o título do tópico e sua detalhes expandidos sobre os riscos que podem existir sobre essa iniciativa e como elas são mitigadas.]
|