---
name: aiktop-tasks
description: Executa tarefas agendadas para AikTop no Desk CRM. Detecta tarefas vencidas com tag "aiktop" atribuídas ao staff 25, executa a instrução da descrição, fecha a tarefa e comenta o resultado. Usar quando "aiktop tasks", "executar tarefas aiktop", "task queue ai".
disable-model-invocation: true
---

# /aiktop-tasks v1.0

Executa automaticamente tarefas agendadas para o AikTop no Desk CRM.

---

## Protocolo

### Passo 1: Obter data actual

```
mcp__mcp-time__current_time → data hoje (YYYY-MM-DD)
```

### Passo 2: Recolher tarefas AikTop pendentes

```
mcp__desk-crm-v3__get_tasks({
  assignee: 25,
  tags: ["aiktop"],
  status: [1, 4],
  due_date_to: hoje
})

SE 0 tarefas → registar "Nenhuma tarefa AikTop pendente" e terminar.
```

### Passo 3: Para cada tarefa (por ordem de prioridade)

```
1. mcp__desk-crm-v3__update_task({ task_id, status: 4 })
   → Marcar "Em progresso"

2. LER task.name + task.description
   → A descrição É a instrução completa para o claude executar

3. EXECUTAR a instrução descrita na tarefa
   → Usar os MCPs disponíveis conforme necessário
   → Guardar resultado/output

4. mcp__desk-crm-v3__update_task({ task_id, status: 5 })
   → Marcar "Concluída"

5. mcp__desk-crm-v3__add_task_comment({
     task_id,
     content: html_resultado,
     staff_id: 25
   })
   → Comentar com o resultado da execução
```

### Passo 4: Resumo final

```
SE invocado via cron (não interactivo):
  → Escrever em ~/.claude-work/aiktop-tasks-{date}.log

SE invocado directamente:
  → Mostrar output markdown ao utilizador
```

---

## Formato Comentário de Resultado (HTML)

```html
<h4>Tarefa executada — YYYY-MM-DD HH:MM</h4>
<p><strong>Instrução:</strong> [nome da tarefa]</p>
<p><strong>Resultado:</strong> Concluído | Parcial | Erro</p>
<h4>Output</h4>
<ul>
  <li>[resultado principal]</li>
  <li>[dados relevantes]</li>
</ul>
<p><em>Executado automaticamente por /aiktop-tasks v1.0</em></p>
```

---

## Protocolo de Criação de Tarefas AikTop

> Para agendar trabalho para o AikTop, criar tarefa Desk CRM com:

| Campo | Valor |
|-------|-------|
| **Assignee** | AikTop (staff 25) |
| **Tag** | `aiktop` (obrigatório) |
| **Nome** | O que fazer (breve) |
| **Descrição** | Instrução completa — o claude vai executar isto literalmente |
| **Due date** | Quando executar |
| **Prioridade** | Conforme urgência |

**Exemplos de descrições válidas:**
- "Verificar logs `/root/Dev/imap-cleaner/cron.log` e `/root/Dev/auto-expense/auto-expense.log`. Reportar se houve erros ou se o pipeline correu bem."
- "Correr /imap-triage e reportar faturas detectadas."
- "Verificar tarefas overdue no Desk CRM e sugerir as 3 mais urgentes."

---

## Wrapper Script (dev server)

```bash
# /root/Dev/aiktop-tasks/run-aiktop-tasks.sh
#!/bin/bash
export IS_SANDBOX=1
LOG="$HOME/Dev/aiktop-tasks/aiktop-tasks.log"
echo "$(date) [START] A verificar tarefas AikTop..." >> "$LOG"
claude --print --dangerously-skip-permissions "/aiktop-tasks" < /dev/null >> "$LOG" 2>&1
EXIT_CODE=$?
echo "$(date) [END] exit=$EXIT_CODE" >> "$LOG"
exit $EXIT_CODE
```

**Cron:** `*/15 * * * * /root/Dev/aiktop-tasks/run-aiktop-tasks.sh`

---

## Anti-Patterns

- NUNCA executar tarefas sem tag `aiktop` (filtro de segurança)
- NUNCA fechar tarefa sem adicionar comentário com resultado
- NUNCA ignorar tarefas com status 4 (em progresso) — podem ter ficado presas
- SEMPRE executar por ordem de prioridade (4=Urgente primeiro)
- NUNCA assumir que a descrição é sempre simples — pode invocar outras skills

---

*Skill v1.0.0 | 04-03-2026 | Descomplicar®*

---

## Healing Log

Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.

```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```

*Adicionar nova linha após cada erro corrigido.*
