--- name: calendar-manager description: Gestao do Google Calendar e automacao de agendamento. Cria eventos, gere disponibilidade e sincroniza calendarios. --- # Calendar Manager Gestao centralizada de multiplos calendarios Google com classificacao automatica de eventos. ## Calendarios Disponiveis | Calendario | ID | Tipo | Uso | |------------|----|----|-----| | **Emanuel Almeida - Pessoal** | `emanuelalmeidaa@gmail.com` | Pessoal | Compromissos pessoais, familia, saude, lazer | | **Emanuel Almeida - Descomplicar** | `emanuel@descomplicar.pt` | Profissional | Trabalho, reunioes internas, planeamento | | **Info Descomplicar** | `info@descomplicar.pt` | Profissional | Reunioes com clientes, calls externos | | **Feriados em Portugal** | `pt-pt.portuguese#holiday@group.v.calendar.google.com` | Referencia | Feriados nacionais | **Conta Google**: `emanuelalmeidaa@gmail.com` (usada para autenticacao em todos os calendarios) ## Classificacao Automatica de Eventos ### Eventos PESSOAIS -> `emanuelalmeidaa@gmail.com` - Nomes proprios sem contexto empresarial (Tomas, Susana, Maria, Dra., Dr.) - Medico, consulta, saude, dentista, fisioterapia, psicologo - Familia, filhos, escola, CNG, colegio - Ginasio, treino, corrida, desporto - Almoco/jantar pessoal, aniversario, festa - Casa, obras, condominio - Banco, financas pessoais, seguro ### Eventos PROFISSIONAIS -> `emanuel@descomplicar.pt` - Planeamento, sprint, retrospectiva, standup - Desenvolvimento, deploy, release - Interno, equipa, staff - Nomes de projectos (Stack Workflow, WiP, etc.) - Review, code review, merge - Formacao, workshop interno ### Eventos com CLIENTES -> `info@descomplicar.pt` - Cliente, call, reuniao externa - Nomes de empresas/clientes conhecidos - Proposta, orcamento, apresentacao - Kickoff, entrega, demo ## Clientes Conhecidos | Cliente | Keywords | |---------|----------| | Carstuff | carstuff, cars | | FamilyClinic | familyclinic, clinic, clinica | | KCG | kcg, karate, gaia | | Espiral Senior | esp, espiral, senior | | Solar FV | solar, fotovoltaico | | Water Control | water, agua | | Ignition Vortex | ignition, vortex | ## Comandos e Interpretacao ### Criar Eventos ``` Input: "Agenda Dra Susana 14:30" -> Calendario: Pessoal (Dra = medico) -> Evento: Dra Susana, 14:30-15:30 Input: "Reuniao Carstuff 16h ate 19h" -> Calendario: Clientes (Carstuff = cliente conhecido) -> Evento: Carstuff, 16:00-19:00 Input: "Planeamento segunda 9h 4 horas" -> Calendario: Profissional (planeamento = interno) -> Evento: Planeamento, 09:00-13:00 ``` ### Listar Eventos ``` "Agenda de hoje" -> todos os calendarios, hoje "O que tenho amanha?" -> todos os calendarios, amanha "Agenda de trabalho" -> so profissional + clientes "Compromissos pessoais" -> so pessoal ``` ### Verificar Disponibilidade ``` "Estou livre as 15h?" -> verificar todos os calendarios "Proximo slot livre de 2h" -> encontrar disponibilidade ``` ## Workflow O workflow completo de criacao e listagem de eventos esta detalhado em `references/workflows-detalhados.md`. ### Resumo do fluxo CRIAR 1. **Analisar pedido** - extrair titulo, data, hora, duracao 2. **Classificar tipo** - pessoal/profissional/clientes (baseado em keywords) 3. **Extrair data/hora** - obter data actual via `mcp__mcp_time__current_time`, interpretar mencoes relativas 4. **Verificar conflitos** - consultar todos os calendarios no horario pretendido 5. **Criar evento** - via `mcp__google_workspace__create_event` 6. **Confirmar** - mostrar resumo ao utilizador ### Resumo do fluxo LISTAR 1. **Interpretar pedido** - periodo (hoje/amanha/semana) + ambito (todos/pessoal/profissional/clientes) 2. **Determinar intervalo** - calcular time_min e time_max 3. **Consultar calendarios** - buscar eventos em paralelo 4. **Agrupar e formatar** - ordenar por hora, agrupar por tipo 5. **Sugestoes** - avisar sobrecarga ou falta de pausas ## Formato de Resposta ### Criar: ``` [titulo] [data] -- [hora inicio] - [hora fim] [tipo: Pessoal/Profissional/Clientes] ``` ### Listar: ``` Agenda [data] PESSOAL -- 14:30 Dra Susana (1h) PROFISSIONAL -- 09:00 Planeamento Semanal (4h) CLIENTES -- 16:00 Carstuff (3h) ``` ## Regras 1. **Timezone**: Sempre `Europe/Lisbon` 2. **Duracao default**: 1 hora 3. **Ambiguidade**: Se nao for claro, perguntar ao utilizador 4. **Conflitos**: Avisar se houver sobreposicao 5. **Feriados**: Avisar se o evento calhar num feriado ## MCP Tools - Referencia Rapida Referencia completa com constantes e exemplos em `references/mcp-tools-referencia.md`. ```javascript // Listar calendarios mcp__google_workspace__list_calendars({ user_google_email: 'emanuelalmeidaa@gmail.com' }); // Obter eventos mcp__google_workspace__get_events({ user_google_email: 'emanuelalmeidaa@gmail.com', calendar_id: 'ALL', time_min: '2026-02-04T00:00:00', time_max: '2026-02-04T23:59:59' }); // Criar evento mcp__google_workspace__create_event({ user_google_email: 'emanuelalmeidaa@gmail.com', calendar_id: 'emanuelalmeidaa@gmail.com', summary: 'Titulo', start_time: '2026-02-04T14:30:00', end_time: '2026-02-04T15:30:00', timezone: 'Europe/Lisbon' }); ``` ## Quando NAO Usar - Para tarefas fora do dominio de calendario/agendamento - Quando outra skill mais especifica esta disponivel - Para operacoes que requerem aprovacao manual obrigatoria ## References - **Workflows detalhados:** `references/workflows-detalhados.md` - **MCP tools e constantes:** `references/mcp-tools-referencia.md`