mcpField
F
figma-generate-changelog

figma-generate-changelog

github.com/southleft设计与 UI94121 次安装10 周前更新
代码仓库

关于 figma-generate-changelog

figma-generate-changelog 是一款基于命令行的技能,可将 Figma 文件版本差异整理为发布说明式 Markdown,并补充版本标签、作者和时间戳。适用于需要生成变更记录或结构化差异的用户。

主要功能

  1. 01根据版本差异生成 Markdown 变更记录
  2. 02补充版本标签、作者和时间戳
  3. 03汇总页面结构变更
  4. 04可选的组件级变更详情
  5. 05提供摘要、标准和详细模式
  6. 06以 JSON 输出文本与结构化差异

适用场景

  1. 01起草 Figma 版本间的发布说明
  2. 02查看页面的新增、删除和重命名
  3. 03记录指定组件的变更
  4. 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#')

工作流

  1. 选择两个版本。 如果没有版本 ID,请先列出版本:

    ../figma-version-history/scripts/list-versions.sh ABC123def456
    
  2. 使用 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
    
  3. 模式与差异模式一致:summary(简洁的一行计数)、standard(按章节分类并附计数,默认)、detailed(完整列出每个属性和每个绑定)。

捕获的内容

  • 包含 From / To 版本引用的标题——标签(或 (unlabeled))、日期和作者账号名——以及时间跨度(天)。作者和标签来自额外的一次低成本版本列表请求。
  • Page Structure 章节:新增、移除或重命名的页面。
  • Components 章节(传入 --components 时):每个组件的变更计数,以及重命名、描述变更、子项新增或移除、componentPropertyDefinitions 变更和变量绑定变更的条目。
  • Notes 章节,列出差异中已知的盲点(画布上的实例、原始布局/视觉属性、变量 VALUE 变更、样式内容——Figma REST 均不提供这些历史版本信息)。

备注

  • 作者信息补充为尽力而为:脚本会分页查询版本列表,最多回溯约 200 条记录,以查找每个版本的元数据。如果版本早于此回溯范围(或归属为 Figma 系统),则会平稳降级,仅显示版本 ID。
  • current/HEAD 引用会呈现为“当前状态(最后修改时间……)”。

评论

支持 Markdown