# Gmail

> Puxa emails via OAuth read-only (script gmail.py — mesma família do jira/github/slack): snapshot em vault/RAW/inbox/ → /dump → digest. Noturno (digest do dia, conforme watch.yaml) ou sob demanda (/gmail [janela|filtro]). Nunca compõe/envia email.

- Skill: `bvlcq/gmail` (Agent Skill)
- Install (CLI): `npx skillmds@latest add bvlcq/gmail`
- Raw SKILL.md: https://api.skillmd.com/api/skills/bvlcq/gmail/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: BVLCQ (https://skillmd.com/u/bvlcq)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/bvlcq/gmail

---


# /gmail — email pelo canal, nunca direto

**Autenticação:** OAuth do Google via script (`scripts/connectors/google_auth.py`,
uma vez; depois o refresh token trabalha no `.env`). Guia: `guides/google-oauth.md`.
Escopo: **só `gmail.readonly`** — o script não contém nenhuma chamada de envio.

## A regra de ouro deste comando (o canal)

**Nenhuma leitura de email vira resposta direto.** O script grava o snapshot
em `vault/RAW/inbox/gmail-…` primeiro; o `/dump` produz o artefato; só então você
responde/usa o conteúdo — citando o artefato. Email lido sem snapshot = memória
que o cérebro não ganhou.

## Modo noturno (digest do dia — padrão do /update)

`python3 scripts/connectors/gmail.py` (sem args = dia anterior):
- snapshot `gmail-daily-<ts>.md` — uma linha por email (de · assunto · snippet),
  com hash-vs-pull-anterior (idêntico = silêncio);
- `/dump` processa como dump de conector → digest.

## Modo sob demanda: `/gmail [janela|filtro]`

- `/gmail` → **7d** (execute `python3 scripts/connectors/gmail.py 7d`)
- `/gmail 30d` → janela · `/gmail from:ana` / `/gmail subject:orçamento` → filtro Gmail
- Executar `python3 scripts/connectors/gmail.py <arg>` → snapshot → `/dump` →
  responder com o digest CITANDO o artefato.

(Sem argumentos o script puxa o **dia anterior** — esse é o modo noturno; sob
demanda, passe sempre a janela explícita, default 7d.)

## Proibições e diagnóstico

- NUNCA compor/enviar email — constituição. Pedido de resposta → lembrar da constituição.
- Nunca imprimir tokens ou conteúdo do `.env`.
- Erro `invalid_grant` → app em "Testing" no GCP (refresh token de 7 dias):
  publique em produção e rode `google_auth.py` de novo (`guides/google-oauth.md`).

