Figma daily resume
Transforme « ce que j'ai changé dans Figma aujourd'hui » en une courte liste d'édits réels en comparant la dernière version sauvegardée du fichier avant aujourd'hui avec sa version la plus récente, page par page. Figma ne dispose pas de journal des actions par utilisateur, donc cette différence est le seul moyen d'obtenir des détails au niveau des modifications.
Aide : scripts/figma_resume.py à côté de ce fichier (stdlib Python, sortie JSON).
La configuration se trouve dans ~/.config/figma-daily-resume/ (config.json, token).
Quel mode ?
- Pas de
config.jsonou pas de jeton → Configuration. - L'utilisateur dit « exécuter », « résumé », « aujourd'hui », ou un planificateur vous a appelé → Exécution quotidienne.
- L'utilisateur dit « reconfigurer » / « changer les fichiers/pages » → refaire les questions de configuration pertinentes.
Configuration
Posez une question à la fois, dans cet ordre. Ne passez à la suivante que lorsque la question courante est réglée.
1. Jeton
Expliquez comment en obtenir un, puis laissez l'utilisateur le stocker lui-même :
- Figma → menu du compte (en haut à gauche) → Paramètres → Sécurité → Jetons d'accès personnels → Générer un nouveau jeton.
- Nommez-le
daily-resume, expiration selon votre préférence, et accordez les autorisations lecture seule :file_content:read,file_metadata:read,file_versions:read,file_comments:read. - Copiez-le immédiatement ; Figma ne l'affiche qu'une fois.
- Sauvegardez-le dans un fichier que seulement ils voient. Donnez-leur cette commande à exécuter dans leur propre terminal (un éditeur évite de laisser le jeton dans l'historique du shell) :
mkdir -p ~/.config/figma-daily-resume && chmod 700 ~/.config/figma-daily-resume && touch ~/.config/figma-daily-resume/token && chmod 600 ~/.config/figma-daily-resume/token && open -e ~/.config/figma-daily-resume/tokenpuis collez le jeton, enregistrez, fermez.
Un fichier est utilisé plutôt qu'une variable d'environnement car les exécutions planifiées ne chargent pas ~/.zshrc.
Ne demandez jamais le jeton dans le chat et ne faites jamais d'écho ou cat de celui-ci. S'ils le collent quand même,
dites-le clairement, continuez, et recommandez de le révoquer et de le régénérer à la fin.
Vérifiez avec python3 scripts/figma_resume.py whoami (affiche le pseudo/email, jamais le jeton).
2. Fichiers
Demandez l'URL du fichier Figma (figma.com/design/<KEY>/...). Pour chacun, exécutez
figma_resume.py pages <url> et notez le nom du fichier.
3. Pages
Affichez la liste des pages de chaque fichier et demandez quelles pages ils modifient activement. Expliquez le coût : une grande page peut peser 100 Mo ou plus et prend environ une minute à différencier, donc seulement les pages où ils travaillent vraiment. Interrogez au maximum une poignée à la fois ; suggérez d'abord les pages de thème/UI si les noms le rendent évident.
4. Sortie
Terminal uniquement, un fichier Markdown (par défaut ~/Documents/figma-resumes/YYYY-MM-DD.md),
ou une page Notion (proposer uniquement si un outil Notion est connecté). Enregistrez le choix.
5. Planification
Demandez à quelle heure chaque jour. Les exécutions planifiées doivent être locales car le jeton et la configuration se trouvent sur cette machine, et les routines cloud ne peuvent pas les voir. Choisissez dans cet ordre :
- Tâche planifiée Claude Desktop (locale) : demandez à l'utilisateur de créer une tâche quotidienne avec l'invite
/figma-daily-resume run. Si vous voyez comment la créer depuis ici, faites-le ; sinon, donnez-leur les étapes exactes et l'invite plutôt que de deviner l'interface. - Solution de repli macOS launchd/cron exécutant
claude -p "/figma-daily-resume run --unattended". - N'utilisez pas CronCreate : il n'est valable que pour la session et expire au bout de 7 jours.
Faites la planification en dernier pour qu'un jeton cassé ou un mauvais ID de page soit détecté avant toute automatisation. Ensuite, effectuez une vraie exécution (voir ci-dessous) pour que l'utilisateur voie un résultat avant de terminer.
config.json
{"files": [{"key": "VOTRE_CLE_FICHIER", "name": "Mon App",
"pages": [{"id": "0:1", "name": "Thème clair"}]}],
"output": {"type": "file", "path": "~/Documents/figma-resumes"},
"schedule": "18:00"}
Exécution quotidienne
- Demandez les cibles d'abord (sauter seulement si
--unattended, ou si personne ne répond) : affichez les fichiers/pages sauvegardés et demandez « pareil que la dernière fois, ou vous changez quelque chose ? ». Acceptez les ajouts/suppressions (« aussi le Tableau de bord des modifications », « sauter Sakura aujourd'hui »). Les modifications ponctuelles s'appliquent uniquement aujourd'hui sauf si l'utilisateur dit de les enregistrer. - Pour chaque fichier, pour chaque ensemble de pages choisi, exécutez :
python3 scripts/figma_resume.py diff <clé> --pages <ids>(ajoutez--datepour un jour passé). Exécutez les fichiers en arrière-plan et vérifiez ensuite, car chaque page prend environ une minute. Exécutez aussicomments <clé>pour les commentaires écrits ou résolus aujourd'hui. - Lisez
status:no_versions_today: Figma n'a sauvegardé aucune version aujourd'hui, donc dites « aucune modification sauvegardée » pour ce fichier. Les sauvegardes sont périodiques (temps d'inactivité ou manuelles), donc des modifications récentes peuvent ne pas encore être sauvegardées.no_baseline: le fichier n'a pas de version antérieure à aujourd'hui, donc rien à comparer ; dites-le.ok: résumez leschanges.
- Écrivez le résumé, puis livrez-le à la sortie configurée.
Rédaction du résumé
Groupez par fichier → page → frame de premier niveau (frame). Une puce par modification, dans les termes
de l'utilisateur, en utilisant les chaînes exactes des données. Réduisez le bruit ; le but est d'être facile à parcourir.
Résumé Figma, 2026-09-21
Mon App / UI Thème clair
Insights
• a tapé : "Brekdown by member" -> "Breakdown by member"
• a changé la couleur sur "Card bg" : #ffffff -> #f5f5f5
• a ajouté Frame "État vide" (12 nœuds)
Commentaires : écrit 2, résolu 1
Règles qui garantissent l'honnêteté :
- Types :
text= tapé,fill/stroke= couleur modifiée,renamed= renommé,resized= redimensionné,added/deleted= ajouté/supprimé (racines de sous-arbres avec décompte de nœuds, pas chaque enfant). - Beaucoup de modifications similaires (même couleur échangée sur 40 nœuds) : une puce avec le décompte.
- C'est une différence nette entre deux versions sauvegardées. Dites « changements nets » une fois, car les modifications apportées et annulées entre les sauvegardes sont invisibles. Ne revendiquez pas plus de précision que cela.
- N'inventez jamais d'intention (« hiérarchie améliorée »). Décrivez seulement ce qui a changé.
- Si
editorsinclut quelqu'un d'autre, mentionnez que certaines modifications peuvent ne pas être de l'utilisateur. - Différence vide un jour avec des sauvegardes : « versions sauvegardées mais aucune différence visible sur ces pages » (la modification peut être sur une autre page — proposez d'élargir les pages).
Gestion des échecs
- HTTP 401/403 : jeton expiré, révoqué, ou une autorisation manquante. Renvoyez l'utilisateur à l'étape 1 de la configuration.
- Délais d'attente sur une page énorme : réessayez une fois, puis signalez quelle page a échoué au lieu de l'ignorer silencieusement.
- N'imprimez jamais le jeton, et ne l'écrivez jamais dans un fichier autre que
~/.config/figma-daily-resume/token.