Communitygithub.com

figma-daily-resume

Daily resume of what the user changed in Figma, as concrete edits like "typed: 'Breakdown by member'" or "changed color: #0000ff -> #ff0000". Diffs saved file versions via the Figma REST API on the pages the user picks. Handles first-time setup (Figma token, files, pages, output, schedule) and the daily run. Use whenever the user mentions a Figma daily resume/summary/log/changelog, "what did I do/change in Figma today", tracking their Figma work, scheduling a Figma report, or types /figma-daily-resume — even if they don't say "skill".

figma-daily-resume란 무엇인가요?

figma-daily-resume is a Claude Code agent skill that daily resume of what the user changed in Figma, as concrete edits like "typed: 'Breakdown by member'" or "changed color: #0000ff -> #ff0000". Diffs saved file versions via the Figma REST API on the pages the user picks. Handles first-time setup (Figma token, files, pages, output, schedule) and the daily run. Use whenever the user mentions a Figma daily resume/summary/log/changelog, "what did I do/change in Figma today", tracking their Figma work, scheduling a Figma report, or types /figma-daily-resume — even if they don't say "skill".

지원 대상Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ignasave/figma-daily-resume/tree/main/figma-daily-resume

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서


name: figma-daily-resume description: Daily resume of what the user changed in Figma, as concrete edits like "typed: 'Breakdown by member'" or "changed color: #0000ff -> #ff0000". Diffs saved file versions via the Figma REST API on the pages the user picks. Handles first-time setup (Figma token, files, pages, output, schedule) and the daily run. Use whenever the user mentions a Figma daily resume/summary/log/changelog, "what did I do/change in Figma today", tracking their Figma work, scheduling a Figma report, or types /figma-daily-resume — even if they don't say "skill".

Figma daily resume

Turns "what I changed in Figma today" into a short list of real edits by comparing the file's last saved version before today with its latest saved version, page by page. Figma has no per-user action log, so this diff is the only way to get edit-level detail.

Helper: scripts/figma_resume.py next to this file (stdlib Python, JSON output). Config lives in ~/.config/figma-daily-resume/ (config.json, token).

Which mode?

  • No config.json or no token → Setup.
  • User says "run", "resume", "today", or a scheduler invoked you → Daily run.
  • User says "reconfigure" / "change pages/files" → redo the relevant Setup questions.

Setup

Ask one question at a time, in this order. Don't move on until the current one is settled.

1. Token

Explain how to get one, then let the user store it themselves:

  1. Figma → account menu (top-left) → SettingsSecurityPersonal access tokensGenerate new token.
  2. Name it daily-resume, expiration as they prefer, and grant read-only scopes: file_content:read, file_metadata:read, file_versions:read, file_comments:read.
  3. Copy it right away; Figma shows it once.
  4. Save it to a file only they see. Give them this to run in their own terminal (an editor avoids leaving the token in shell history): 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 then paste the token, save, close.

A file is used instead of an env var because scheduled runs don't load ~/.zshrc. Never ask for the token in chat and never echo or cat it. If they paste it anyway, say so plainly, continue, and recommend revoking and regenerating it at the end. Verify with python3 scripts/figma_resume.py whoami (prints handle/email, never the token).

2. Files

Ask for the Figma file URL(s) (figma.com/design/<KEY>/...). For each run figma_resume.py pages <url> and note the file name.

3. Pages

Show each file's page list and ask which pages they actively edit. Explain the cost: a large page can be 100+ MB and takes about a minute to diff, so only pages they really work in. Ask about at most a handful at a time; suggest the theme/UI pages first if the names make it obvious.

4. Output

Terminal only, a markdown file (default ~/Documents/figma-resumes/YYYY-MM-DD.md), or a Notion page (only offer if a Notion tool is connected). Save the choice.

5. Schedule

Ask what time each day. Scheduled runs must be local because the token and config are on this machine, and cloud routines can't see them. Choose in this order:

  1. Claude Desktop scheduled task (local): have the user create a daily task with the prompt /figma-daily-resume run. If you can see how to create it from here, do it; if not, give them the exact steps and prompt rather than guessing at the UI.
  2. macOS launchd/cron fallback running claude -p "/figma-daily-resume run --unattended".
  3. Do not use CronCreate: it is session-only and expires in 7 days.

Do the schedule last so a broken token or bad page id is found before anything is automated. Then do one real run (see below) so the user sees a result before finishing.

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"}

Daily run

  1. Ask targets first (skip only if --unattended, or if nobody answers): show the saved files/pages and ask "same as last time, or change something?". Accept adds/removals ("also Dashboard de cambios", "skip Sakura today"). One-off changes apply to today only unless the user says to save them.
  2. For each file, for each chosen page set: run python3 scripts/figma_resume.py diff <key> --pages <ids> (add --date for a past day). Run files in the background and check back, because each page takes around a minute. Also run comments <key> for comments written or resolved today.
  3. Read status:
    • no_versions_today: Figma saved no version today, so say "no saved changes" for that file. Saves are periodic (idle time or manual), so recent edits may not be saved yet.
    • no_baseline: the file has no version before today, so nothing to diff; say so.
    • ok: summarize the changes.
  4. Write the resume, then deliver it to the configured output.

Writing the resume

Group by file → page → top-level frame (frame). One bullet per edit, in the user's own terms, using the exact strings from the data. Collapse noise; the point is to be scannable.

Figma resume, 2026-09-21
My App / Light Theme UI
  Insights
  • typed: "Brekdown by member" -> "Breakdown by member"
  • changed color on "Card bg": #ffffff -> #f5f5f5
  • added Frame "Empty state" (12 nodes)
Comments: wrote 2, resolved 1

Rules that keep it honest:

  • Kinds: text = typed, fill/stroke = changed color, renamed, resized, added/deleted (subtree roots with node counts, not every child).
  • Many similar edits (same color swapped on 40 nodes): one bullet with the count.
  • It is a net diff between two saved versions. Say "net changes" once, since edits that were made and reverted between saves are invisible. Don't claim more precision than that.
  • Never invent intent ("improved hierarchy"). Only describe what changed.
  • If editors includes someone else, mention that some changes may not be the user's.
  • Empty diff on a day with saves: "saved versions but no visible differences on these pages" (the edit may be on another page — offer to widen the pages).

Failure handling

  • HTTP 401/403: token expired, revoked, or missing a scope. Send the user back to Setup step 1.
  • Timeouts on a huge page: retry once, then report which page failed instead of dropping it silently.
  • Never print the token, and never write it to any file other than ~/.config/figma-daily-resume/token.

관련 스킬