Consiga marcar uma reunião sem que a troca de mensagens consuma sua semana. Eu proponho três horários que respeitam seus blocos de foco, seu limite diário de reuniões e suas folgas entre compromissos, redijo a mensagem para a outra parte na sua voz, ajusto conforme as respostas, e só crio o evento depois que você disser explicitamente para agendar.
Scanned 9/19/2026
Install to Claude Code
npx -y skills add gethouston/houston --skill agendar-uma-reuniao --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Agendar Uma Reuniao?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/gethouston-agendar-uma-reuniao)More formats (shields.io, HTML) on the badges page.
---
name: agendar-uma-reuniao
title: "Agendar uma reunião"
description: "Consiga marcar uma reunião sem que a troca de mensagens consuma sua semana. Eu proponho três horários que respeitam seus blocos de foco, seu limite diário de reuniões e suas folgas entre compromissos, redijo a mensagem para a outra parte na sua voz, ajusto conforme as respostas, e só crio o evento depois que você disser explicitamente para agendar."
version: 1
category: Operações
featured: no
image: clipboard
integrations: [googlecalendar, gmail, outlook]
x_houston:
created_by: houston
skill_schema: 1
---
# Agendar Uma Reunião
## Quando usar
- "agende uma reunião com {X}" / "encontre 30 min com {equipe}".
- "vamos marcar {Y}" / "proponha horários para {Z}".
- Repasse de `triage-a-surface` (surface=inbox) quando a conversa for classificada como `book-a-meeting` e você disser "agende."
## Conexões que preciso
Executo trabalho externo através do Composio. Antes de esta habilidade rodar, verifico se as categorias abaixo estão conectadas. Se faltar alguma, nomeio a categoria, peço para você conectar na aba Integrações, e paro.
- **Agenda** (Google Calendar, Outlook) - Obrigatório. Lê sua disponibilidade e cria o evento depois que você aprovar.
- **Caixa de entrada** (Gmail, Outlook) - Opcional. Me permite salvar a proposta como rascunho para você enviar.
Se nenhuma agenda estiver conectada, paro e peço para você conectar sua agenda primeiro.
## Informações que preciso
Leio o seu contexto operacional primeiro. Para cada campo obrigatório que estiver faltando, faço UMA pergunta em linguagem simples (melhor modalidade: app conectado > envio de arquivo > URL > colar) e espero.
- **Contraparte e propósito** - Obrigatório. Por que preciso: molda quem, quanto tempo e quão formal. Se faltar, pergunto: "Com quem você vai se reunir, e qual o propósito da reunião?"
- **Preferências de agenda** - Obrigatório. Por que preciso: protege blocos de foco, limite diário de reuniões, horário de trabalho. Se faltar, pergunto: "Quando você prefere ter reuniões, horário de trabalho, dias de foco profundo, máximo de reuniões por dia, folga entre compromissos consecutivos?"
- **Sua voz** - Obrigatório. Por que preciso: a mensagem para a contraparte precisa soar como você. Se faltar, pergunto: "O ideal é conectar sua caixa de entrada para eu analisar de 20 a 30 mensagens enviadas. Senão, cole de 3 a 5 respostas recentes que soem como você."
- **VIPs** - Opcional. Por que preciso: VIPs recebem horários pela manhã e folgas maiores. Se você não tiver isso, sigo em frente com TBD e trato todos igualmente.
## Passos
<!-- houston-workflow:v1 -->
1. **Leio `context/operations-context.md`.** Se faltar/estiver vazio, paro. Peço para você rodar `set-up-my-ops-info` primeiro. Voz, prioridades, contatos-chave moldam o rascunho.
2. **Esclareço o pedido.** Extraio da mensagem: nome(s) da contraparte, duração (padrão 30 min), propósito, fuso horário (padrão do usuário). Se algo relevante faltar, faço UMA pergunta.
3. **Leio `config/schedule-preferences.json` e `config/vips.json`.** Se as preferências faltarem, faço UMA pergunta (o ideal: conectar a agenda para eu inferir) e continuo.
4. **Resolvo a agenda.** `composio search calendar` → slugs de disponibilidade + criação de evento. Nenhuma agenda conectada → digo ao usuário qual categoria conectar, paro.
5. **Busco a disponibilidade.** Puxo os blocos ocupados dos próximos 10 dias úteis. Calculo horários candidatos que:
- caem dentro de `workingHours`,
- NÃO se sobrepõem a nenhum `focusBlock`,
- respeitam `minBufferMinutes` nos dois lados de um compromisso já existente,
- mantêm o total de reuniões do dia ≤ `maxMeetingsPerDay`,
- evitam `blackoutPeriods`.
Limites vêm da configuração, nunca fixo no código.
6. **Escolho 3 opções.** Distribuídas entre os dias (ex. amanhã de manhã, depois de amanhã à tarde, fim de semana pela manhã). Prefiro meio da manhã (10h-11h30) e início da tarde (14h-16h). Evito segundas antes do meio-dia, sextas à tarde a não ser que nada mais encaixe. VIPs → prefiro horários pela manhã, folgas maiores.
7. **Redijo a mensagem.** Leio `config/voice.md` (ou o bloco de voz no contexto operacional). Se faltarem amostras de voz, faço UMA pergunta direcionada (o ideal: conectar a caixa de entrada via Composio para calibrar com 20-30 mensagens enviadas recentes) e continuo. Padrão: uma linha de confirmação → 3 horários propostos (em tópicos, com o fuso horário do usuário e da contraparte identificados se forem diferentes) → alternativa suave ("ou sugira um horário melhor para você"). Limite de ~80 palavras.
8. **Escrevo `scheduling/{slug}/proposal.md`** (slug = contraparte ou id da conversa em kebab-case, com prefixo `sched-` se for avulso). Sobrescrevo a cada iteração. Estrutura:
```markdown
## Contraparte
{nome} <{email}>
## Horários propostos
- {Dia Mês DD, HH:MMh horário de origem / HH:MMh horário de destino} - {duração}
- ...
## Restrições respeitadas
- blocos de foco respeitados: {lista}
- limite diário de reuniões: {X}/{max}
- folgas: {min} min
## Rascunho da mensagem
{o corpo redigido}
## Status
rascunho
```
9. **Apresento ao usuário.** "Aqui estão 3 opções + o rascunho da mensagem. Enviar? Ajustar? Adicionar uma 4ª opção?" Nunca envio.
10. **Ajusto conforme a resposta.** A contraparte responde escolhendo um horário ou propondo outro → atualizo `## Status` da proposta (rascunho → enviado → contraproposto). Confirmo ou volto aos passos 5-6 com uma janela mais restrita.
11. **Agendo com a aprovação.** Você diz "agende {horário} com {contraparte}" → chamo o slug de criação de evento do Composio. Adiciono a contraparte como convidado, incluo o link de vídeo se o provedor suportar, título conforme sua instrução ou propósito inferido. Atualizo o status da proposta para `confirmado`.
12. **Adiciono a `outputs.json`** com `type: "scheduling"`, status "rascunho" até a confirmação, muda para "ready" no agendamento.
13. **Repasse a preparação.** Depois de agendar, se o convidado for VIP ou a reunião for de alto risco, ofereço: "Quer que eu rode `brief-me mode=meeting-pre` para essa agora?"
## Saídas
- `scheduling/{slug}/proposal.md` (sobrescrito a cada iteração)
- Evento de agenda criado com aprovação
- Adiciona a `outputs.json` com `type: "scheduling"`.
## O que eu nunca faço
- **Agendar** um evento na agenda sem seu "agende" explícito para um horário específico.
- **Enviar** mensagem para a contraparte, apenas rascunho. O usuário envia da própria caixa de entrada, ou me aprova para enviar via Composio depois de revisar.
- **Sobrepor um bloco de foco ou o limite diário** sem que o usuário dispense explicitamente isso para essa reunião específica.
- **Propor horários sem ler as preferências** - se `schedule-preferences.json` faltar → pergunto uma vez, continuo.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!