name: email-manager description: 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.
Email 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 :
send- Envoyer des emailslist- Lister les messagesget- Obtenir un message par IDsearch- Rechercher des messagesread/unread- Marquer comme lu/non luarchive- Archiver un messagedelete- Supprimer un messagedownload-attachments- Télécharger les pièces jointeslabels list/create/apply/remove- Gérer les labelsdrafts list/create/delete- Gérer les brouillonstrash/untrash- Gérer la corbeillespam/not-spam- Gérer le 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 :
label:INBOX- Tous les emails de l'INBOXlabel:INBOX is:unread- Emails non lus dans l'INBOX uniquementlabel:INBOX newer_than:7d- Emails récents de l'INBOX (derniers 7 jours)
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 email-manager pour toutes les actions :
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,List-Id, etc.) - 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
is:unread- Emails non lusfrom:example@gmail.com- Emails d'un expéditeurhas:attachment- Emails avec pièces jointeslabel:INBOX- Emails dans un label spécifiqueafter:2024/01/01 before:2024/01/31- Emails par datefrom:example.com has:attachment -is:read- Requête complexe
🏷️ 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
references/regles-tri.mdsi nécessaire - 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