Note Manager
Skill de gestion des notes Google Keep en français.
Objectif
Permettre une gestion complète des notes Google Keep :
- Rechercher des notes (avec notes épinglées en priorité)
- Créer des notes texte ou listes
- Modifier des notes existantes
- Archiver/désarchiver des notes
- Épingler/désépingler des notes
- Supprimer des notes
- Dupliquer des notes avec un nouveau nom
Quand utiliser cette skill
Utiliser cette skill quand l'utilisateur demande :
- "Cherche mes notes Keep sur [sujet]"
- "Crée une note avec [contenu]"
- "Modifie la note [titre]"
- "Archive cette note"
- "Épingle cette note"
- "Duplique cette note"
- Toute demande de gestion de notes Google Keep
Configuration initiale
Première utilisation
⚠️ Important : Google Keep n'a pas d'API officielle publique. Cette skill utilise gkeepapi (bibliothèque non officielle) qui nécessite un master token Google.
Authentification via OAuth2 Token :
L'authentification se fait en 2 étapes :
- Obtenir un OAuth2 token depuis votre navigateur
- Échanger ce token contre un master token (valable indéfiniment)
Instructions complètes : Voir scripts/README.md pour les étapes détaillées avec le script de génération du master token.
Résumé rapide :
- Allez sur : https://accounts.google.com/EmbeddedSetup
- Connectez-vous avec votre compte Google
- Ouvrez Developer Tools (F12) > Application > Cookies >
accounts.google.com - Copiez la valeur du cookie
oauth_token(commence paroauth2_4/) - Utilisez le script dans
scripts/README.mdpour générer le master token - Le master token sera sauvegardé dans
~/.claude/credentials/gkeep_credentials.json
Référence : https://github.com/rukins/gpsoauth-java#receiving-an-authentication-token
Opérations disponibles
🔍 Rechercher des notes
Recherche simple (liste)
cd ~/.claude/skills/note-manager/scripts
./run.sh search_notes --query "mot clé"
Résultat : Affiche les notes avec :
- 📌 pour les notes épinglées (toujours en premier)
- [ARCHIVED] pour les notes archivées
- Aperçu du contenu (100 premiers caractères)
Recherche détaillée (JSON complet)
./run.sh search_notes --query "mot clé" --full
Inclut : ID, titre, texte, statut épinglé/archivé, couleur, labels, dates, items de liste
Options de recherche
# Rechercher dans toutes les notes (sans filtre)
./run.sh search_notes
# Inclure les notes archivées
./run.sh search_notes --include-archived
# Inclure les notes dans la corbeille
./run.sh search_notes --include-trashed
# Limiter le nombre de résultats
./run.sh search_notes --query "réunion" --max-results 10
Tri automatique : Les notes épinglées apparaissent TOUJOURS en premier, suivies des notes par date de modification.
📝 Créer des notes
Créer une note texte
./run.sh manage_notes --action create-text --title "Titre de la note" --text "Contenu de la note"
Créer une note texte épinglée
./run.sh manage_notes --action create-text --title "Note importante" --text "Contenu" --pinned
Créer une note avec couleur
./run.sh manage_notes --action create-text --title "Note rouge" --text "Contenu" --color red
Couleurs disponibles : red, blue, green, yellow, gray, white, pink, orange, teal, brown
Créer une liste
./run.sh manage_notes --action create-list --title "Ma liste" --items '[
{"text": "Item 1", "checked": false},
{"text": "Item 2", "checked": true},
{"text": "Item 3", "checked": false}
]'
Créer une liste simple (non cochée)
./run.sh manage_notes --action create-list --title "Courses" --items '["Lait", "Pain", "Œufs"]'
📖 Récupérer une note
Obtenir les détails complets d'une note
./run.sh manage_notes --action get --note-id "NOTE_ID"
Résultat : JSON avec toutes les informations (titre, texte, items si liste, couleur, dates, etc.)
✏️ Modifier des notes
Modifier le titre d'une note
./run.sh manage_notes --action update --note-id "NOTE_ID" --title "Nouveau titre"
Modifier le contenu d'une note texte
./run.sh manage_notes --action update --note-id "NOTE_ID" --text "Nouveau contenu"
Modifier les items d'une liste
./run.sh manage_notes --action update --note-id "NOTE_ID" --items '[
{"text": "Nouveau item 1", "checked": true},
{"text": "Nouveau item 2", "checked": false}
]'
⚠️ Important : La modification des items remplace TOUS les items existants.
📌 Épingler/Désépingler
Épingler une note
./run.sh manage_notes --action pin --note-id "NOTE_ID"
Désépingler une note
./run.sh manage_notes --action unpin --note-id "NOTE_ID"
📦 Archiver/Désarchiver
Archiver une note
./run.sh manage_notes --action archive --note-id "NOTE_ID"
Désarchiver une note
./run.sh manage_notes --action unarchive --note-id "NOTE_ID"
🗑️ Supprimer
Mettre une note à la corbeille
./run.sh manage_notes --action delete --note-id "NOTE_ID"
Note : Les notes supprimées vont dans la corbeille Google Keep (récupérables pendant 7 jours).
📋 Dupliquer
Dupliquer une note avec nouveau titre
./run.sh manage_notes --action duplicate --note-id "NOTE_ID" --new-title "Copie - Nouveau nom"
Dupliquer avec titre automatique
./run.sh manage_notes --action duplicate --note-id "NOTE_ID"
Résultat : Crée "Copy of [titre original]" avec le même contenu, couleur et labels.
Workflow typique
Exemple : Chercher et modifier une note
cd ~/.claude/skills/note-manager/scripts
# 1. Chercher la note
./run.sh search_notes --query "réunion"
# Résultat :
# 1. 📌 Réunion équipe 2025
# ID: abc123xyz
# Notes de la réunion hebdomadaire...
# 2. Récupérer les détails
./run.sh manage_notes --action get --note-id "abc123xyz"
# 3. Modifier le titre
./run.sh manage_notes --action update --note-id "abc123xyz" --title "Réunion équipe - 10 Nov 2025"
# 4. Épingler pour retrouver facilement
./run.sh manage_notes --action pin --note-id "abc123xyz"
Exemple : Créer une liste de courses et la gérer
# 1. Créer la liste
./run.sh manage_notes --action create-list \
--title "Courses semaine" \
--items '["Lait", "Pain", "Fromage", "Tomates"]' \
--pinned
# Résultat : ✓ List note created: Courses semaine
# ID: xyz789abc
# Items: 4
# 2. Mettre à jour (cocher des items)
./run.sh manage_notes --action update --note-id "xyz789abc" --items '[
{"text": "Lait", "checked": true},
{"text": "Pain", "checked": true},
{"text": "Fromage", "checked": false},
{"text": "Tomates", "checked": false}
]'
# 3. Dupliquer pour la semaine prochaine
./run.sh manage_notes --action duplicate --note-id "xyz789abc" --new-title "Courses semaine prochaine"
# 4. Archiver l'ancienne liste
./run.sh manage_notes --action archive --note-id "xyz789abc"
Exemple : Créer un pense-bête de voyage
# Quand l'utilisateur dit : "Créer une note voyage pour l'Inde"
# 1. Dupliquer le template de voyage
./run.sh manage_notes --action duplicate \
--note-id "1683e96bc1c.b2b65bc687febb09" \
--new-title "Pense bête - Voyage Inde"
# Résultat : ✓ Note duplicated: Pense bête - Voyage Inde
# New note ID: abc123xyz
# 2. Épingler la nouvelle note
./run.sh manage_notes --action pin --note-id "abc123xyz"
# 3. Fournir l'URL à l'utilisateur
echo "✓ Note créée et épinglée"
echo "🔗 Ouvrir : https://keep.google.com/u/0/#NOTE/abc123xyz"
Résultat : Une copie complète du pense-bête voyage (tous les items à cocher) prête à être utilisée pour le voyage spécifique.
Notes importantes et spécifiques
Ce gestionnaire de notes inclut des notes spécifiques pour :
📋 Gestion de voyages :
- Pense-bête voyage - Template duplicable pour créer une liste d'affaires à emporter pour chaque voyage
- Passeports & Info - Informations centralisées des passeports famille pour enregistrements rapides
🔍 Comment les utiliser :
- Rechercher :
./run.sh search_notes --query "Voyages" - Consulter passeports : Ouvrir directement https://keep.google.com/u/0/#NOTE/18cbf5a516e.8f52bba149ee57fc
- Créer pense-bête voyage : Dupliquer le template, épingler, et ouvrir l'URL (voir exemple ci-dessus)
Cette section liste les notes Google Keep importantes qui doivent être connues et accessibles rapidement.
Notes configurées
-
Buffer (ID:
1733387285569.619963495)- Type : Note texte
- Statut : Épinglée (📌)
- Description : Note buffer utilisée pour des notes temporaires rapides
- Créée : 5 décembre 2024
- Dernière mise à jour : 21 octobre 2025
- Couleur : Blanche
- Commandes spéciales disponibles (voir section "Commandes Buffer" ci-dessous)
- 🔗 URL Web : https://keep.google.com/u/0/#NOTE/1733387285569.619963495
-
TODO (ID:
172ed7a8e25.8c8374346cc64685)- Type : Note liste avec hiérarchie
- Statut : Épinglée (📌)
- Description : Liste de tâches principale avec sous-éléments hiérarchiques
- ⚠️ PROTÉGÉE - NE PAS MODIFIER VIA SCRIPT
- Raison : Les notes de type "liste" dans Google Keep ne préservent PAS la hiérarchie/indentation lors de modifications via l'API. Toute modification via script aplatira la structure et mélangera les éléments.
- Action recommandée : Pour toute modification, ouvrir directement dans Google Keep Web
- 🔗 URL Web : https://keep.google.com/u/0/#NOTE/172ed7a8e25.8c8374346cc64685
- Lecture seule OK : Vous pouvez lire la note via
--action getpour consulter les items, mais NE PAS utiliser--action update
-
Pense bête Voyages (ID:
1683e96bc1c.b2b65bc687febb09)- Type : Note liste (template)
- Statut : NON épinglée (c'est un modèle)
- Description : Liste complète de choses à prendre pour un voyage (vêtements, accessoires, documents, etc.)
- Usage spécial - Template de voyage :
- Quand l'utilisateur dit : "Créer une note voyage pour [destination]" ou "Pense-bête pour le voyage [destination]"
- Actions à effectuer :
- Dupliquer cette note :
--action duplicate --note-id "1683e96bc1c.b2b65bc687febb09" --new-title "Pense bête - Voyage [destination]" - Récupérer l'ID de la nouvelle note dupliquée
- Épingler la nouvelle note :
--action pin --note-id "NEW_NOTE_ID" - Fournir l'URL à l'utilisateur :
https://keep.google.com/u/0/#NOTE/NEW_NOTE_ID
- Dupliquer cette note :
- 🔗 URL Web (template original) : https://keep.google.com/u/0/#NOTE/1683e96bc1c.b2b65bc687febb09
- Ne pas modifier le template original - Toujours dupliquer pour créer une nouvelle liste de voyage
-
Voyages Passeports & Info (ID:
18cbf5a516e.8f52bba149ee57fc)- Type : Note texte
- Statut : Épinglée (📌)
- Description : Informations des passeports de la famille pour enregistrements rapides lors de voyages
- Format standardisé pour chaque passeport :
--- Passeport [INITIALES] Nom: [Prénom NOM] Num: [Numéro passeport] Date naissance: [JJ/MM/AAAA] Lieu de naissance: [Ville, Pays] Date délivrance: [JJ/MM/AAAA] Date expiration: [JJ/MM/AAAA] Compte Flying Blue: [Numéro] (optionnel) - Initiales : 1ère lettre du prénom + 2 premières lettres du nom (ex: Sébastien MORAND = SMO)
- Contenu actuel : SMO (Sébastien MORAND), LCH (Lamya CHRIF)
- 🔗 URL Web : https://keep.google.com/u/0/#NOTE/18cbf5a516e.8f52bba149ee57fc
- Modification OK - Note texte, pas de problème de hiérarchie
Ajouter d'autres notes
Format suggéré :
- **[Titre de la note]** (ID: `NOTE_ID`)
- Type : Note texte / Note liste
- Description : Usage de cette note
- Accès rapide : Épinglée / Archivée / etc.
- 🔗 **URL Web :** https://keep.google.com/u/0/#NOTE/NOTE_ID
- **Protection :** Si applicable, marquer comme PROTÉGÉE avec raison
Commandes Buffer / Buffer Commands
La note Buffer (1733387285569.619963495) est une note spéciale pour des notes temporaires rapides. Des commandes spécifiques sont disponibles.
The Buffer note (1733387285569.619963495) is a special note for quick temporary notes. Specific commands are available.
🇫🇷 Commandes en français
L'utilisateur peut utiliser ces formulations naturelles :
Ajouter du contenu au buffer
Utilisateur: "Dans la note buffer ajoute ceci : [contenu]"
Utilisateur: "Ajoute dans le buffer : [contenu]"
Utilisateur: "Mets ça dans le buffer : [contenu]"
Action : Ajouter le contenu à la note Buffer (ajout, pas remplacement).
Implémentation :
# 1. Récupérer le contenu actuel
./run.sh manage_notes --action get --note-id "1733387285569.619963495"
# 2. Ajouter le nouveau contenu
# Si la note est vide : utiliser le nouveau contenu
# Si la note a du contenu : ajouter une ligne vide puis le nouveau contenu
./run.sh manage_notes --action update --note-id "1733387285569.619963495" --text "[contenu existant]\n\n[nouveau contenu]"
Vider le buffer
Utilisateur: "Vide la note buffer"
Utilisateur: "Efface le buffer"
Utilisateur: "Clear le buffer"
Action : Supprimer tout le contenu de la note Buffer.
Implémentation :
./run.sh manage_notes --action update --note-id "1733387285569.619963495" --text ""
Copier le buffer
Utilisateur: "Copie la note buffer"
Utilisateur: "Copy le buffer"
Utilisateur: "Mets le buffer dans le clipboard"
Action : Copier le contenu de la note Buffer dans le clipboard système (avec pbcopy).
Implémentation :
# 1. Récupérer le contenu
CONTENT=$(./run.sh manage_notes --action get --note-id "1733387285569.619963495" | jq -r '.text')
# 2. Copier dans le clipboard
echo "$CONTENT" | pbcopy
# 3. Confirmer à l'utilisateur
echo "✓ Contenu du buffer copié dans le clipboard"
🇬🇧 English Commands
Users can use these natural formulations:
Add content to buffer
User: "In the buffer note add this: [content]"
User: "Add to the buffer: [content]"
User: "Put this in the buffer: [content]"
Action: Add content to the Buffer note (append, not replace).
Implementation:
# 1. Get current content
./run.sh manage_notes --action get --note-id "1733387285569.619963495"
# 2. Add new content
# If note is empty: use new content
# If note has content: add blank line then new content
./run.sh manage_notes --action update --note-id "1733387285569.619963495" --text "[existing content]\n\n[new content]"
Clear the buffer
User: "Clear the buffer note"
User: "Empty the buffer"
User: "Erase the buffer"
Action: Delete all content from the Buffer note.
Implementation:
./run.sh manage_notes --action update --note-id "1733387285569.619963495" --text ""
Copy the buffer
User: "Copy the buffer note"
User: "Copy buffer"
User: "Put buffer in clipboard"
Action: Copy the Buffer note content to the system clipboard (using pbcopy).
Implementation:
# 1. Get content
CONTENT=$(./run.sh manage_notes --action get --note-id "1733387285569.619963495" | jq -r '.text')
# 2. Copy to clipboard
echo "$CONTENT" | pbcopy
# 3. Confirm to user
echo "✓ Buffer content copied to clipboard"
💡 Exemples d'utilisation / Usage Examples
Exemple 1 : Ajouter une note rapide
🇫🇷 Utilisateur: "Dans le buffer ajoute : Appeler Marie demain à 14h"
Assistant: [Ajoute le texte au buffer]
✓ Ajouté au buffer
Exemple 2 : Vider après utilisation
🇫🇷 Utilisateur: "Vide le buffer"
Assistant: [Vide la note]
✓ Buffer vidé
Exemple 3 : Copier pour utiliser ailleurs
🇬🇧 User: "Copy the buffer"
Assistant: [Copies content to clipboard]
✓ Buffer content copied to clipboard
Exemple 4 : Workflow complet
🇫🇷 Utilisateur: "Ajoute dans le buffer : Idée pour le projet X"
Assistant: ✓ Ajouté au buffer
[Plus tard...]
Utilisateur: "Copie le buffer"
Assistant: ✓ Contenu du buffer copié dans le clipboard
Utilisateur: "Vide le buffer"
Assistant: ✓ Buffer vidé
⚠️ Important Notes
🇫🇷 Pour Claude :
- TOUJOURS utiliser l'ID exact :
1733387285569.619963495 - Ajouter = append, ne pas remplacer le contenu existant
- Vider = mettre le text à "", pas supprimer la note
- Copier = utiliser
pbcopypour le clipboard système - Confirmer chaque action avec un message clair à l'utilisateur
🇬🇧 For Claude:
- ALWAYS use the exact ID:
1733387285569.619963495 - Add = append, don't replace existing content
- Clear = set text to "", don't delete the note
- Copy = use
pbcopyfor system clipboard - Confirm each action with a clear message to the user
Références
- gkeepapi Documentation - API Python pour Google Keep
- Scripts dans
scripts/src/:auth.py- Authentification Google Keepsearch_notes.py- Recherche de notesmanage_notes.py- CRUD des notes
Limitations
- Google Keep n'a pas d'API officielle, cette skill utilise
gkeepapi(API non officielle) - Seuls les formats texte et liste sont supportés
- Les images, dessins et enregistrements audio ne sont pas gérés
- La synchronisation peut prendre quelques secondes
- ⚠️ LIMITATION MAJEURE - Hiérarchie dans les listes :
- Les notes de type "liste" NE PRÉSERVENT PAS la hiérarchie/indentation lors de modifications via l'API
- Toute modification via
--action updatesur une note liste aplatira la structure et mélangera les éléments - Solution : Pour les notes avec hiérarchie complexe, les marquer comme PROTÉGÉES et les modifier uniquement via l'interface Web Google Keep
- Les URLs Google Keep Web suivent le format :
https://keep.google.com/u/0/#NOTE/{note_id}
Scan to join WeChat group