Figma 일일 요약
"오늘 Figma에서 변경한 내용"을 파일의 오늘 이전 마지막 저장 버전과 최신 저장 버전을 페이지별로 비교하여 실제 편집 내역의 짧은 목록으로 변환합니다. Figma는 사용자별 작업 로그가 없으므로, 이 diff가 편집 수준 세부 정보를 얻는 유일한 방법입니다.
도우미: 이 파일과 같은 디렉토리에 있는 scripts/figma_resume.py (표준 Python, JSON 출력).
설정 파일 위치: ~/.config/figma-daily-resume/ (config.json, token).
어떤 모드인가요?
config.json또는 token 없음 → 설정.- 사용자가 "실행", "요약", "오늘", 또는 스케줄러가 당신을 호출 → 일일 실행.
- 사용자가 "재설정" / "페이지/파일 변경" → 관련 설정 질문을 다시 진행.
설정
한 번에 한 가지 질문씩, 다음 순서대로 진행하세요. 현재 질문이 해결될 때까지 다음으로 넘어가지 마세요.
1. 토큰
토큰을 얻는 방법을 설명한 후, 사용자가 직접 저장하도록 안내하세요:
- Figma → 계정 메뉴 (왼쪽 상단) → 설정 → 보안 → 개인 액세스 토큰 → 새 토큰 생성.
- 이름을
daily-resume으로 지정하고, 만료 기간은 사용자 선택에 맡기고, 읽기 전용 범위를 부여하세요:file_content:read,file_metadata:read,file_versions:read,file_comments:read. - 바로 복사하세요. Figma는 토큰을 한 번만 보여줍니다.
- 사용자만 볼 수 있는 파일에 저장하세요. 사용자에게 자신의 터미널에서 실행할 다음 명령어를 제공하세요 (편집기를 사용하면 셸 히스토리에 토큰이 남지 않습니다):
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를 로드하지 않기 때문입니다. 변수 대신 파일을 사용합니다.
채팅에서 토큰을 요청하거나 echo 또는 cat으로 출력하지 마세요. 사용자가 실수로 붙여넣더라도, 해당 사실을 간단히 알리고 계속 진행한 후 마지막에 토큰을 취소하고 다시 생성할 것을 권장하세요.
python3 scripts/figma_resume.py whoami로 확인하세요 (핸들/이메일 출력, 토큰은 절대 출력하지 않음).
2. 파일
Figma 파일 URL(figma.com/design/<KEY>/...)을 요청하세요. 각 URL에 대해 figma_resume.py pages <url>을 실행하고 파일 이름을 기록하세요.
3. 페이지
각 파일의 페이지 목록을 보여주고 사용자가 실제로 편집하는 페이지를 묻습니다. 비용을 설명하세요: 큰 페이지는 100MB 이상일 수 있고 diff하는 데 약 1분이 걸리므로, 실제로 작업하는 페이지로만 제한하세요. 한 번에 많아야 몇 개씩 묻고, 이름이 명확하면 테마/UI 페이지를 먼저 제안하세요.
4. 출력
터미널만, 마크다운 파일(기본 ~/Documents/figma-resumes/YYYY-MM-DD.md), 또는 Notion 페이지(Notion 도구가 연결된 경우에만 제안). 선택 사항을 저장하세요.
5. 일정
매일 몇 시에 실행할지 묻습니다. 스케줄 실행은 로컬이어야 합니다. 토큰과 설정이 이 머신에 있고 클라우드 루틴은 이를 볼 수 없기 때문입니다. 다음 순서로 선택하세요:
- Claude Desktop 스케줄 태스크 (로컬): 사용자가
/figma-daily-resume run프롬프트로 일일 태스크를 생성하도록 합니다. 여기서 생성 방법을 알 수 있으면 직접 수행하고, 그렇지 않으면 UI를 추측하지 말고 정확한 단계와 프롬프트를 제공하세요. - macOS launchd/cron 대체
claude -p "/figma-daily-resume run --unattended"실행. - 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"}
일일 실행
- 먼저 대상을 묻습니다(
--unattended이거나 아무도 응답하지 않는 경우에만 건너뛰기): 저장된 파일/페이지를 보여주고 "지난번과 동일합니까, 아니면 변경할 것이 있습니까?"라고 묻습니다. 추가/제거를 허용합니다 ("Dashboard de cambios도 추가", "오늘은 Sakura 건너뛰기"). 일회성 변경은 사용자가 저장하라고 하지 않는 한 오늘만 적용됩니다. - 각 파일, 선택한 각 페이지 세트에 대해 다음을 실행합니다:
python3 scripts/figma_resume.py diff <key> --pages <ids>(과거 날짜의 경우--date추가). 각 페이지는 약 1분이 걸리므로 파일을 백그라운드에서 실행하고 다시 확인하세요. 또한 오늘 작성되거나 해결된 댓글에 대해comments <key>를 실행합니다. status를 읽습니다:no_versions_today: Figma가 오늘 저장한 버전이 없으므로 해당 파일에 대해 "저장된 변경 사항 없음"이라고 말합니다. 저장은 주기적(유휴 시간 또는 수동)이므로 최근 편집 내용이 아직 저장되지 않았을 수 있습니다.no_baseline: 파일에 오늘 이전 버전이 없으므로 비교할 내용이 없습니다. 그렇게 말합니다.ok:changes를 요약합니다.
- 요약을 작성하고 설정된 출력으로 전달합니다.
요약 작성
파일 → 페이지 → 최상위 프레임(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개 노드에 동일한 색상 변경): 개수와 함께 하나의 불릿.
- 두 저장 버전 간의 순수한 diff입니다. "순 변경"이라고 한 번 말합니다. 저장 사이에 생성되었다가 되돌려진 편집은 보이지 않습니다. 그 이상의 정밀도를 주장하지 마세요.
- 의도를 추측하지 마세요 ("계층 구조 개선"). 변경된 내용만 설명하세요.
editors에 다른 사람이 포함된 경우 일부 변경 사항이 사용자의 것이 아닐 수 있음을 언급합니다.- 저장된 버전이 있는 날에 빈 diff: "저장된 버전이 있지만 이 페이지들에서는 눈에 띄는 차이가 없습니다" (편집 내용이 다른 페이지에 있을 수 있으므로 페이지를 확장할 것을 제안).
오류 처리
- HTTP 401/403: 토큰이 만료되었거나, 취소되었거나, 범위가 누락되었습니다. 사용자를 설정 1단계로 다시 보내세요.
- 대용량 페이지 시간 초과: 한 번 재시도 후, 실패한 페이지를 조용히 삭제하지 않고 보고하세요.
- 토큰을 절대 출력하지 말고,
~/.config/figma-daily-resume/token이외의 파일에는 절대 쓰지 마세요.