Claude-skill-registry email-manager
Gestionnaire d'emails Gmail PERSONNELS en français pour scanner, trier et archiver automatiquement les emails de l'INBOX selon des règles prédéfinies. **Utiliser pour TOUS les emails personnels (envoyer, lire, trier).** Utiliser quand l'utilisateur demande de "scanner les emails", "trier mes emails", "gérer ma boîte mail", "envoyer un email", "envoyer un mail" (sans préciser "professionnel"), ou toute tâche de gestion d'emails. Scanne UNIQUEMENT l'INBOX et déplace les emails vers les labels appropriés (personal/ecole, personal/voyage, personal/commandes, personal/Maison, pro/L'Oréal). **Note: Pour les emails professionnels L'Oréal, utiliser o365-manager.**
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/email-manager" ~/.claude/skills/majiayu000-claude-skill-registry-email-manager && rm -rf "$T"
skills/data/email-manager/SKILL.mdEmail Manager
Skill de gestion automatisée des emails Gmail en français.
Outil disponible
CLI Go - email-manager
Un outil en ligne de commande moderne en Go pour toutes les opérations de gestion d'emails.
Binaire :
~/.claude/skills/email-manager/scripts/email-manager
Code source :
~/projects/new/email-manager/
Commandes disponibles :
- Envoyer des emailssend
- Lister les messageslist
- Obtenir un message par IDget
- Rechercher des messagessearch
/read
- Marquer comme lu/non luunread
- Archiver un messagearchive
- Supprimer un messagedelete
- Télécharger les pièces jointesdownload-attachments
- Gérer les labelslabels list/create/apply/remove
- Gérer les brouillonsdrafts list/create/delete
/trash
- Gérer la corbeilleuntrash
/spam
- Gérer le spamnot-spam
Utilisation :
~/.claude/skills/email-manager/scripts/email-manager [command] [args...]
Aide :
~/.claude/skills/email-manager/scripts/email-manager --help ~/.claude/skills/email-manager/scripts/email-manager [command] --help
Objectif
Permettre un tri rapide et efficace des emails en scannant par défaut l'INBOX, en appliquant des règles prédéfinies pour archiver, labelliser ou marquer comme lu les emails selon leur type. Fournir un bilan concis des actions effectuées.
⚠️ RÈGLE PAR DÉFAUT : Lors d'une demande de tri automatique ("trie mes emails", "scan les emails"), scanner UNIQUEMENT l'INBOX, jamais les autres labels (personal/ecole, personal/voyage, personal/commandes, personal/Maison, pro/L'Oréal) car ils contiennent des emails déjà traités. SAUF si l'utilisateur demande explicitement un autre label.
Quand utiliser cette skill
Utiliser cette skill quand l'utilisateur demande :
- "On scan les emails"
- "Trie mes emails"
- "Gère ma boîte mail"
- "Archive les emails non importants"
- Toute demande de gestion d'emails par lot
Label à scanner
⚠️ IMPORTANT : Scanner l'INBOX par défaut
Comportement par défaut : Lors d'une demande générale de tri ("trie mes emails", "scan les emails"), scanner UNIQUEMENT l'INBOX. Les emails déjà classés dans d'autres labels (personal/ecole, personal/voyage, personal/commandes, etc.) ne doivent PAS être re-triés ou re-scannés lors du tri automatique. Une fois qu'un email quitte l'INBOX et est archivé dans un label spécifique, il n'est plus touché par le processus de tri automatique.
Exception : Si l'utilisateur demande explicitement de scanner un autre label (ex: "regarde mes emails personal/voyage", "scan personal/ecole"), alors scanner ce label spécifique.
Label scanné :
- INBOX - Boîte de réception principale
Labels de destination (où seront déplacés les emails de l'INBOX) :
- personal/ecole - Emails scolaires (Lycée Descartes, etc.)
- personal/voyage - Confirmations de voyage, billets, etc.
- personal/commandes - Confirmations de commandes en ligne
- personal/Maison - Services maison (Free, Netflix, Sosh, Disney+, Crunchyroll)
- pro/L'Oréal - Emails professionnels L'Oréal
Processus de scan
1. Scanner le label approprié
Par défaut : Scanner l'INBOX
Utiliser le binaire
email-manager pour récupérer les emails de l'INBOX :
~/.claude/skills/email-manager/scripts/email-manager search "label:INBOX newer_than:7d" --max-results 100
Requêtes pour l'INBOX :
- Tous les emails de l'INBOXlabel:INBOX
- Emails non lus dans l'INBOX uniquementlabel:INBOX is:unread
- Emails récents de l'INBOX (derniers 7 jours)label:INBOX newer_than:7d
Scanner un autre label si demandé explicitement :
Si l'utilisateur demande un label spécifique (ex: "regarde personal/voyage"), utiliser :
~/.claude/skills/email-manager/scripts/email-manager search "label:personal/voyage newer_than:7d" --max-results 100
Pendant le tri automatique - ne PAS scanner les autres labels, ils contiennent des emails déjà traités.
2. Appliquer les règles de tri
Consulter
references/regles-tri.md pour les règles détaillées par type d'email.
3. Actions disponibles
Utiliser le binaire
pour toutes les actions :email-manager
Marquer comme lu
~/.claude/skills/email-manager/scripts/email-manager read "MESSAGE_ID"
Marquer comme non lu
~/.claude/skills/email-manager/scripts/email-manager unread "MESSAGE_ID"
Archiver (retirer de INBOX)
~/.claude/skills/email-manager/scripts/email-manager archive "MESSAGE_ID"
Ajouter un label
# D'abord lister les labels pour obtenir les IDs ~/.claude/skills/email-manager/scripts/email-manager labels list # Ensuite ajouter le label (utiliser l'ID du label) ~/.claude/skills/email-manager/scripts/email-manager labels apply "MESSAGE_ID" "LABEL_ID"
Télécharger les pièces jointes (dans ~/Downloads)
# Télécharger toutes les pièces jointes dans ~/Downloads (par défaut) ~/.claude/skills/email-manager/scripts/email-manager download-attachments "MESSAGE_ID" # Télécharger dans un répertoire spécifique ~/.claude/skills/email-manager/scripts/email-manager download-attachments "MESSAGE_ID" --dir "/path/to/dir" # Télécharger dans le répertoire courant ~/.claude/skills/email-manager/scripts/email-manager download-attachments "MESSAGE_ID" --dir .
Important : Les pièces jointes sont toujours téléchargées dans
~/Downloads par défaut.
Supprimer un message (mettre à la corbeille)
~/.claude/skills/email-manager/scripts/email-manager trash "MESSAGE_ID"
⚠️ Actions nécessitant confirmation utilisateur :
- Paiements à effectuer : TOUJOURS demander avant d'archiver
- Check-in vols : TOUJOURS demander avant d'archiver
- Modifications vols : TOUJOURS demander avant d'archiver
4. Détecter listes de distribution et spam
Identifier automatiquement :
- Emails avec headers mailing list (
,List-Unsubscribe
, etc.)List-Id - Présence de liens "unsubscribe" / "se désabonner"
- Emails récurrents non ouverts du même expéditeur
Action : Proposer à l'utilisateur d'ouvrir le lien de désinscription et créer un filtre permanent.
5. Suggérer suppressions
Pour emails potentiellement inutiles :
- Codes expirés (>7 jours)
- Marketing ancien (>90 jours sans interaction)
- Spam évident
Processus :
- Présenter l'email avec raison de suppression suggérée
- Demander confirmation utilisateur
- Si accepté, créer règle pour emails similaires futurs
6. Générer un bilan
Créer un rapport concis :
📧 Scan des emails terminé ✅ Actions effectuées : - 5 emails archivés (confirmations de commandes) - 3 emails marqués lus (newsletters) - 2 emails déplacés vers personal/ecole 📬 Listes de distribution détectées : - Newsletter Marketing XYZ (lien unsubscribe disponible) 🗑️ Suggestions de suppression : - 2 codes SafeKey expirés (>30 jours) - 1 newsletter ancienne jamais ouverte ⚠️ Emails nécessitant attention : - 1 email : "PASSEPORT" - secretariat.balzac@lycee-descartes.ma - 1 email : Facture importante 📊 Total : 13 emails traités
Workflow complet de scan
Exemple : Scanner et traiter INBOX
# 1. Scanner INBOX pour emails non lus ~/.claude/skills/email-manager/scripts/email-manager search "label:INBOX is:unread" --max-results 50 # 2. Analyser chaque email selon les règles dans references/regles-tri.md # 3. Pour un email de confirmation de commande Amazon (exemple): # - Marquer lu ~/.claude/skills/email-manager/scripts/email-manager read "MESSAGE_ID" # - Lister les labels pour trouver l'ID de "personal/commandes" ~/.claude/skills/email-manager/scripts/email-manager labels list # - Ajouter le label personal/commandes ~/.claude/skills/email-manager/scripts/email-manager labels apply "MESSAGE_ID" "LABEL_ID" # - Archiver (retirer de INBOX) ~/.claude/skills/email-manager/scripts/email-manager archive "MESSAGE_ID" # 4. Pour un code SafeKey expiré: ~/.claude/skills/email-manager/scripts/email-manager trash "MESSAGE_ID" # 5. Répéter pour tous les emails trouvés
⚠️ Important : Ne scanner QUE l'INBOX
# Scanner UNIQUEMENT l'INBOX ~/.claude/skills/email-manager/scripts/email-manager search "label:INBOX newer_than:7d" # ❌ NE PAS scanner les autres labels lors du tri # Les emails déjà classés ne doivent JAMAIS être re-triés
Opérations complètes disponibles
📧 Envoyer des emails
Email simple
~/.claude/skills/email-manager/scripts/email-manager send \ --to "destinataire@example.com" \ --subject "Sujet de l'email" \ --body "Corps de l'email"
Email avec CC et BCC
~/.claude/skills/email-manager/scripts/email-manager send \ --to "destinataire@example.com" \ --subject "Sujet" \ --body "Corps" \ --cc "copie@example.com" \ --bcc "copie.cachee@example.com"
Email avec pièces jointes
~/.claude/skills/email-manager/scripts/email-manager send \ --to "destinataire@example.com" \ --subject "Documents" \ --body "Voici les documents demandés" \ --attach "/path/to/file1.pdf" "/path/to/file2.jpg"
🔍 Rechercher et lire des emails
Recherche simple
~/.claude/skills/email-manager/scripts/email-manager search "is:unread"
Recherche avec limite de résultats
~/.claude/skills/email-manager/scripts/email-manager search "from:example@gmail.com" --max-results 50
Obtenir les détails d'un email spécifique
~/.claude/skills/email-manager/scripts/email-manager get "MESSAGE_ID"
Lister les emails
~/.claude/skills/email-manager/scripts/email-manager list --max-results 20
Exemples de requêtes Gmail
- Emails non lusis:unread
- Emails d'un expéditeurfrom:example@gmail.com
- Emails avec pièces jointeshas:attachment
- Emails dans un label spécifiquelabel:INBOX
- Emails par dateafter:2024/01/01 before:2024/01/31
- Requête complexefrom:example.com has:attachment -is:read
🏷️ Gestion des labels
Lister tous les labels
~/.claude/skills/email-manager/scripts/email-manager labels list
Créer un nouveau label
~/.claude/skills/email-manager/scripts/email-manager labels create "personal/nouveau"
Ajouter un label à un email
~/.claude/skills/email-manager/scripts/email-manager labels apply "MESSAGE_ID" "LABEL_ID"
Retirer un label d'un email
~/.claude/skills/email-manager/scripts/email-manager labels remove "MESSAGE_ID" "LABEL_ID"
📝 Gestion des brouillons
Lister les brouillons
~/.claude/skills/email-manager/scripts/email-manager drafts list
Créer un brouillon simple
~/.claude/skills/email-manager/scripts/email-manager drafts create \ --to "destinataire@example.com" \ --subject "Sujet" \ --body "Corps du brouillon"
Créer un brouillon avec pièces jointes
~/.claude/skills/email-manager/scripts/email-manager drafts create \ --to "destinataire@example.com" \ --subject "Documents" \ --body "Voici les documents" \ --attach "/path/to/file1.pdf" "/path/to/file2.jpg"
Supprimer un brouillon
~/.claude/skills/email-manager/scripts/email-manager drafts delete "DRAFT_ID"
🗑️ Suppression et gestion spam
Mettre dans la corbeille
~/.claude/skills/email-manager/scripts/email-manager trash "MESSAGE_ID"
Restaurer de la corbeille
~/.claude/skills/email-manager/scripts/email-manager untrash "MESSAGE_ID"
Supprimer définitivement
~/.claude/skills/email-manager/scripts/email-manager delete "MESSAGE_ID"
Marquer comme spam
~/.claude/skills/email-manager/scripts/email-manager spam "MESSAGE_ID"
Retirer du spam
~/.claude/skills/email-manager/scripts/email-manager not-spam "MESSAGE_ID"
📖 Opérations de lecture
Marquer comme lu
~/.claude/skills/email-manager/scripts/email-manager read "MESSAGE_ID"
Marquer comme non lu
~/.claude/skills/email-manager/scripts/email-manager unread "MESSAGE_ID"
Archiver (retirer de INBOX)
~/.claude/skills/email-manager/scripts/email-manager archive "MESSAGE_ID"
Références
- Règles de tri détaillées - Règles par type d'email et expéditeur
- Patterns d'emails - Expressions régulières pour identifier les types d'emails
- Filtres évolutifs - Liste des expéditeurs filtrés automatiquement (mise à jour dynamique)
Évolution des règles
Mise à jour automatique des filtres
Quand l'utilisateur accepte de filtrer/supprimer un expéditeur :
- Ajouter l'expéditeur dans
references/filtres-evolutifs.md - Mettre à jour
si nécessairereferences/regles-tri.md - Appliquer le filtre aux emails existants de cet expéditeur
- Documenter la modification avec date et raison
Suggestions proactives
Suggérer des nouvelles règles basées sur :
- Emails récurrents jamais ouverts (même expéditeur >5 fois)
- Patterns de spam détectés
- Codes/notifications expirés fréquents