关于 figma-generate-changelog
figma-generate-changelog 是一款基于命令行的技能,可将 Figma 文件版本差异整理为发布说明式 Markdown,并补充版本标签、作者和时间戳。适用于需要生成变更记录或结构化差异的用户。
主要功能
- 01根据版本差异生成 Markdown 变更记录
- 02补充版本标签、作者和时间戳
- 03汇总页面结构变更
- 04可选的组件级变更详情
- 05提供摘要、标准和详细模式
- 06以 JSON 输出文本与结构化差异
适用场景
- 01起草 Figma 版本间的发布说明
- 02查看页面的新增、删除和重命名
- 03记录指定组件的变更
- 04导出说明文本和差异数据
MCP 相关
这是一个技能而非 MCP 服务;README 介绍了通过命令行使用个人访问令牌调用 Figma REST API。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ southleft/ figma-console-mcp-skills --skill figma-generate-changelog安装后在 Claude Code 中输入/figma-generate-changelog确认已加载。
附带文件scripts/generate-changelog.mjs
详细介绍
figma-generate-changelog — 两个版本之间的 Markdown 变更日志
基于与 figma-version-history 相同的版本差异,然后将其格式化为发布说明风格的
markdown,并为每个版本引用补充作者账号名、标签和时间戳。
设置 — 需要终端和令牌。 此技能会运行 shell 命令,因此可在 Claude Code(包括 Claude Desktop 内的“Code”选项卡)、Cursor、Codex 或 Gemini CLI 中运行,但无法在普通的 Claude Desktop 或 claude.ai 聊天中运行(没有 shell)。Figma 连接器的 OAuth 登录不能授权这些 REST 调用,因此你必须提供自己的 Figma 个人访问令牌:在 Figma 中前往 Settings → Security → Personal access tokens,生成一个具有 File content: read(以及 File versions: read)范围的令牌,然后在 shell 中设置:
export FIGMA_TOKEN="figd_…"。脚本会在运行时从环境中读取令牌——切勿将令牌放入技能文件中。
设置与技能边界
- 所有请求均使用
X-Figma-Token: $FIGMA_TOKEN,访问https://api.figma.com。 - 相关内容:figma-version-history,包含结构化差异和端点参考。
推导文件 key
FILE_KEY=$(echo "$FILE_URL" | sed -E 's#.*/(design|file)/([A-Za-z0-9]+).*#\2#')
工作流
-
选择两个版本。 如果没有版本 ID,请先列出版本:
../figma-version-history/scripts/list-versions.sh ABC123def456 -
使用
scripts/generate-changelog.mjs生成变更日志:# Page-level changelog against HEAD node scripts/generate-changelog.mjs --file ABC123def456 --from 4096761871 --to current # Include per-component changes, detailed bullets node scripts/generate-changelog.mjs --file ABC123def456 --from 4096761871 --to 4096800000 \ --components 695:313,420:88 --mode detailed默认情况下,脚本会将 markdown 输出到 stdout。传入
--json可获取{ markdown, data }(结构化差异及其渲染文本)。将结果重定向到文件以生成发布说明:node scripts/generate-changelog.mjs --file ABC123def456 --from 4096761871 --to current \ > CHANGELOG-figma.md -
模式与差异模式一致:
summary(简洁的一行计数)、standard(按章节分类并附计数,默认)、detailed(完整列出每个属性和每个绑定)。
捕获的内容
- 包含 From / To 版本引用的标题——标签(或
(unlabeled))、日期和作者账号名——以及时间跨度(天)。作者和标签来自额外的一次低成本版本列表请求。 - Page Structure 章节:新增、移除或重命名的页面。
- Components 章节(传入
--components时):每个组件的变更计数,以及重命名、描述变更、子项新增或移除、componentPropertyDefinitions变更和变量绑定变更的条目。 - Notes 章节,列出差异中已知的盲点(画布上的实例、原始布局/视觉属性、变量 VALUE 变更、样式内容——Figma REST 均不提供这些历史版本信息)。
备注
- 作者信息补充为尽力而为:脚本会分页查询版本列表,最多回溯约 200 条记录,以查找每个版本的元数据。如果版本早于此回溯范围(或归属为
Figma系统),则会平稳降级,仅显示版本 ID。 current/HEAD 引用会呈现为“当前状态(最后修改时间……)”。