关于 engine-whats-new
用于生成 Flutter 引擎版本变更摘要和差异的 Skill,指导 Agent 运行 Dart 脚本,并整理生成的文件。
主要功能
- 01比较 Flutter 引擎版本
- 02生成统一格式的 git 差异
- 03创建分类 Markdown 摘要
- 04输出结构化 JSON
适用场景
- 01了解新 Flutter 版本的引擎变化
- 02比较指定版本间的引擎改动
- 03生成可供程序处理的版本数据
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ flutter/ flutter --skill engine-whats-new安装后在 Claude Code 中输入/engine-whats-new确认已加载。
附带文件scripts/generate_engine_whats_new.dartscripts/README.md
详细介绍
Flutter 引擎新功能与差异技能
工作流
1. 识别输入
从用户的请求中提取以下内容:
- 目标版本(
<TARGET_RELEASE>): 要分析的 Flutter 版本(例如,3.47、3.47.0或flutter-3.47-candidate.0)。 - 基准版本(
<BASE_RELEASE>): 可选。要进行比较的前一个 Flutter 版本(例如,3.44)。如果用户未指定,脚本会自动计算前一个版本(例如,对于3.47,会自动选择3.44)。
2. 运行生成工具
在 Flutter 仓库根目录中执行 Dart 脚本:
dart .agents/skills/engine-whats-new/scripts/generate_engine_whats_new.dart --release <TARGET_RELEASE>
如果用户指定了自定义基准版本或输出路径:
dart .agents/skills/engine-whats-new/scripts/generate_engine_whats_new.dart --release <TARGET_RELEASE> --from <BASE_RELEASE> --output-diff engine_diff_<BASE_RELEASE>_to_<TARGET_RELEASE>.diff --output-summary engine_whats_new_<TARGET_RELEASE>.md
要输出供程序使用的结构化 JSON:
dart .agents/skills/engine-whats-new/scripts/generate_engine_whats_new.dart --release <TARGET_RELEASE> --format json
3. 检查生成的产物并呈现给用户
该工具会在仓库根目录中生成两个主要产物:
- 差异文件(
engine_diff_<BASE_RELEASE>_to_<TARGET_RELEASE>.diff): 两个版本之间//engine/src/flutter中所有更改的完整统一 git 差异。 - 摘要文档(
engine_whats_new_<TARGET_RELEASE>.md): 按类别整理的 Markdown 摘要,涵盖:- 概览与统计数据: 引擎提交总数、更改的文件数、新增项和删除项。
- 🚀 Impeller 与图形渲染: Vulkan、Metal、OpenGL、着色器和显示列表更新。
- 🌐 Web 引擎与 Wasm: Web SDK、CanvasKit 和 WebAssembly 更改。
- 📱 Android 嵌入: Gradle/AGP 更新、Android 视图渲染,以及 Java/Kotlin 嵌入更改。
- 🍎 iOS 与 macOS 嵌入: Darwin 平台视图生命周期、Metal 视图,以及 macOS/iOS 更新。
- 🪟 Windows 与 Linux 桌面嵌入: Win32 合成器、Linux GTK 嵌入,以及桌面外壳修复。
- 🔤 文本、排版与无障碍功能: 语义、IME、字体回退和文本布局改进。
- 🔄 依赖项更新: Skia、Dart SDK、ICU、HarfBuzz 和 ANGLE 更新。
- 🛠️ 构建系统、CI 与工具: GN 构建文件、luci 脚本和测试工具。
向用户简要概述结果,并提供生成的差异文件和 Markdown 摘要文件的链接。
示例
-
用户:“生成 Flutter 3.47 的引擎新功能摘要。”
-
Agent:
- 识别目标版本
3.47。 - 运行
dart .agents/skills/engine-whats-new/scripts/generate_engine_whats_new.dart --release 3.47。 - 报告摘要统计数据(例如,354 个提交、1179 个文件已更改),并分享生成的
engine_diff_3.44_to_3.47.diff和engine_whats_new_3.47.md。
- 识别目标版本
-
用户:“对比 Flutter 3.41 到 3.44 之间的引擎更改。”
-
Agent:
- 识别基准版本
3.41和目标版本3.44。 - 运行
dart .agents/skills/engine-whats-new/scripts/generate_engine_whats_new.dart --from 3.41 --to 3.44。 - 呈现引擎更改分类摘要和差异文件。
- 识别基准版本
评论
支持 Markdown