Communitygithub.com

aiagentwithdhruv/skills

Rotular automaticamente e-mails do Gmail nas categorias Ação Requerida, Aguardando Resposta e Referência. Use quando o usuário pedir para rotular e-mails, triar a caixa de entrada, categorizar e-mails ou organizar o Gmail.

O que é skills?

Esta skill permite que um agente de IA (como Claude Code, Cursor ou Codex) interaja com a API do Gmail para buscar e-mails, classificá-los em categorias predefinidas (Ação Requerida, Aguardando Resposta e Referência) usando subagentes paralelos para eficiência, e aplicar as respectivas etiquetas no Gmail. O fluxo principal é paralelo: busca os e-mails, divide em partes, classifica cada parte simultaneamente com subagentes Sonnet 4.5 (econômicos e rápidos) e depois mescla e aplica as etiquetas em lote. A ferramenta é útil para usuários que desejam organizar a caixa de entrada de forma inteligente, automatizando a triagem e reduzindo o esforço manual. A skill suporta múltiplas contas do Gmail via um registro de contas e requer autenticação OAuth. É projetada para evitar sobrecarga de contexto, pois os subagentes escrevem resultados em arquivos em vez de retorná-los pela TaskOutput. O desempenho é otimizado: com 10 subagentes paralelos, a classificação de 100 e-mails cai de 34s para ~19s, com aceleração de ~1,8x em relação ao fluxo serial.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/aiagentwithdhruv/skills/tree/HEAD/gmail-label

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Rotulagem Automática do Gmail

Objetivo

Buscar e-mails da caixa de entrada, classificá-los via subagentes paralelos em Ação Requerida / Aguardando Resposta / Referência e aplicar as etiquetas em lote pela API do Gmail.

Scripts

  • ./scripts/gmail_label_fetch.py - Buscar resumos de e-mails como JSON compacto
  • ./scripts/gmail_label_split.py - Dividir e-mails em N partes para classificação paralela
  • ./scripts/gmail_label_merge.py - Mesclar partes classificadas em um único labels.json
  • ./scripts/gmail_label_apply.py - Aplicar classificações de etiquetas em lote

Subagente

  • email-classifier — definido em .claude/agents/email-classifier.md
  • Modelo: Sonnet 4.5 (classificação rápida e econômica)
  • Cada subagente lê uma parte e escreve um arquivo de saída classificado

Fluxo (Paralelo — padrão)

Etapa 1: Buscar e-mails

python3 .claude/skills/gmail-label/scripts/gmail_label_fetch.py \
  --account CONTA --query "in:inbox" --limit 100 --output .tmp/emails.json

Etapa 2: Dividir em partes

python3 .claude/skills/gmail-label/scripts/gmail_label_split.py \
  --input .tmp/emails.json --chunks 10 --output-dir .tmp/chunks

Etapa 3: Classificar em paralelo (criar 10 subagentes)

Crie 10 subagentes email-classifier em segundo plano, um por parte. Cada subagente:

  • Lê .tmp/chunks/chunk_N.json
  • Classifica cada e-mail
  • Escreve .tmp/chunks/classified_N.json

Use a ferramenta Task com run_in_background: true e model: "sonnet". Crie TODOS os 10 em uma única mensagem para paralelismo real:

Para cada parte 0-9, crie uma Task com:
  subagent_type: "email-classifier"
  model: "sonnet"
  run_in_background: true
  prompt: "Leia /caminho/absoluto/.tmp/chunks/chunk_N.json, classifique cada e-mail, escreva os resultados em /caminho/absoluto/.tmp/chunks/classified_N.json"

CRÍTICO: NÃO use TaskOutput para ler resultados dos subagentes. Os subagentes escrevem seus resultados em arquivos — o agente principal nunca precisa ver os dados de classificação. Ler TaskOutput inundará a janela de contexto e causará erros de "prompt muito longo" com lotes grandes (500+ e-mails).

Em vez disso, aguarde a existência dos arquivos:

# Aguarde até que todos os arquivos classificados existam (timeout após 120s)
for i in $(seq 0 9); do
  while [ ! -f ".tmp/chunks/classified_$i.json" ]; do sleep 2; done
done

Em seguida, prossiga diretamente para a Etapa 4 (mesclagem).

Etapa 4: Mesclar classificações

python3 .claude/skills/gmail-label/scripts/gmail_label_merge.py \
  --input-dir .tmp/chunks --output .tmp/labels.json

Etapa 5: Aplicar etiquetas

python3 .claude/skills/gmail-label/scripts/gmail_label_apply.py \
  --account CONTA --input .tmp/labels.json

Diretrizes de Classificação

