fix(project-manager): remover Dify KB das descriptions, marcar nota TODO
Dify foi removido 06-03-2026. Skills brainstorm/discover ainda referenciam-no no corpo. Bump v1.2 + nota top-of-file. Reescrita workflow para próxima sessão. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: expense
|
||||
description: Gestao de despesas Desk CRM com PDF obrigatorio. Registar, categorizar e analisar despesas com verificacao de duplicados, upload SFTP e arquivo mensal automatico.
|
||||
description: Gestao de despesas Desk CRM com PDF obrigatorio. Registar, categorizar e analisar despesas com verificacao de duplicados por reference_no, upload SFTP e arquivo mensal automatico.
|
||||
---
|
||||
|
||||
# /expense - Gestao de Despesas
|
||||
@@ -55,18 +55,27 @@ Para mapeamento completo de fornecedores, emails e padroes PDF para categorias:
|
||||
- Bypass valido apenas para: AT, Salarios, transferencias bancarias
|
||||
2. LER O PDF: Extrair dados reais do documento
|
||||
- NUNCA copiar valor de um PDF para outro
|
||||
- EXTRAIR reference_no (numero factura) — OBRIGATORIO para dedup
|
||||
3. OBRIGATORIO: get_expense_categories(with_stats=true)
|
||||
4. Identificar categoria correcta na lista
|
||||
5. VERIFICAR DUPLICADOS:
|
||||
5. VERIFICAR DUPLICADOS (3 camadas — OBRIGATORIO):
|
||||
Camada 0 — Referencia de factura (PRIMARIA):
|
||||
- get_expenses(search: "<reference_no>")
|
||||
- Se alguma despesa tem reference_no IGUAL → DUPLICADO → PARAR
|
||||
Camada 1 — Fornecedor + Valor + Data:
|
||||
- get_expenses(search: "<fornecedor>")
|
||||
- Mesmo fornecedor + valor + data = duplicado
|
||||
- Mesmo numero factura = duplicado
|
||||
- Mesmo fornecedor + valor (±0.05) + data (±3 dias) = duplicado
|
||||
Camada 2 — Expense name:
|
||||
- get_expenses(search: "<fornecedor> - <reference_no>")
|
||||
- Se match exacto → duplicado
|
||||
Se QUALQUER camada detecta duplicado → NAO criar, informar utilizador
|
||||
6. Recolher dados:
|
||||
- category_id, amount, currency (EUR=3, USD=2), date (YYYY-MM-DD)
|
||||
- reference_no (numero factura — OBRIGATORIO)
|
||||
- note (incluir numero factura), send_invoice_to_customer = 0
|
||||
- Opcionais: client_id, project_id, billable, tax
|
||||
7. CONFIRMAR com utilizador (mostrar resumo)
|
||||
8. create_expense
|
||||
8. create_expense (INCLUIR reference_no no payload)
|
||||
9. UPLOAD PDF ao Desk via SFTP:
|
||||
a. mkdir -p no servidor: /home/ealmeida/desk.descomplicar.pt/uploads/expenses/<id>
|
||||
b. mcp__ssh-unified__sftp_upload(server:"desk", local_path, remote_path)
|
||||
@@ -104,7 +113,7 @@ Para mapeamento completo de fornecedores, emails e padroes PDF para categorias:
|
||||
|
||||
Para protocolo completo de processamento de tickets de contabilidade: ver `references/ticket-processing.md`
|
||||
|
||||
**Resumo:** Obter ticket -> verificar anexos -> verificar duplicados -> extrair dados -> confirmar -> criar despesa -> upload PDF -> arquivo mensal.
|
||||
**Resumo:** Obter ticket -> verificar anexos -> verificar duplicados (3 camadas) -> extrair dados -> confirmar -> criar despesa -> upload PDF -> arquivo mensal.
|
||||
|
||||
---
|
||||
|
||||
@@ -136,15 +145,16 @@ Para protocolo completo de processamento de tickets de contabilidade: ver `refer
|
||||
**Despesas:**
|
||||
4. Criar despesa sem category_id
|
||||
5. Nao validar data (formato YYYY-MM-DD)
|
||||
6. Criar despesa sem verificar duplicados primeiro
|
||||
6. Criar despesa sem verificar duplicados primeiro (3 camadas obrigatorias)
|
||||
7. Criar despesa sem reference_no (chave primaria de dedup)
|
||||
|
||||
**Valores de PDFs:**
|
||||
7. Assumir que ficheiros com nomes semelhantes tem o mesmo valor
|
||||
8. SEMPRE ler CADA PDF individualmente para extrair o valor real
|
||||
8. Assumir que ficheiros com nomes semelhantes tem o mesmo valor
|
||||
9. SEMPRE ler CADA PDF individualmente para extrair o valor real
|
||||
|
||||
**Tickets:**
|
||||
9. Processar ticket sem verificar anexos PDF
|
||||
10. Assumir que ticket com recibo = despesa nao lancada
|
||||
10. Processar ticket sem verificar anexos PDF
|
||||
11. Assumir que ticket com recibo = despesa nao lancada
|
||||
|
||||
---
|
||||
|
||||
@@ -152,8 +162,11 @@ Para protocolo completo de processamento de tickets de contabilidade: ver `refer
|
||||
|
||||
- [ ] Listar categorias existentes
|
||||
- [ ] Validar categoria correcta
|
||||
- [ ] Extrair reference_no do PDF/factura
|
||||
- [ ] Verificar duplicados (3 camadas)
|
||||
- [ ] Confirmar dados com utilizador
|
||||
- [ ] Usar formato data YYYY-MM-DD
|
||||
- [ ] Incluir reference_no no create_expense
|
||||
- [ ] Incluir nota descritiva
|
||||
|
||||
---
|
||||
@@ -164,6 +177,24 @@ Para protocolo completo de processamento de tickets de contabilidade: ver `refer
|
||||
- `references/ticket-processing.md` - Protocolo completo de processamento de tickets
|
||||
- `references/changelog.md` - Historico de alteracoes
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
**Criado:** 2026-02-05 | **Actualizado:** 2026-02-12
|
||||
## Self-Healing
|
||||
|
||||
Antes de executar, ler `~/.claude-work/healing/expense.jsonl` (se existir). Cada linha é um padrão de erro conhecido:
|
||||
|
||||
```json
|
||||
{"date":"YYYY-MM-DD","issue":"descrição do problema","fix":"como evitar","source":"user|auto"}
|
||||
```
|
||||
|
||||
Se encontrares um padrão relevante ao contexto actual, aplica o fix preventivamente. Após cada erro ou correcção do utilizador nesta skill, **adicionar nova linha** ao healing log com o padrão aprendido.
|
||||
|
||||
---
|
||||
|
||||
**Criado:** 2026-02-05 | **Actualizado:** 2026-03-30 | Fix: dedup 3 camadas com reference_no (DES-137)
|
||||
|
||||
|
||||
## Healing Log
|
||||
<!-- Registo automático de erros e correcções nesta skill -->
|
||||
|
||||
Reference in New Issue
Block a user