- All SKILL.md files now <500 lines (avg reduction 69%) - Detailed content extracted to references/ subdirectories - Frontmatter standardised: only name + description (Anthropic standard) - New skills: brand-guidelines, spec-coauthor, report-templates, skill-creator - Design skills: anti-slop guidelines, premium-proposals reference - Removed non-standard frontmatter fields (triggers, version, author, category) Plugins affected: infraestrutura, marketing, dev-tools, crm-ops, gestao, core-tools, negocio, perfex-dev, wordpress, design-media Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
169 lines
2.5 KiB
Markdown
169 lines
2.5 KiB
Markdown
---
|
|
name: n8n-sync
|
|
description: Sincronização de dados entre sistemas via workflows n8n. Mantém dados consistentes entre plataformas.
|
|
disable-model-invocation: true
|
|
---
|
|
|
|
# /n8n-sync - Sincronização de Dados n8n
|
|
|
|
Manter dados sincronizados entre sistemas.
|
|
|
|
---
|
|
|
|
## Uso
|
|
|
|
```
|
|
/n8n-sync create <origem> <destino> # Criar sync
|
|
/n8n-sync list # Listar syncs
|
|
/n8n-sync status <workflow_id> # Ver estado
|
|
```
|
|
|
|
---
|
|
|
|
## Workflow Obrigatório
|
|
|
|
```
|
|
1. Health check → mcp__n8n__n8n_health_check()
|
|
2. Pesquisar template → mcp__n8n__search_templates({ task: "data_sync" })
|
|
3. Se template OK → mcp__n8n__n8n_deploy_template()
|
|
4. Se criar do zero → Seguir fluxo abaixo
|
|
```
|
|
|
|
---
|
|
|
|
## Padrões de Sync
|
|
|
|
### One-Way (Unidireccional)
|
|
|
|
```
|
|
Origem → Transform → Destino
|
|
```
|
|
|
|
### Two-Way (Bidireccional)
|
|
|
|
```
|
|
A ←→ B (com resolução de conflitos)
|
|
```
|
|
|
|
### Hub-and-Spoke
|
|
|
|
```
|
|
A ↔ HUB ↔ B
|
|
↕
|
|
C
|
|
```
|
|
|
|
---
|
|
|
|
## Nodes por Sistema
|
|
|
|
### APIs/CRM
|
|
|
|
| Node | Sistema |
|
|
|------|---------|
|
|
| `nodes-base.httpRequest` | APIs genéricas |
|
|
| `nodes-base.webhook` | Receber dados |
|
|
|
|
### Bases de Dados
|
|
|
|
| Node | Sistema |
|
|
|------|---------|
|
|
| `nodes-base.postgres` | PostgreSQL |
|
|
| `nodes-base.mySql` | MySQL |
|
|
| `nodes-base.mongoDb` | MongoDB |
|
|
|
|
### Ficheiros
|
|
|
|
| Node | Sistema |
|
|
|------|---------|
|
|
| `nodes-base.googleSheets` | Google Sheets |
|
|
| `nodes-base.spreadsheetFile` | Excel/CSV |
|
|
| `nodes-base.ftp` | FTP/SFTP |
|
|
|
|
---
|
|
|
|
## Exemplo: CRM → Sheets
|
|
|
|
```
|
|
Schedule (horário)
|
|
↓
|
|
HTTP Request (GET leads)
|
|
↓
|
|
IF (há dados?)
|
|
↓
|
|
Set (mapear campos)
|
|
↓
|
|
Google Sheets (append)
|
|
↓
|
|
Slack (confirmar)
|
|
```
|
|
|
|
---
|
|
|
|
## Estratégias
|
|
|
|
| Estratégia | Uso |
|
|
|------------|-----|
|
|
| Full Sync | Apagar tudo + inserir tudo |
|
|
| Incremental | Apenas modificados (updated_at) |
|
|
| Delta | Comparar hashes |
|
|
|
|
---
|
|
|
|
## Upsert Pattern
|
|
|
|
```javascript
|
|
{
|
|
nodeType: "nodes-base.postgres",
|
|
config: {
|
|
operation: "upsert",
|
|
table: "clientes",
|
|
columns: "email,nome,empresa",
|
|
conflictColumns: "email"
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Gestão de Erros
|
|
|
|
### Retry
|
|
|
|
```javascript
|
|
{
|
|
options: {
|
|
retry: {
|
|
maxRetries: 3,
|
|
retryInterval: 1000
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### Dead Letter Queue
|
|
|
|
```
|
|
Operação
|
|
↓ (erro)
|
|
Error Trigger
|
|
↓
|
|
BD (guardar erro)
|
|
↓
|
|
Slack (alertar)
|
|
```
|
|
|
|
---
|
|
|
|
## Troubleshooting
|
|
|
|
| Problema | Solução |
|
|
|----------|---------|
|
|
| Duplicados | Usar upsert |
|
|
| Timeout | Batches menores |
|
|
| Rate limit | Adicionar delays |
|
|
|
|
---
|
|
|
|
*Skill v1.0 | Descomplicar®*
|