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