Communitygithub.com

figma-daily-resume

每日生成 Figma 設計變更摘要,包含具體編輯記錄(如「輸入文字:『依成員分類』」或「顏色變更:#0000ff → #ff0000」),並透過 Figma REST API 比對使用者選取頁面的存檔版本差異。處理首次設定(Figma Token、檔案、頁面、輸出方式、排程)與每日執行。

figma-daily-resume 是什麼?

此技能透過比對 Figma 檔案今日之前的最後存檔版本與最新存檔版本,將使用者在 Figma 中的變更轉換為具體編輯清單。由於 Figma 本身並無記錄每項操作的歷史,此差異比對是唯一能取得編輯層級細節的方式。它支援 Claude Desktop(含排程任務)與 macOS launchd/cron 排程,並自動處理首次設定流程,包括 Token、檔案、頁面、輸出(終端機或 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

解釋如何取得 Token,然後讓使用者自行儲存:

  1. Figma → 帳號選單(左上角)→ 設定 → 安全性 → 個人存取權杖 → 產生新權杖。
  2. 命名為 daily-resume,有效期依使用者喜好,並授予唯讀範圍:file_content:read、file_metadata:read、file_versions:read、file_comments:read。
  3. 立即複製;Figma 只顯示一次。
  4. 儲存到只有使用者能看到的檔案。請使用者在自己的終端機中執行下列指令(使用編輯器可避免 Token 留在 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 然後貼上 Token,儲存後關閉。

使用檔案而非環境變數,是因為排程執行時不會載入 ~/.zshrc。 絕對不要在聊天中要求 Token,也不要顯示或 cat 它。如果使用者還是貼上 Token,請直接說明,繼續進行,並建議在結束時撤銷並重新產生。 使用 python3 scripts/figma_resume.py whoami 驗證(會印出使用者名稱/Email,絕不會顯示 Token)。

2. 檔案

詢問 Figma 檔案網址(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. 排程

詢問每天幾點執行。排程必須在本機執行,因為 Token 和設定檔都在這台機器上,雲端服務無法存取。依下列順序選擇:

  1. Claude Desktop 排程任務(本機):請使用者建立一個每日任務,提示詞為 /figma-daily-resume run。如果你能從此處看到如何建立,請直接操作;如果不能,請提供確切的步驟和提示詞,避免猜測 UI。
  2. macOS launchd/cron 替代方案:執行 claude -p "/figma-daily-resume run --unattended"。
  3. 請勿使用 CronCreate:它僅限會話期間使用,且 7 天後到期。

排程應放在最後執行,這樣如果 Token 無效或頁面 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
  Insights
  • 輸入文字:"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:Token 已過期、已撤銷或缺少權限範圍。將使用者導回設定步驟 1。
  • 大型頁面超時:重試一次,然後回報哪個頁面失敗,而不是默默忽略。
  • 切勿顯示 Token,也不要將其寫入 ~/.config/figma-daily-resume/token 以外的任何檔案。

相關技能