Communitygithub.com

figma-daily-resume

每日自动生成你在 Figma 中的更改摘要,以具体编辑形式呈现,如“键入:'按成员细分'”或“更改颜色:#0000ff -> #ff0000”。它通过 Figma REST API 对比用户选定页面的已保存版本差异,支持首次设置和每日运行。

figma-daily-resume 是什么?

这是一个 Figma 每日变更摘要技能,适用于 Claude Desktop、Cursor、Codex 等 AI 开发工具。它解决了 Figma 没有按用户操作日志的问题,通过对比页面在今日之前的最新保存版本与当前最新版本,逐页生成差异报告。用户可配置要监控的 Figma 文件、页面、输出格式(终端、Markdown 文件或 Notion 页面)以及每日运行时间。支持首次设置引导和每日自动运行,并在运行前允许临时调整监控页面。该技能使用 `figma_resume.py` 脚本(标准 Python,JSON 输出),配置存储在 `~/.config/figma-daily-resume/` 目录下,并要求使用只读 Figma 个人访问令牌以确保安全性。运行结果以简洁的 Markdown 格式呈现,按文件、页面、框架分组,描述文本更改、颜色更改、重命名、调整大小、添加/删除元素等,并注明可能包含他人编辑。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ignasave/figma-daily-resume/tree/main/figma-daily-resume

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Figma 每日摘要

将“我在 Figma 中今天的更改”转化为一列简短的编辑记录,通过对比文件在今天之前的最后保存版本与其最新的保存版本,逐页进行比较。Figma 本身没有按用户记录的操作日志,因此这种差异对比是获取编辑级细节的唯一方法。

辅助脚本:与此文件同目录下的 scripts/figma_resume.py(标准 Python 库,JSON 输出)。 配置文件位于 ~/.config/figma-daily-resume/(config.json、token)。

模式选择

  • 没有 config.json 或没有 token → 设置模式。
  • 用户说“运行”、“摘要”、“今天”,或调度器调用你 → 每日运行模式。
  • 用户说“重新配置”/“更改页面/文件” → 重新执行设置中的相关提问。

设置

按以下顺序逐一提问。前一个问题未解决前不要继续。

1. Token 令牌

解释如何获取令牌,然后让用户自行保存:

  1. 打开 Figma → 账户菜单(左上角)→ 设置 → 安全 → 个人访问令牌 → 生成新令牌。
  2. 将其命名为 daily-resume,过期时间按用户偏好设置,并授予只读权限:file_content:read、file_metadata:read、file_versions:read、file_comments:read。
  3. 立即复制令牌;Figma 只显示一次。
  4. 将其保存到只有用户自己可见的文件中。让用户在终端中运行以下命令(使用编辑器可避免令牌留在 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/token 然后粘贴令牌,保存,关闭文件。

使用文件而非环境变量,因为计划运行不会加载 ~/.zshrc。 绝不要在聊天中索要令牌,也绝不要回显或 cat 令牌。如果用户仍粘贴了令牌,坦诚说明,继续流程,并建议用户在最后撤销并重新生成令牌。 用 python3 scripts/figma_resume.py whoami 验证(打印句柄/邮箱,绝不打印令牌)。

2. 文件

询问 Figma 文件 URL(figma.com/design/<KEY>/...)。对每个链接运行 figma_resume.py pages <url> 并记下文件名。

3. 页面

展示每个文件的页面列表,询问用户实际编辑哪些页面。说明代价:一个大页面可能超过 100 MB,比较差异大约需要一分钟,因此只选用户真正工作的页面。一次最多询问几个页面;如果页面名称明显,建议先选择主题/UI 页面。

4. 输出方式

终端,Markdown 文件(默认为 ~/Documents/figma-resumes/YYYY-MM-DD.md),或 Notion 页面(仅当连接了 Notion 工具时才提供此选项)。保存选择。

5. 计划

询问每天几点执行。计划运行必须是本地的,因为令牌和配置文件都在本机上,云端例程无法访问。按以下优先级选择:

  1. Claude Desktop 本地计划任务:让用户创建一个每日任务,提示词为 /figma-daily-resume run。如果可以看到如何在此处创建,则直接操作;否则,给出精确步骤和提示词,而不是猜测界面。
  2. macOS launchd/cron 备用方案:运行 claude -p "/figma-daily-resume run --unattended"。
  3. 不要使用 CronCreate:它仅会话有效,7 天后过期。

最后再设置计划,这样如果有损坏的令牌或错误的页面 ID,会在自动化之前被发现。然后执行一次真实运行(见下文),以便用户在完成前看到结果。

config.json 配置

{"files": [{"key": "YOUR_FILE_KEY", "name": "My App",
            "pages": [{"id": "0:1", "name": "Light Theme"}]}],
 "output": {"type": "file", "path": "~/Documents/figma-resumes"},
 "schedule": "18:00"}

每日运行

  1. 先询问目标(仅在 --unattended 或无人回答时跳过):展示已保存的文件/页面,问“和上次一样,还是需要调整?”。接受添加/删除(例如“加上 Dashboard de cambios”、“今天跳过 Sakura”)。临时更改仅适用于当天,除非用户要求保存。
  2. 对每个文件,针对选定的页面集运行:python3 scripts/figma_resume.py diff <key> --pages <ids>(如需回溯过去,添加 --date 参数)。在后台运行文件并回头检查,因为每个页面大约需要一分钟。同时运行 comments <key> 以获得今天撰写或解决的评论。
  3. 读取 status:
    • no_versions_today:Figma 今天未保存任何版本,因此提示该文件“无已保存更改”。保存是周期性的(空闲时间或手动),最近的编辑可能尚未保存。
    • no_baseline:文件在今日之前没有版本,无法比较差异;提示此情况。
    • ok:汇总 changes。
  4. 撰写摘要,然后将其传递到配置的输出位置。

撰写摘要

按文件 → 页面 → 顶层框架(frame)分组。每个编辑一个要点,使用用户自己的表述,直接使用数据中的确切字符串。过滤掉噪音;要点是便于快速浏览。

Figma 摘要,2026-09-21
My App / Light Theme UI
  概述
  • 键入了:“Brekdown by member” -> “Breakdown by member”
  • 更改了“Card bg”的颜色:#ffffff -> #f5f5f5
  • 添加了框架“Empty state”(12 个节点)
评论:撰写 2 条,解决 1 条

保持真实的规则:

  • 类型:text = 键入了文本,fill/stroke = 更改了颜色,renamed = 重命名,resized = 调整大小,added/deleted = 添加/删除(子树根节点,附带节点计数,不列出每个子节点)。
  • 大量相似编辑(例如在 40 个节点上替换同一种颜色):用一个要点加计数表示。
  • 这是两个已保存版本之间的净差异。说明是“净更改”,因为保存之间可能进行的编辑和撤销操作是看不见的。不要声称超出这个精度。
  • 永远不要编造意图(如“优化了层次结构”)。只描述变化。
  • 如果 editors 包含其他人,则说明某些更改可能不是用户的。
  • 当天有保存但差异为空:“已保存版本,但在这些页面上没有可见差异”(编辑可能在其他页面上——建议扩大页面范围)。

失败处理

  • HTTP 401/403:令牌过期、被撤销或缺少权限。引导用户重新执行设置步骤 1。
  • 大页面超时:重试一次,然后报告哪个页面失败,而不是静默跳过。
  • 绝不打印令牌,也绝不将令牌写入除 ~/.config/figma-daily-resume/token 以外的任何文件。

相关技能