npx claudepluginhub giobi/claude-skills --plugin gmailThis skill uses the workspace's default tool permissions.
Legge, fa triage e crea bozze di risposta su Gmail via OAuth. Non invia mai autonomamente.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Analyzes BMad project state from catalog CSV, configs, artifacts, and query to recommend next skills or answer questions. Useful for help requests, 'what next', or starting BMad.
Legge, fa triage e crea bozze di risposta su Gmail via OAuth. Non invia mai autonomamente.
https://www.googleapis.com/auth/gmail.modifyAggiungi al .env:
GMAIL_CLIENT_ID=your_client_id
GMAIL_CLIENT_SECRET=your_client_secret
GMAIL_REFRESH_TOKEN=your_refresh_token
GMAIL_USER_EMAIL=you@gmail.com
Usa qualsiasi OAuth flow standard con i credential sopra, oppure il file generate-oauth-url.php incluso nel wrapper.
/gmail Triage pipeline (pulizia → archiviabili → top 3)
/gmail check Conta non letti
/gmail cerca mario rossi Cerca thread per query
/gmail lista bozze Lista bozze esistenti
/gmail rispondi a X Workflow bozza risposta
Cestina/archivia automaticamente newsletter, notifiche transazionali, spam. Mostra solo conteggio: "Cestinati 4 thread (2 newsletter, 1 GitHub, 1 promo)."
Thread conclusi o stale (risposta nostra come ultima, >7 giorni senza follow-up). Mostra lista compatta, aspetta conferma.
Chi aspetta risposta, deadline, urgenze. Per ognuno: chi, cosa vuole, perché urgente, azione suggerita.
1. Leggi thread completo
2. Ragiona su contenuto
3. Genera testo bozza
4. MOSTRA BOZZA IN CHAT
5. ASPETTA conferma utente
6. create_draft(thread_id=...) ← solo bozza, NO invio
7. Restituisci draft URL
Invio avviene solo con comando separato esplicito.
Gmail funziona per thread, non per messaggi singoli:
import sys
sys.path.insert(0, '.claude/skills/gmail')
from gmail_read import search_messages, get_thread, get_message, list_drafts
from gmail_write import create_draft, update_draft_in_thread, send_draft
# Cerca thread non letti
threads = search_messages(query="is:unread", max_results=20)
# Leggi thread completo
thread = get_thread(thread_id="1234abc")
# Crea bozza risposta
result = create_draft(
thread_id="1234abc",
to="user@example.com",
subject="Re: Subject",
body="Plain text body",
body_html="<div>HTML body</div>"
)
args = "$ARGUMENTS".strip().lower()
if any(w in args for w in ["rispondi", "reply"]):
action = "reply"
elif any(w in args for w in ["cerca", "search", "find"]):
action = "search"
elif any(w in args for w in ["lista", "bozze", "drafts"]):
action = "list_drafts"
elif any(w in args for w in ["check", "controlla", "nuove"]):
action = "check_inbox"
else:
action = "triage_pipeline" # default