Figma daily resume (Resumen diario de Figma)
Convierte «lo que cambié en Figma hoy» en una lista corta de ediciones reales comparando la última versión guardada del archivo antes de hoy con su última versión guardada, página por página. Figma no tiene un registro de acciones por usuario, por lo que esta diferencia es la única forma de obtener detalles a nivel de edición.
Ayudante: scripts/figma_resume.py junto a este archivo (stdlib Python, salida JSON).
La configuración está en ~/.config/figma-daily-resume/ (config.json, token).
¿Qué modo?
- Sin
config.jsono sin token → Configuración. - El usuario dice «ejecutar», «resumen», «hoy», o un programador te invocó → Ejecución diaria.
- El usuario dice «reconfigurar» / «cambiar páginas/archivos» → rehacer las preguntas de Configuración relevantes.
Configuración
Haz una pregunta a la vez, en este orden. No continúes hasta que la actual esté resuelta.
1. Token
Explica cómo obtener uno, luego permite que el usuario lo almacene por sí mismo:
- Figma → menú de cuenta (arriba a la izquierda) → Configuración → Seguridad → Tokens de acceso personal → Generar nuevo token.
- Nómbralo
daily-resume, caducidad según prefieran, y otorga permisos solo de lectura:file_content:read,file_metadata:read,file_versions:read,file_comments:read. - Cópialo de inmediato; Figma lo muestra una vez.
- Guárdalo en un archivo que solo vea el usuario. Dale esto para ejecutar en su propio terminal (un editor evita que el token quede en el historial del 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/tokenluego pega el token, guarda, cierra.
Se usa un archivo en lugar de una variable de entorno porque las ejecuciones programadas no cargan ~/.zshrc.
Nunca pidas el token en el chat y nunca lo hagas eco o cat. Si el usuario lo pega de todos modos,
dilo claramente, continúa, y recomienda revocarlo y regenerarlo al final.
Verifica con python3 scripts/figma_resume.py whoami (imprime handle/email, nunca el token).
2. Archivos
Pregunta por la(s) URL(s) del archivo de Figma (figma.com/design/<KEY>/...). Para cada una, ejecuta
figma_resume.py pages <url> y anota el nombre del archivo.
3. Páginas
Muestra la lista de páginas de cada archivo y pregunta cuáles edita activamente. Explica el costo: una página grande puede tener 100+ MB y tarda aproximadamente un minuto en diferenciarse, así que solo las páginas en las que realmente trabajan. Pregunta sobre como máximo un puñado a la vez; sugiere las páginas de tema/interfaz primero si los nombres lo hacen evidente.
4. Salida
Solo terminal, un archivo markdown (por defecto ~/Documents/figma-resumes/YYYY-MM-DD.md),
o una página de Notion (solo ofrecer si una herramienta de Notion está conectada). Guarda la elección.
5. Horario
Pregunta a qué hora cada día. Las ejecuciones programadas deben ser locales porque el token y la configuración están en esta máquina, y las rutinas en la nube no pueden verlos. Elige en este orden:
- Tarea programada de Claude Desktop (local): haz que el usuario cree una tarea diaria con el
prompt
/figma-daily-resume run. Si puedes ver cómo crearla desde aquí, hazlo; si no, dales los pasos exactos y el prompt en lugar de adivinar la interfaz. - Respaldo de macOS launchd/cron ejecutando
claude -p "/figma-daily-resume run --unattended". - No uses CronCreate: es solo de sesión y caduca en 7 días.
Haz el horario al final para que un token roto o un ID de página incorrecto se detecten antes de automatizar cualquier cosa. Luego haz una ejecución real (ver más abajo) para que el usuario vea un resultado antes de terminar.
config.json
{"files": [{"key": "YOUR_FILE_KEY", "name": "Mi App",
"pages": [{"id": "0:1", "name": "Tema Claro"}]}],
"output": {"type": "file", "path": "~/Documents/resumes-figma"},
"schedule": "18:00"}
Ejecución diaria
- Pregunta objetivos primero (saltar solo si
--unattended, o si nadie responde): muestra los archivos/páginas guardados y pregunta «¿igual que la última vez, o quieres cambiar algo?». Acepta añadidos/eliminaciones («también Dashboard de cambios», «salta Sakura hoy»). Los cambios de una sola vez aplican solo a hoy a menos que el usuario diga que los guardes. - Para cada archivo, para cada conjunto de páginas elegido, ejecuta:
python3 scripts/figma_resume.py diff <key> --pages <ids>(añade--datepara un día pasado). Ejecuta los archivos en segundo plano y vuelve a consultar, porque cada página tarda aproximadamente un minuto. También ejecutacomments <key>para comentarios escritos o resueltos hoy. - Lee
status:no_versions_today: Figma no guardó ninguna versión hoy, así que di «sin cambios guardados» para ese archivo. Los guardados son periódicos (tiempo de inactividad o manual), así que las ediciones recientes pueden no estar guardadas aún.no_baseline: el archivo no tiene una versión anterior a hoy, así que no hay nada que comparar; dilo.ok: resume loschanges.
- Escribe el resumen, luego entrégalo en la salida configurada.
Escribir el resumen
Agrupa por archivo → página → frame de nivel superior (frame). Una viñeta por edición, en los propios términos
del usuario, usando las cadenas exactas de los datos. Elimina ruido; el objetivo es que sea escaneable.
Resumen de Figma, 2026-09-21
Mi App / Interfaz de Tema Claro
Insights
• escribió: "Brekdown by member" -> "Breakdown by member"
• cambió color en "Card bg": #ffffff -> #f5f5f5
• añadió Frame "Empty state" (12 nodos)
Comentarios: escribió 2, resolvió 1
Reglas que mantienen la honestidad:
- Tipos:
text= escribió,fill/stroke= cambió color,renamed(renombrado),resized(redimensionado),added/deleted(añadido/eliminado) (raíces de subárbol con recuento de nodos, no cada hijo). - Muchas ediciones similares (mismo color cambiado en 40 nodos): una viñeta con el recuento.
- Es una diferencia neta entre dos versiones guardadas. Di «cambios netos» una vez, ya que las ediciones realizadas y revertidas entre guardados son invisibles. No afirmes más precisión que esa.
- Nunca inventes intención («jerarquía mejorada»). Solo describe qué cambió.
- Si
editorsincluye a otra persona, menciona que algunos cambios pueden no ser del usuario. - Diferencia vacía en un día con guardados: «versiones guardadas pero sin diferencias visibles en estas páginas» (la edición puede estar en otra página; ofrece ampliar las páginas).
Manejo de fallos
- HTTP 401/403: token caducado, revocado, o sin un ámbito. Envía al usuario de vuelta al paso 1 de Configuración.
- Tiempo de espera en una página enorme: reintenta una vez, luego informa qué página falló en lugar de descartarla silenciosamente.
- Nunca imprimas el token, y nunca lo escribas en ningún otro archivo que no sea
~/.config/figma-daily-resume/token.