Ação Requerida:

  • Alertas de segurança que precisam de verificação
  • Cartões de crédito com vencimento / renovações de domínio com prazos
  • Menções @ no Slack fazendo perguntas
  • Novos membros da equipe para cumprimentar (notificações de entrada no Slack)
  • E-mails de clientes que precisam de resposta
  • Atualizações de listagens de negócios (Google Business Profile, Bing Places)
  • Notificações de ação necessária do Stripe

Aguardando Resposta:

  • E-mails de vendas enviados aguardando resposta
  • Tickets de suporte aguardando resolução
  • Propostas enviadas, pendentes de resposta

Referência:

  • Newsletters de marketing (DigitalMarketer, etc.)
  • Newsletters de caridade/ONGs (RAPS, etc.)
  • Relatórios de desempenho do Google Business Profile
  • Ofertas promocionais (Blinkist, promoções, etc.)
  • Notificações de atualização de plataforma (Google Play, Apify, etc.)
  • Códigos de confirmação (já usados)
  • Newsletters imobiliárias (Westbank, etc.)
  • E-mails de contas de jogos (Riot Games, etc.)
  • Alertas informativos de segurança (2FA ativado, etc.)
  • Avisos de saúde
  • Notificações de atualizações legais/políticas

Registro de Contas

As contas são armazenadas em gmail_accounts.json na raiz do espaço de trabalho. Cada conta precisa de:

  • email - Endereço de e-mail do Gmail
  • token_file - Caminho para o token OAuth

Adicionar Novas Contas

python3 .claude/skills/gmail-inbox/scripts/gmail_multi_auth.py --account NOME_DA_CONTA --email EMAIL

Desempenho

  • Fluxo serial: ~36s para 100 e-mails (busca 1s + classificação 34s + aplicação 1s)
  • Fluxo paralelo: ~30s para 100 e-mails (classificação 19s + mesclagem <1s + aplicação ~10s)
  • A classificação é o gargalo; 10 subagentes paralelos reduzem de 34s para 19s (~1,8x de aceleração)
  • A sobrecarga de inicialização do agente (~4s de atraso) limita os ganhos teóricos
  • A etapa de aplicação pode variar devido à limitação da API do Gmail

Esquema

Entradas

NomeTipoObrigatórioDescrição
accountstringSimNome da conta Gmail no registro
querystringNãoConsulta de pesquisa do Gmail (padrão: 'in:inbox')
limitintegerNãoMáximo de e-mails para classificar (padrão: 100)
chunksintegerNãoPartes de classificação paralela (padrão: 10)

Saídas

NomeTipoDescrição
labels_appliedobjectContagem por categoria: Ação Requerida, Aguardando Resposta, Referência

Credenciais

NomeFonte
credentials.jsonarquivo
token_*.jsonarquivo (gerado automaticamente)

Combinável Com

Skills que se encadeiam bem com esta: gmail-inbox

Custo

API Claude Sonnet para classificação

Individual skills in this repo

This repo contains 10 individual skills — each has its own dedicated page.

aiagentwithdhruv/skills

Add new Modal webhooks for event-driven execution. Use when user asks to create a webhook, add an endpoint, or set up event triggers.

aiagentwithdhruv/skills

Answer Euron Gen AI Bootcamp doubts instantly. Covers Euri API setup across all frameworks (Python, LangChain, OpenAI SDK, TypeScript, n8n, curl), MCP server setup, common errors, model recommendations, and token limits. Use when someone in the bootcamp asks a question.

aiagentwithdhruv/skills

Manage emails across multiple Gmail accounts with unified tooling. Use when user asks to check email, read inbox, label emails, archive messages, or manage Gmail across accounts.

aiagentwithdhruv/skills

Scrape Google Maps for B2B leads with deep website enrichment and contact extraction. Use when user asks to find local businesses, scrape Google Maps, generate contractor lists, or build local service business databases.

aiagentwithdhruv/skills

Run Claude orchestrator locally with Cloudflare tunneling. Use when user asks to run locally, start local server, or test webhooks locally.

aiagentwithdhruv/skills

MCP server for AI-powered macOS control — apps, display, audio, files, screenshots, clipboard

aiagentwithdhruv/skills

Deploy execution scripts to Modal cloud. Use when user asks to deploy to Modal, push code to cloud, or update Modal functions.

aiagentwithdhruv/skills

Scrape and verify business leads using Apify, classify with LLM, enrich emails, and save to Google Sheets. Use when user asks to find leads, scrape businesses, generate prospect lists, or build lead databases for any industry or location.

aiagentwithdhruv/skills

Query Skool community content using RAG pipeline with vector search. Use when user asks to search Skool knowledge, find community answers, or query Skool content.

aiagentwithdhruv/skills

Scrape Upwork jobs and generate personalized proposals with cover letters. Use when user asks to find Upwork jobs, create Upwork proposals, or apply to Upwork listings.

Habilidades Relacionadas