🧪 Skills
gmailcleanerfall
Read/search Gmail via gog CLI (preferred) or Python scripts (fallback). Inbox check, email search, content retrieval, IMAP support.
v1.0.0
Description
name: email-reader description: Read/search Gmail via gog CLI (preferred) or Python scripts (fallback). Inbox check, email search, content retrieval, IMAP support. metadata: clawdbot: emoji: "📬" requires: bins: ["gog"] env: - name: GOG_ACCOUNT description: "Tu dirección Gmail, ej: tu@gmail.com" - name: GMAIL_CREDENTIALS_PATH description: "(Solo Python) Ruta a credentials.json" install: - id: brew kind: brew formula: steipete/tap/gogcli bins: ["gog"] label: "Install gog CLI (brew)" routing: recommended: "google/gemini-2.5-flash-lite" alternatives: ["openrouter/google/gemini-2.5-flash-lite", "openai/gpt-4o-mini"] reason: "Read-only, low reasoning. Cheapest model sufficient."
email-reader
Cuándo usar
Usuario pide revisar inbox, buscar correos, leer mensajes, listar carpetas, o ver emails recientes.
Backend A — gog CLI (preferido)
Setup (una vez)
brew install steipete/tap/gogcli
gog auth credentials /ruta/credentials.json
gog auth add $GOG_ACCOUNT --services gmail
Comandos
# No leídos (acción por defecto)
gog gmail search 'in:inbox is:unread' --max 5 --format minimal --json --no-input
# Búsqueda por criterio
gog gmail search '<query>' --max 10 --format minimal --json --no-input
# Correo completo
gog gmail get <ID> --format full --json --no-input
# Hilo completo
gog gmail thread <THREAD_ID> --format minimal --json --no-input
Queries útiles
# Carpetas sistema
'in:inbox newer_than:1d' 'in:spam newer_than:30d'
'in:sent newer_than:7d' 'is:starred'
# Etiquetas personalizadas
'label:Clientes' 'label:Facturas newer_than:90d'
# Filtros
'from:juan@empresa.com is:unread'
'subject:propuesta newer_than:7d'
'has:attachment in:inbox newer_than:7d'
Operadores Gmail
from: to: subject: label: is:unread is:starred has:attachment
newer_than:Nd older_than:Nd in:inbox in:sent after:YYYY/MM/DD
Backend B — Python (fallback)
Setup (una vez)
pip install google-api-python-client google-auth-oauthlib beautifulsoup4 cryptography
python3 scripts/auth.py # OAuth → genera token.json cifrado
Comandos
python3 scripts/fetch_emails.py --label INBOX --max 50
python3 scripts/fetch_emails.py --label INBOX --unread-only --max 20
python3 scripts/fetch_emails.py --label INBOX --since 2026-01-01
python3 scripts/fetch_emails.py --label INBOX --from juan@empresa.com
python3 scripts/fetch_emails.py --label SPAM --max 100
python3 scripts/fetch_emails.py --label Clientes --max 30
python3 scripts/list_folders.py # listar etiquetas
python3 scripts/fetch_thread.py --thread-id <ID> # hilo completo
python3 scripts/imap_fetch.py --host imap.outlook.com --folder INBOX # no-Gmail
Flujo
- Detectar backend:
command -v gog &>/dev/null && BACKEND=gog || BACKEND=python - Construir query desde intent del usuario — preguntar si ambiguo
- Ejecutar con
--max Nconservador (default 5-10) - Parsear JSON → presentar: remitente, asunto, fecha, preview + ID
- Ofrecer: leer completo, refinar búsqueda, actuar
Reglas
- SIEMPRE
--json+--no-input; nunca mostrar JSON crudo - Default
--max 5; subir solo si usuario pide más - Preservar IDs para acciones posteriores
- Sin resultados → sugerir query más amplio
- Solo lectura; enviar/responder → email-responder
Errores
gogmissing →brew install steipete/tap/gogcliGOG_ACCOUNTunset → pedir Gmail al usuario- Token expired →
gog auth add <email>/python3 scripts/auth.py
Reviews (0)
Sign in to write a review.
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!