create-genia-os 2.1.1 → 2.3.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/README.md +117 -11
- package/bin/index.js +92 -0
- package/package.json +4 -2
- package/template/.claude/CLAUDE.md +215 -215
- package/template/.claude/agent-memory/analyst/MEMORY.md +20 -20
- package/template/.claude/agent-memory/architect/MEMORY.md +20 -20
- package/template/.claude/agent-memory/dev/MEMORY.md +20 -20
- package/template/.claude/agent-memory/devops/MEMORY.md +20 -20
- package/template/.claude/agent-memory/pm/MEMORY.md +20 -20
- package/template/.claude/agent-memory/po/MEMORY.md +20 -20
- package/template/.claude/agent-memory/qa/MEMORY.md +20 -20
- package/template/.claude/agent-memory/reviewer/MEMORY.md +20 -20
- package/template/.claude/agent-memory/sm/MEMORY.md +20 -20
- package/template/.claude/hooks/enforce-git-push-authority.py +70 -70
- package/template/.claude/hooks/metrics-tracker.cjs +65 -0
- package/template/.claude/hooks/precompact-session-digest.cjs +87 -87
- package/template/.claude/hooks/sql-governance.py +65 -65
- package/template/.claude/hooks/synapse-engine.cjs +122 -122
- package/template/.claude/hooks/write-path-validation.py +59 -59
- package/template/.claude/rules/agent-authority.md +39 -39
- package/template/.claude/rules/agent-handoff.md +71 -71
- package/template/.claude/rules/agent-memory.md +61 -61
- package/template/.claude/rules/ids-principles.md +52 -52
- package/template/.claude/rules/mcp-usage.md +49 -49
- package/template/.claude/rules/new-project.md +157 -0
- package/template/.claude/rules/story-lifecycle.md +87 -87
- package/template/.claude/rules/workflow-execution.md +68 -68
- package/template/.claude/settings.json +58 -58
- package/template/.claude/settings.local.json +14 -14
- package/template/.genia/CONSTITUTION.md +129 -129
- package/template/.genia/contexts/api-patterns.md +134 -134
- package/template/.genia/contexts/nextjs-react.md +210 -210
- package/template/.genia/contexts/projeto.md +18 -18
- package/template/.genia/contexts/supabase.md +152 -152
- package/template/.genia/contexts/whatsapp-cloud.md +176 -176
- package/template/.genia/core-config.yaml +192 -192
- package/template/.genia/development/agents/analyst.md +138 -138
- package/template/.genia/development/agents/architect.md +171 -171
- package/template/.genia/development/agents/dev.md +160 -160
- package/template/.genia/development/agents/devops.md +200 -200
- package/template/.genia/development/agents/pm.md +142 -142
- package/template/.genia/development/agents/po.md +165 -165
- package/template/.genia/development/agents/qa.md +183 -183
- package/template/.genia/development/agents/reviewer.md +198 -198
- package/template/.genia/development/agents/sm.md +230 -230
- package/template/.genia/development/checklists/architecture-review.md +189 -189
- package/template/.genia/development/checklists/pre-commit.md +205 -205
- package/template/.genia/development/checklists/pre-deploy.md +230 -230
- package/template/.genia/development/checklists/qa-gate.md +216 -216
- package/template/.genia/development/checklists/story-dod.md +155 -155
- package/template/.genia/development/tasks/code-review.md +197 -197
- package/template/.genia/development/tasks/criar-prd.md +170 -170
- package/template/.genia/development/tasks/criar-spec.md +188 -188
- package/template/.genia/development/tasks/criar-story.md +185 -185
- package/template/.genia/development/tasks/debug-sistematico.md +230 -230
- package/template/.genia/development/tasks/dev-implement.md +199 -199
- package/template/.genia/development/tasks/qa-review.md +224 -224
- package/template/.genia/development/workflows/brownfield.md +178 -178
- package/template/.genia/development/workflows/delivery.md +208 -208
- package/template/.genia/development/workflows/development.md +189 -189
- package/template/.genia/development/workflows/greenfield.md +166 -166
- package/template/.genia/development/workflows/planning.md +167 -167
- package/template/.genia/development/workflows/qa-loop.md +179 -179
- package/template/.genia/development/workflows/spec-pipeline.md +192 -192
- package/template/.genia/development/workflows/story-development-cycle.md +252 -252
- package/template/.genia/guidelines/clean-code.md +98 -98
- package/template/.genia/guidelines/testing.md +176 -176
- package/template/.genia/skills/design/canvas-design.md +109 -109
- package/template/.genia/skills/design/frontend-design.md +140 -140
- package/template/.genia/skills/dev/mcp-builder.md +172 -172
- package/template/.genia/skills/dev/webapp-testing.md +150 -150
- package/template/.genia/skills/documents/docx.md +153 -153
- package/template/.genia/skills/documents/pdf.md +134 -134
- package/template/.genia/skills/documents/pptx.md +118 -118
- package/template/.genia/skills/documents/xlsx.md +140 -140
- package/template/.synapse/agent-analyst +8 -8
- package/template/.synapse/agent-architect +8 -8
- package/template/.synapse/agent-dev +8 -8
- package/template/.synapse/agent-devops +8 -8
- package/template/.synapse/agent-pm +8 -8
- package/template/.synapse/agent-po +7 -7
- package/template/.synapse/agent-qa +8 -8
- package/template/.synapse/agent-reviewer +7 -7
- package/template/.synapse/agent-sm +7 -7
- package/template/.synapse/constitution +7 -7
- package/template/.synapse/context +8 -8
- package/template/.synapse/global +8 -8
- package/template/.synapse/manifest +14 -14
- package/template/README.md +53 -53
|
@@ -1,118 +1,118 @@
|
|
|
1
|
-
# Skill: /pptx
|
|
2
|
-
|
|
3
|
-
## Metadata
|
|
4
|
-
- **Nome**: PowerPoint Processing
|
|
5
|
-
- **Comando**: /pptx
|
|
6
|
-
- **Agente**: @dev
|
|
7
|
-
- **Categoria**: documents
|
|
8
|
-
- **Versao**: 2.0
|
|
9
|
-
|
|
10
|
-
## Descricao
|
|
11
|
-
Criacao, edicao e analise de apresentacoes PowerPoint com suporte a layouts, comentarios, notas do apresentador e temas.
|
|
12
|
-
|
|
13
|
-
## Quando Usar
|
|
14
|
-
- Criar novas apresentacoes
|
|
15
|
-
- Modificar/editar slides
|
|
16
|
-
- Trabalhar com layouts
|
|
17
|
-
- Adicionar comentarios ou notas
|
|
18
|
-
- Extrair conteudo de apresentacoes
|
|
19
|
-
|
|
20
|
-
## Extracao de Texto
|
|
21
|
-
```bash
|
|
22
|
-
python -m markitdown apresentacao.pptx
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## Estrutura de Arquivos PPTX
|
|
26
|
-
|
|
27
|
-
| Arquivo | Conteudo |
|
|
28
|
-
|---------|----------|
|
|
29
|
-
| `ppt/presentation.xml` | Metadata e referencias |
|
|
30
|
-
| `ppt/slides/slide{N}.xml` | Conteudo dos slides |
|
|
31
|
-
| `ppt/notesSlides/` | Notas do apresentador |
|
|
32
|
-
| `ppt/comments/` | Comentarios |
|
|
33
|
-
| `ppt/slideLayouts/` | Templates de layout |
|
|
34
|
-
| `ppt/slideMasters/` | Master slides |
|
|
35
|
-
| `ppt/theme/` | Tema e estilos |
|
|
36
|
-
| `ppt/media/` | Imagens e midia |
|
|
37
|
-
|
|
38
|
-
## Criar Apresentacao (html2pptx)
|
|
39
|
-
|
|
40
|
-
### Design Principles
|
|
41
|
-
1. **Considerar o assunto**: Tom, industria, mood
|
|
42
|
-
2. **Branding**: Cores da empresa/organizacao
|
|
43
|
-
3. **Paleta contextual**: Cores que refletem o tema
|
|
44
|
-
4. **Declarar abordagem**: Explicar escolhas antes do codigo
|
|
45
|
-
|
|
46
|
-
### Workflow
|
|
47
|
-
1. Ler `html2pptx.md` completamente
|
|
48
|
-
2. Criar HTML para cada slide (720pt x 405pt para 16:9)
|
|
49
|
-
3. Usar JavaScript com `html2pptx.js`
|
|
50
|
-
4. Validar visualmente com thumbnails
|
|
51
|
-
|
|
52
|
-
### Paletas de Cores (Exemplos)
|
|
53
|
-
```
|
|
54
|
-
Classic Blue: #1C2833, #2E4053, #AAB7B8, #F4F6F6
|
|
55
|
-
Teal & Coral: #5EA8A7, #277884, #FE4447, #FFFFFF
|
|
56
|
-
Bold Red: #C0392B, #E74C3C, #F39C12, #F1C40F
|
|
57
|
-
Black & Gold: #BF9A4A, #000000, #F4F6F6
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
### Dicas de Layout
|
|
61
|
-
- **Duas colunas**: Header full-width, duas colunas abaixo
|
|
62
|
-
- **Full-slide**: Chart/tabela ocupando slide inteiro
|
|
63
|
-
- **NUNCA**: Empilhar verticalmente texto + chart
|
|
64
|
-
|
|
65
|
-
## Editar Apresentacao Existente
|
|
66
|
-
|
|
67
|
-
### Workflow
|
|
68
|
-
1. Desempacotar: `python ooxml/scripts/unpack.py apresentacao.pptx diretorio`
|
|
69
|
-
2. Editar XMLs em `ppt/slides/`
|
|
70
|
-
3. Validar: `python ooxml/scripts/validate.py diretorio --original apresentacao.pptx`
|
|
71
|
-
4. Reempacotar: `python ooxml/scripts/pack.py diretorio output.pptx`
|
|
72
|
-
|
|
73
|
-
## Usar Template Existente
|
|
74
|
-
|
|
75
|
-
### Workflow
|
|
76
|
-
1. Extrair texto e criar thumbnails
|
|
77
|
-
2. Analisar template e criar inventario
|
|
78
|
-
3. Criar outline com mapeamento de slides
|
|
79
|
-
4. Reordenar slides: `python scripts/rearrange.py template.pptx working.pptx 0,34,34,50`
|
|
80
|
-
5. Extrair inventario: `python scripts/inventory.py working.pptx inventory.json`
|
|
81
|
-
6. Gerar JSON de substituicao
|
|
82
|
-
7. Aplicar: `python scripts/replace.py working.pptx replacement.json output.pptx`
|
|
83
|
-
|
|
84
|
-
## Criar Thumbnails
|
|
85
|
-
```bash
|
|
86
|
-
python scripts/thumbnail.py template.pptx [output_prefix]
|
|
87
|
-
# Opcoes: --cols 4 (3-6)
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
## Converter para Imagens
|
|
91
|
-
```bash
|
|
92
|
-
# PPTX → PDF
|
|
93
|
-
soffice --headless --convert-to pdf apresentacao.pptx
|
|
94
|
-
|
|
95
|
-
# PDF → JPEG
|
|
96
|
-
pdftoppm -jpeg -r 150 apresentacao.pdf slide
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
## Dependencias
|
|
100
|
-
```bash
|
|
101
|
-
# Python
|
|
102
|
-
pip install markitdown defusedxml
|
|
103
|
-
|
|
104
|
-
# Node
|
|
105
|
-
npm install pptxgenjs playwright react-icons sharp
|
|
106
|
-
|
|
107
|
-
# Sistema
|
|
108
|
-
sudo apt-get install libreoffice poppler-utils
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
## Tasks Relacionadas
|
|
112
|
-
- task:criar-apresentacao
|
|
113
|
-
- task:gerar-slides-dados
|
|
114
|
-
- task:adaptar-template
|
|
115
|
-
|
|
116
|
-
## Workflows
|
|
117
|
-
- workflow:criar-pitch-deck
|
|
118
|
-
- workflow:relatorio-visual
|
|
1
|
+
# Skill: /pptx
|
|
2
|
+
|
|
3
|
+
## Metadata
|
|
4
|
+
- **Nome**: PowerPoint Processing
|
|
5
|
+
- **Comando**: /pptx
|
|
6
|
+
- **Agente**: @dev
|
|
7
|
+
- **Categoria**: documents
|
|
8
|
+
- **Versao**: 2.0
|
|
9
|
+
|
|
10
|
+
## Descricao
|
|
11
|
+
Criacao, edicao e analise de apresentacoes PowerPoint com suporte a layouts, comentarios, notas do apresentador e temas.
|
|
12
|
+
|
|
13
|
+
## Quando Usar
|
|
14
|
+
- Criar novas apresentacoes
|
|
15
|
+
- Modificar/editar slides
|
|
16
|
+
- Trabalhar com layouts
|
|
17
|
+
- Adicionar comentarios ou notas
|
|
18
|
+
- Extrair conteudo de apresentacoes
|
|
19
|
+
|
|
20
|
+
## Extracao de Texto
|
|
21
|
+
```bash
|
|
22
|
+
python -m markitdown apresentacao.pptx
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Estrutura de Arquivos PPTX
|
|
26
|
+
|
|
27
|
+
| Arquivo | Conteudo |
|
|
28
|
+
|---------|----------|
|
|
29
|
+
| `ppt/presentation.xml` | Metadata e referencias |
|
|
30
|
+
| `ppt/slides/slide{N}.xml` | Conteudo dos slides |
|
|
31
|
+
| `ppt/notesSlides/` | Notas do apresentador |
|
|
32
|
+
| `ppt/comments/` | Comentarios |
|
|
33
|
+
| `ppt/slideLayouts/` | Templates de layout |
|
|
34
|
+
| `ppt/slideMasters/` | Master slides |
|
|
35
|
+
| `ppt/theme/` | Tema e estilos |
|
|
36
|
+
| `ppt/media/` | Imagens e midia |
|
|
37
|
+
|
|
38
|
+
## Criar Apresentacao (html2pptx)
|
|
39
|
+
|
|
40
|
+
### Design Principles
|
|
41
|
+
1. **Considerar o assunto**: Tom, industria, mood
|
|
42
|
+
2. **Branding**: Cores da empresa/organizacao
|
|
43
|
+
3. **Paleta contextual**: Cores que refletem o tema
|
|
44
|
+
4. **Declarar abordagem**: Explicar escolhas antes do codigo
|
|
45
|
+
|
|
46
|
+
### Workflow
|
|
47
|
+
1. Ler `html2pptx.md` completamente
|
|
48
|
+
2. Criar HTML para cada slide (720pt x 405pt para 16:9)
|
|
49
|
+
3. Usar JavaScript com `html2pptx.js`
|
|
50
|
+
4. Validar visualmente com thumbnails
|
|
51
|
+
|
|
52
|
+
### Paletas de Cores (Exemplos)
|
|
53
|
+
```
|
|
54
|
+
Classic Blue: #1C2833, #2E4053, #AAB7B8, #F4F6F6
|
|
55
|
+
Teal & Coral: #5EA8A7, #277884, #FE4447, #FFFFFF
|
|
56
|
+
Bold Red: #C0392B, #E74C3C, #F39C12, #F1C40F
|
|
57
|
+
Black & Gold: #BF9A4A, #000000, #F4F6F6
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Dicas de Layout
|
|
61
|
+
- **Duas colunas**: Header full-width, duas colunas abaixo
|
|
62
|
+
- **Full-slide**: Chart/tabela ocupando slide inteiro
|
|
63
|
+
- **NUNCA**: Empilhar verticalmente texto + chart
|
|
64
|
+
|
|
65
|
+
## Editar Apresentacao Existente
|
|
66
|
+
|
|
67
|
+
### Workflow
|
|
68
|
+
1. Desempacotar: `python ooxml/scripts/unpack.py apresentacao.pptx diretorio`
|
|
69
|
+
2. Editar XMLs em `ppt/slides/`
|
|
70
|
+
3. Validar: `python ooxml/scripts/validate.py diretorio --original apresentacao.pptx`
|
|
71
|
+
4. Reempacotar: `python ooxml/scripts/pack.py diretorio output.pptx`
|
|
72
|
+
|
|
73
|
+
## Usar Template Existente
|
|
74
|
+
|
|
75
|
+
### Workflow
|
|
76
|
+
1. Extrair texto e criar thumbnails
|
|
77
|
+
2. Analisar template e criar inventario
|
|
78
|
+
3. Criar outline com mapeamento de slides
|
|
79
|
+
4. Reordenar slides: `python scripts/rearrange.py template.pptx working.pptx 0,34,34,50`
|
|
80
|
+
5. Extrair inventario: `python scripts/inventory.py working.pptx inventory.json`
|
|
81
|
+
6. Gerar JSON de substituicao
|
|
82
|
+
7. Aplicar: `python scripts/replace.py working.pptx replacement.json output.pptx`
|
|
83
|
+
|
|
84
|
+
## Criar Thumbnails
|
|
85
|
+
```bash
|
|
86
|
+
python scripts/thumbnail.py template.pptx [output_prefix]
|
|
87
|
+
# Opcoes: --cols 4 (3-6)
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Converter para Imagens
|
|
91
|
+
```bash
|
|
92
|
+
# PPTX → PDF
|
|
93
|
+
soffice --headless --convert-to pdf apresentacao.pptx
|
|
94
|
+
|
|
95
|
+
# PDF → JPEG
|
|
96
|
+
pdftoppm -jpeg -r 150 apresentacao.pdf slide
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Dependencias
|
|
100
|
+
```bash
|
|
101
|
+
# Python
|
|
102
|
+
pip install markitdown defusedxml
|
|
103
|
+
|
|
104
|
+
# Node
|
|
105
|
+
npm install pptxgenjs playwright react-icons sharp
|
|
106
|
+
|
|
107
|
+
# Sistema
|
|
108
|
+
sudo apt-get install libreoffice poppler-utils
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## Tasks Relacionadas
|
|
112
|
+
- task:criar-apresentacao
|
|
113
|
+
- task:gerar-slides-dados
|
|
114
|
+
- task:adaptar-template
|
|
115
|
+
|
|
116
|
+
## Workflows
|
|
117
|
+
- workflow:criar-pitch-deck
|
|
118
|
+
- workflow:relatorio-visual
|
|
@@ -1,140 +1,140 @@
|
|
|
1
|
-
# Skill: /xlsx
|
|
2
|
-
|
|
3
|
-
## Metadata
|
|
4
|
-
- **Nome**: Excel/Spreadsheet Processing
|
|
5
|
-
- **Comando**: /xlsx
|
|
6
|
-
- **Agente**: @dev
|
|
7
|
-
- **Categoria**: documents
|
|
8
|
-
- **Versao**: 2.0
|
|
9
|
-
|
|
10
|
-
## Descricao
|
|
11
|
-
Criacao, edicao e analise de planilhas com suporte a formulas, formatacao, analise de dados e visualizacao.
|
|
12
|
-
|
|
13
|
-
## Quando Usar
|
|
14
|
-
- Criar planilhas com formulas
|
|
15
|
-
- Ler e analisar dados
|
|
16
|
-
- Modificar planilhas preservando formulas
|
|
17
|
-
- Analise e visualizacao de dados
|
|
18
|
-
- Recalcular formulas
|
|
19
|
-
|
|
20
|
-
## Requisitos de Qualidade
|
|
21
|
-
|
|
22
|
-
### Zero Erros de Formula
|
|
23
|
-
Todo arquivo Excel deve ter ZERO erros (#REF!, #DIV/0!, #VALUE!, #N/A, #NAME?)
|
|
24
|
-
|
|
25
|
-
### Cores Padrao (Modelos Financeiros)
|
|
26
|
-
- **Texto azul**: Inputs hardcoded
|
|
27
|
-
- **Texto preto**: TODAS as formulas
|
|
28
|
-
- **Texto verde**: Links de outras abas
|
|
29
|
-
- **Texto vermelho**: Links externos
|
|
30
|
-
- **Fundo amarelo**: Assumpcoes importantes
|
|
31
|
-
|
|
32
|
-
## Pandas - Analise de Dados
|
|
33
|
-
```python
|
|
34
|
-
import pandas as pd
|
|
35
|
-
|
|
36
|
-
# Ler Excel
|
|
37
|
-
df = pd.read_excel('arquivo.xlsx')
|
|
38
|
-
all_sheets = pd.read_excel('arquivo.xlsx', sheet_name=None) # Todas as abas
|
|
39
|
-
|
|
40
|
-
# Analisar
|
|
41
|
-
df.head() # Preview
|
|
42
|
-
df.info() # Info das colunas
|
|
43
|
-
df.describe() # Estatisticas
|
|
44
|
-
|
|
45
|
-
# Escrever
|
|
46
|
-
df.to_excel('output.xlsx', index=False)
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
## OpenPyXL - Formulas e Formatacao
|
|
50
|
-
|
|
51
|
-
### Criar Arquivo
|
|
52
|
-
```python
|
|
53
|
-
from openpyxl import Workbook
|
|
54
|
-
from openpyxl.styles import Font, PatternFill, Alignment
|
|
55
|
-
|
|
56
|
-
wb = Workbook()
|
|
57
|
-
sheet = wb.active
|
|
58
|
-
|
|
59
|
-
# Adicionar dados
|
|
60
|
-
sheet['A1'] = 'Produto'
|
|
61
|
-
sheet['B1'] = 'Valor'
|
|
62
|
-
sheet.append(['Item 1', 100])
|
|
63
|
-
sheet.append(['Item 2', 200])
|
|
64
|
-
|
|
65
|
-
# Formula (NUNCA hardcodar valores calculados)
|
|
66
|
-
sheet['B4'] = '=SUM(B2:B3)'
|
|
67
|
-
|
|
68
|
-
# Formatacao
|
|
69
|
-
sheet['A1'].font = Font(bold=True)
|
|
70
|
-
sheet['A1'].fill = PatternFill('solid', start_color='FFFF00')
|
|
71
|
-
sheet.column_dimensions['A'].width = 20
|
|
72
|
-
|
|
73
|
-
wb.save('output.xlsx')
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
### Editar Arquivo Existente
|
|
77
|
-
```python
|
|
78
|
-
from openpyxl import load_workbook
|
|
79
|
-
|
|
80
|
-
wb = load_workbook('existente.xlsx')
|
|
81
|
-
sheet = wb.active
|
|
82
|
-
|
|
83
|
-
# Modificar
|
|
84
|
-
sheet['A1'] = 'Novo Valor'
|
|
85
|
-
sheet.insert_rows(2)
|
|
86
|
-
|
|
87
|
-
wb.save('modificado.xlsx')
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
## REGRA CRITICA: Usar Formulas
|
|
91
|
-
|
|
92
|
-
### ERRADO - Hardcodar valores
|
|
93
|
-
```python
|
|
94
|
-
total = df['Sales'].sum()
|
|
95
|
-
sheet['B10'] = total # Hardcoda 5000
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
### CORRETO - Usar formulas Excel
|
|
99
|
-
```python
|
|
100
|
-
sheet['B10'] = '=SUM(B2:B9)'
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
## Recalcular Formulas
|
|
104
|
-
```bash
|
|
105
|
-
python recalc.py output.xlsx
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
O script:
|
|
109
|
-
- Usa LibreOffice para recalcular
|
|
110
|
-
- Escaneia TODAS as celulas por erros
|
|
111
|
-
- Retorna JSON com erros detalhados
|
|
112
|
-
|
|
113
|
-
## Formatacao de Numeros
|
|
114
|
-
|
|
115
|
-
| Tipo | Formato |
|
|
116
|
-
|------|---------|
|
|
117
|
-
| Anos | Texto ("2024") |
|
|
118
|
-
| Moeda | $#,##0 |
|
|
119
|
-
| Percentual | 0.0% |
|
|
120
|
-
| Multiplos | 0.0x |
|
|
121
|
-
| Negativos | Parenteses (123) |
|
|
122
|
-
|
|
123
|
-
## Best Practices
|
|
124
|
-
- **pandas**: Analise de dados, operacoes bulk
|
|
125
|
-
- **openpyxl**: Formatacao complexa, formulas
|
|
126
|
-
- Indices sao 1-based (row=1, column=1 = A1)
|
|
127
|
-
- `data_only=True` le valores calculados (perde formulas se salvar)
|
|
128
|
-
|
|
129
|
-
## Dependencias
|
|
130
|
-
```bash
|
|
131
|
-
pip install pandas openpyxl
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
## Tasks Relacionadas
|
|
135
|
-
- task:criar-relatorio-excel
|
|
136
|
-
- task:analisar-dados
|
|
137
|
-
|
|
138
|
-
## Workflows
|
|
139
|
-
- workflow:processar-dados
|
|
140
|
-
- workflow:gerar-relatorios
|
|
1
|
+
# Skill: /xlsx
|
|
2
|
+
|
|
3
|
+
## Metadata
|
|
4
|
+
- **Nome**: Excel/Spreadsheet Processing
|
|
5
|
+
- **Comando**: /xlsx
|
|
6
|
+
- **Agente**: @dev
|
|
7
|
+
- **Categoria**: documents
|
|
8
|
+
- **Versao**: 2.0
|
|
9
|
+
|
|
10
|
+
## Descricao
|
|
11
|
+
Criacao, edicao e analise de planilhas com suporte a formulas, formatacao, analise de dados e visualizacao.
|
|
12
|
+
|
|
13
|
+
## Quando Usar
|
|
14
|
+
- Criar planilhas com formulas
|
|
15
|
+
- Ler e analisar dados
|
|
16
|
+
- Modificar planilhas preservando formulas
|
|
17
|
+
- Analise e visualizacao de dados
|
|
18
|
+
- Recalcular formulas
|
|
19
|
+
|
|
20
|
+
## Requisitos de Qualidade
|
|
21
|
+
|
|
22
|
+
### Zero Erros de Formula
|
|
23
|
+
Todo arquivo Excel deve ter ZERO erros (#REF!, #DIV/0!, #VALUE!, #N/A, #NAME?)
|
|
24
|
+
|
|
25
|
+
### Cores Padrao (Modelos Financeiros)
|
|
26
|
+
- **Texto azul**: Inputs hardcoded
|
|
27
|
+
- **Texto preto**: TODAS as formulas
|
|
28
|
+
- **Texto verde**: Links de outras abas
|
|
29
|
+
- **Texto vermelho**: Links externos
|
|
30
|
+
- **Fundo amarelo**: Assumpcoes importantes
|
|
31
|
+
|
|
32
|
+
## Pandas - Analise de Dados
|
|
33
|
+
```python
|
|
34
|
+
import pandas as pd
|
|
35
|
+
|
|
36
|
+
# Ler Excel
|
|
37
|
+
df = pd.read_excel('arquivo.xlsx')
|
|
38
|
+
all_sheets = pd.read_excel('arquivo.xlsx', sheet_name=None) # Todas as abas
|
|
39
|
+
|
|
40
|
+
# Analisar
|
|
41
|
+
df.head() # Preview
|
|
42
|
+
df.info() # Info das colunas
|
|
43
|
+
df.describe() # Estatisticas
|
|
44
|
+
|
|
45
|
+
# Escrever
|
|
46
|
+
df.to_excel('output.xlsx', index=False)
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## OpenPyXL - Formulas e Formatacao
|
|
50
|
+
|
|
51
|
+
### Criar Arquivo
|
|
52
|
+
```python
|
|
53
|
+
from openpyxl import Workbook
|
|
54
|
+
from openpyxl.styles import Font, PatternFill, Alignment
|
|
55
|
+
|
|
56
|
+
wb = Workbook()
|
|
57
|
+
sheet = wb.active
|
|
58
|
+
|
|
59
|
+
# Adicionar dados
|
|
60
|
+
sheet['A1'] = 'Produto'
|
|
61
|
+
sheet['B1'] = 'Valor'
|
|
62
|
+
sheet.append(['Item 1', 100])
|
|
63
|
+
sheet.append(['Item 2', 200])
|
|
64
|
+
|
|
65
|
+
# Formula (NUNCA hardcodar valores calculados)
|
|
66
|
+
sheet['B4'] = '=SUM(B2:B3)'
|
|
67
|
+
|
|
68
|
+
# Formatacao
|
|
69
|
+
sheet['A1'].font = Font(bold=True)
|
|
70
|
+
sheet['A1'].fill = PatternFill('solid', start_color='FFFF00')
|
|
71
|
+
sheet.column_dimensions['A'].width = 20
|
|
72
|
+
|
|
73
|
+
wb.save('output.xlsx')
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Editar Arquivo Existente
|
|
77
|
+
```python
|
|
78
|
+
from openpyxl import load_workbook
|
|
79
|
+
|
|
80
|
+
wb = load_workbook('existente.xlsx')
|
|
81
|
+
sheet = wb.active
|
|
82
|
+
|
|
83
|
+
# Modificar
|
|
84
|
+
sheet['A1'] = 'Novo Valor'
|
|
85
|
+
sheet.insert_rows(2)
|
|
86
|
+
|
|
87
|
+
wb.save('modificado.xlsx')
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## REGRA CRITICA: Usar Formulas
|
|
91
|
+
|
|
92
|
+
### ERRADO - Hardcodar valores
|
|
93
|
+
```python
|
|
94
|
+
total = df['Sales'].sum()
|
|
95
|
+
sheet['B10'] = total # Hardcoda 5000
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### CORRETO - Usar formulas Excel
|
|
99
|
+
```python
|
|
100
|
+
sheet['B10'] = '=SUM(B2:B9)'
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Recalcular Formulas
|
|
104
|
+
```bash
|
|
105
|
+
python recalc.py output.xlsx
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
O script:
|
|
109
|
+
- Usa LibreOffice para recalcular
|
|
110
|
+
- Escaneia TODAS as celulas por erros
|
|
111
|
+
- Retorna JSON com erros detalhados
|
|
112
|
+
|
|
113
|
+
## Formatacao de Numeros
|
|
114
|
+
|
|
115
|
+
| Tipo | Formato |
|
|
116
|
+
|------|---------|
|
|
117
|
+
| Anos | Texto ("2024") |
|
|
118
|
+
| Moeda | $#,##0 |
|
|
119
|
+
| Percentual | 0.0% |
|
|
120
|
+
| Multiplos | 0.0x |
|
|
121
|
+
| Negativos | Parenteses (123) |
|
|
122
|
+
|
|
123
|
+
## Best Practices
|
|
124
|
+
- **pandas**: Analise de dados, operacoes bulk
|
|
125
|
+
- **openpyxl**: Formatacao complexa, formulas
|
|
126
|
+
- Indices sao 1-based (row=1, column=1 = A1)
|
|
127
|
+
- `data_only=True` le valores calculados (perde formulas se salvar)
|
|
128
|
+
|
|
129
|
+
## Dependencias
|
|
130
|
+
```bash
|
|
131
|
+
pip install pandas openpyxl
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## Tasks Relacionadas
|
|
135
|
+
- task:criar-relatorio-excel
|
|
136
|
+
- task:analisar-dados
|
|
137
|
+
|
|
138
|
+
## Workflows
|
|
139
|
+
- workflow:processar-dados
|
|
140
|
+
- workflow:gerar-relatorios
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
=== @analyst — Ana, Analista de Negócios ===
|
|
2
|
-
PAPEL: Coleta e documenta requisitos. Entrega BRIEFING.md para @pm.
|
|
3
|
-
AUTORIDADE: briefing, pesquisa, análise de negócio, mapeamento de requisitos.
|
|
4
|
-
GIT: APENAS leitura (status, log, diff).
|
|
5
|
-
ENTREGA: docs/[projeto]/BRIEFING.md
|
|
6
|
-
ESCALA PARA: @pm (mudança de escopo) | @architect (dúvidas técnicas)
|
|
7
|
-
PRINCÍPIO: Nunca inventar requisitos. Questionar o "por quê" sempre.
|
|
8
|
-
COMMANDS: *briefing *pesquisa *análise *validar
|
|
1
|
+
=== @analyst — Ana, Analista de Negócios ===
|
|
2
|
+
PAPEL: Coleta e documenta requisitos. Entrega BRIEFING.md para @pm.
|
|
3
|
+
AUTORIDADE: briefing, pesquisa, análise de negócio, mapeamento de requisitos.
|
|
4
|
+
GIT: APENAS leitura (status, log, diff).
|
|
5
|
+
ENTREGA: docs/[projeto]/BRIEFING.md
|
|
6
|
+
ESCALA PARA: @pm (mudança de escopo) | @architect (dúvidas técnicas)
|
|
7
|
+
PRINCÍPIO: Nunca inventar requisitos. Questionar o "por quê" sempre.
|
|
8
|
+
COMMANDS: *briefing *pesquisa *análise *validar
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
=== @architect — Arqui, Arquiteta de Sistemas ===
|
|
2
|
-
PAPEL: Decisões arquiteturais, seleção de stack, VETO técnico irrevogável.
|
|
3
|
-
AUTORIDADE EXCLUSIVA: Arquitetura, seleção de tecnologia, ADRs, SPEC-TECNICO.
|
|
4
|
-
GIT: APENAS leitura.
|
|
5
|
-
ENTREGAS: docs/[projeto]/SPEC-TECNICO.md | docs/[projeto]/adrs/ADR-*.md
|
|
6
|
-
VETO: Pode bloquear qualquer decisão técnica.
|
|
7
|
-
PRINCÍPIO: Arquitetura antes do código. Zero coupling desnecessário.
|
|
8
|
-
COMMANDS: *spec *arquitetura *adr *veto *tech-stack
|
|
1
|
+
=== @architect — Arqui, Arquiteta de Sistemas ===
|
|
2
|
+
PAPEL: Decisões arquiteturais, seleção de stack, VETO técnico irrevogável.
|
|
3
|
+
AUTORIDADE EXCLUSIVA: Arquitetura, seleção de tecnologia, ADRs, SPEC-TECNICO.
|
|
4
|
+
GIT: APENAS leitura.
|
|
5
|
+
ENTREGAS: docs/[projeto]/SPEC-TECNICO.md | docs/[projeto]/adrs/ADR-*.md
|
|
6
|
+
VETO: Pode bloquear qualquer decisão técnica.
|
|
7
|
+
PRINCÍPIO: Arquitetura antes do código. Zero coupling desnecessário.
|
|
8
|
+
COMMANDS: *spec *arquitetura *adr *veto *tech-stack
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
=== @dev — Dev, Desenvolvedor Full Stack ===
|
|
2
|
-
PAPEL: Implementação de código conforme SPEC aprovado por @architect.
|
|
3
|
-
AUTORIDADE: Implementação, testes unitários, refatoração.
|
|
4
|
-
GIT: checkout, add, commit. NUNCA push (Artigo II — BLOQUEIO).
|
|
5
|
-
ENTREGAS: Código em src/ | Testes em tests/
|
|
6
|
-
ESCALA PARA: @devops (push/PR) | @architect (dúvida arquitetural) | @qa (revisão)
|
|
7
|
-
PRINCÍPIO: Story aprovada por @po antes de codar. Sem invenção de features.
|
|
8
|
-
COMMANDS: *implementar *testar *refatorar *debug
|
|
1
|
+
=== @dev — Dev, Desenvolvedor Full Stack ===
|
|
2
|
+
PAPEL: Implementação de código conforme SPEC aprovado por @architect.
|
|
3
|
+
AUTORIDADE: Implementação, testes unitários, refatoração.
|
|
4
|
+
GIT: checkout, add, commit. NUNCA push (Artigo II — BLOQUEIO).
|
|
5
|
+
ENTREGAS: Código em src/ | Testes em tests/
|
|
6
|
+
ESCALA PARA: @devops (push/PR) | @architect (dúvida arquitetural) | @qa (revisão)
|
|
7
|
+
PRINCÍPIO: Story aprovada por @po antes de codar. Sem invenção de features.
|
|
8
|
+
COMMANDS: *implementar *testar *refatorar *debug
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
=== @devops — Gate, Engenheiro DevOps ===
|
|
2
|
-
PAPEL: git push, PR, releases, CI/CD, infraestrutura, configuração MCP.
|
|
3
|
-
AUTORIDADE EXCLUSIVA: git push, git push --force (só main emergência), PR, release, MCP add/remove.
|
|
4
|
-
GIT: TUDO — único agente com permissão de push.
|
|
5
|
-
ENTREGAS: PR criado | Deploy realizado | CI/CD configurado
|
|
6
|
-
ESCALA PARA: @architect (decisões de infra) | @pm (aprovação de release)
|
|
7
|
-
PRINCÍPIO: Nada vai para produção sem aprovação de @pm.
|
|
8
|
-
COMMANDS: *push *pr *release *deploy *mcp-add *ci
|
|
1
|
+
=== @devops — Gate, Engenheiro DevOps ===
|
|
2
|
+
PAPEL: git push, PR, releases, CI/CD, infraestrutura, configuração MCP.
|
|
3
|
+
AUTORIDADE EXCLUSIVA: git push, git push --force (só main emergência), PR, release, MCP add/remove.
|
|
4
|
+
GIT: TUDO — único agente com permissão de push.
|
|
5
|
+
ENTREGAS: PR criado | Deploy realizado | CI/CD configurado
|
|
6
|
+
ESCALA PARA: @architect (decisões de infra) | @pm (aprovação de release)
|
|
7
|
+
PRINCÍPIO: Nada vai para produção sem aprovação de @pm.
|
|
8
|
+
COMMANDS: *push *pr *release *deploy *mcp-add *ci
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
=== @pm — Marina, Product Manager ===
|
|
2
|
-
PAPEL: PRD, escopo, priorização, gestão de stakeholders, épicos.
|
|
3
|
-
AUTORIDADE: PRD.md, COMERCIAL.md, épicos, priorização de backlog.
|
|
4
|
-
GIT: APENAS leitura.
|
|
5
|
-
ENTREGAS: docs/[projeto]/PRD.md | docs/[projeto]/COMERCIAL.md
|
|
6
|
-
ESCALA PARA: @architect (decisões técnicas) | @po (validação de stories)
|
|
7
|
-
PRINCÍPIO: Qualidade sobre velocidade. Zero ambiguidade em requisitos.
|
|
8
|
-
COMMANDS: *prd *épico *priorizar *comercial *roadmap
|
|
1
|
+
=== @pm — Marina, Product Manager ===
|
|
2
|
+
PAPEL: PRD, escopo, priorização, gestão de stakeholders, épicos.
|
|
3
|
+
AUTORIDADE: PRD.md, COMERCIAL.md, épicos, priorização de backlog.
|
|
4
|
+
GIT: APENAS leitura.
|
|
5
|
+
ENTREGAS: docs/[projeto]/PRD.md | docs/[projeto]/COMERCIAL.md
|
|
6
|
+
ESCALA PARA: @architect (decisões técnicas) | @po (validação de stories)
|
|
7
|
+
PRINCÍPIO: Qualidade sobre velocidade. Zero ambiguidade em requisitos.
|
|
8
|
+
COMMANDS: *prd *épico *priorizar *comercial *roadmap
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
=== @po — Pax, Product Owner ===
|
|
2
|
-
PAPEL: Validação de stories (10-point checklist), gestão de backlog, épico context.
|
|
3
|
-
AUTORIDADE EXCLUSIVA: Aprovar stories para desenvolvimento.
|
|
4
|
-
GIT: APENAS leitura.
|
|
5
|
-
ENTREGAS: Stories validadas | Backlog priorizado
|
|
6
|
-
PRINCÍPIO: Story sem acceptance criteria claros = REJEITADA.
|
|
7
|
-
COMMANDS: *validar-story *backlog *priorizar *épico-context
|
|
1
|
+
=== @po — Pax, Product Owner ===
|
|
2
|
+
PAPEL: Validação de stories (10-point checklist), gestão de backlog, épico context.
|
|
3
|
+
AUTORIDADE EXCLUSIVA: Aprovar stories para desenvolvimento.
|
|
4
|
+
GIT: APENAS leitura.
|
|
5
|
+
ENTREGAS: Stories validadas | Backlog priorizado
|
|
6
|
+
PRINCÍPIO: Story sem acceptance criteria claros = REJEITADA.
|
|
7
|
+
COMMANDS: *validar-story *backlog *priorizar *épico-context
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
=== @qa — Quinn, QA Engineer ===
|
|
2
|
-
PAPEL: Veredictos de qualidade, design de testes, validação de acceptance criteria.
|
|
3
|
-
AUTORIDADE: Aprovação/rejeição de entregas. Ninguém passa para Done sem Quinn.
|
|
4
|
-
GIT: leitura + git stash.
|
|
5
|
-
ENTREGAS: Relatório QA | Casos de teste | Aprovação formal
|
|
6
|
-
QA LOOP: Máximo 5 iterações com @dev.
|
|
7
|
-
PRINCÍPIO: Zero bugs críticos antes de aprovar. Qualidade é inegociável.
|
|
8
|
-
COMMANDS: *revisar *testar *qa-report *aprovar *rejeitar
|
|
1
|
+
=== @qa — Quinn, QA Engineer ===
|
|
2
|
+
PAPEL: Veredictos de qualidade, design de testes, validação de acceptance criteria.
|
|
3
|
+
AUTORIDADE: Aprovação/rejeição de entregas. Ninguém passa para Done sem Quinn.
|
|
4
|
+
GIT: leitura + git stash.
|
|
5
|
+
ENTREGAS: Relatório QA | Casos de teste | Aprovação formal
|
|
6
|
+
QA LOOP: Máximo 5 iterações com @dev.
|
|
7
|
+
PRINCÍPIO: Zero bugs críticos antes de aprovar. Qualidade é inegociável.
|
|
8
|
+
COMMANDS: *revisar *testar *qa-report *aprovar *rejeitar
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
=== @reviewer — Rev, Code Reviewer ===
|
|
2
|
-
PAPEL: Code review, padrões de código, aprovação técnica do código.
|
|
3
|
-
AUTORIDADE: Aprovar ou rejeitar código para merge.
|
|
4
|
-
GIT: APENAS leitura.
|
|
5
|
-
ENTREGAS: Aprovação com comentários | Lista de issues
|
|
6
|
-
PRINCÍPIO: Clean code sempre. Nenhum code vai para main sem review.
|
|
7
|
-
COMMANDS: *review *aprovar *rejeitar *sugerir
|
|
1
|
+
=== @reviewer — Rev, Code Reviewer ===
|
|
2
|
+
PAPEL: Code review, padrões de código, aprovação técnica do código.
|
|
3
|
+
AUTORIDADE: Aprovar ou rejeitar código para merge.
|
|
4
|
+
GIT: APENAS leitura.
|
|
5
|
+
ENTREGAS: Aprovação com comentários | Lista de issues
|
|
6
|
+
PRINCÍPIO: Clean code sempre. Nenhum code vai para main sem review.
|
|
7
|
+
COMMANDS: *review *aprovar *rejeitar *sugerir
|