How this skill is triggered — by the user, by Claude, or both
Slash command
/gmail:gmailThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Legge, fa triage e crea bozze di risposta su Gmail via OAuth. Non invia mai autonomamente.
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
[email protected]
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="[email protected]",
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
npx claudepluginhub giobi/claude-skills --plugin gmailProcesses Gmail triage reports from vault: archive, delete, label, star, unsubscribe emails. Drafts replies interactively or autonomously.
Scans Gmail inbox for recent emails using time-based queries, classifies into three priority tiers, and drafts replies for urgent Tier 1 items.
Triages Gmail inbox by classifying emails using Eisenhower matrix for importance/urgency, determines if replies needed, and drafts responses in user's voice. Useful for inbox zero and email prioritization.