skills
Flutter 团队维护的 AI agent 技能集合,为 agent(如 Cursor、Copilot)提供编写 Flutter 代码的最佳实践指令。覆盖集成测试、响应式布局、路由、本地化等常见任务,官方出品,能显著减少 agent 错误并提升代码质量。
README
Flutter Agent Skills
Flutter 的 Agent 技能,由 Flutter 团队维护。 一系列技能,提供针对常见 Flutter 应用开发工作流量身定制的指令。通过赋予 agent 实际的领域知识和可重复的工作流,你能大幅减少错误,并确保 agent 遵循最佳实践可靠地完成任务。
技能本质上是简单的文件夹,可视为 MCP 的补充——MCP 为 agent 提供专用工具,而技能则教 agent “如何”为特定任务使用工具。
你还可以安装 Agent Skills for Dart 用于 Dart 相关任务。
安装
要将所有技能安装到你的项目中,运行以下命令。
--agent universal 标志会将其放入大多数 agent 使用的标准 .agents/skills 文件夹。
npx skills add flutter/skills --skill '*' --agent universal
更新技能
更新时,运行以下命令:
npx skills update
可用技能
| 技能 | 描述 | 示例提示词 |
|---|---|---|
| flutter-add-integration-test | 配置 Flutter Driver 以进行应用交互,并将 MCP 操作转换为持久的集成测试。在向项目添加集成测试、通过 MCP 探索 UI 组件或使用 integration_test 包自动化用户流程时使用。 | 添加一个验证结账体验的集成测试 |
| flutter-add-widget-preview | 使用 previews.dart 系统向项目添加交互式 widget 预览。在创建新的 UI 组件或更新现有屏幕以确保一致的设计和交互式测试时使用。 | 为 ProductCard widget 创建包含不同价格状态的预览 |
| flutter-add-widget-test | 使用 WidgetTester 实现组件级测试,验证 UI 渲染和用户交互(点击、滚动、输入文本)。在验证特定 widget 显示正确数据并按预期响应事件时使用。 |
为 CustomButton 添加一个 widget 测试,验证 onTap 回调被调用 |
| flutter-apply-architecture-best-practices | 使用推荐的分层方法(UI、逻辑、数据)来架构 Flutter 应用程序。在结构化新项目或为可扩展性重构时使用。 | 重构认证流程以遵循推荐的分层架构 |
| flutter-build-responsive-layout | 使用 LayoutBuilder、MediaQuery 或 Expanded/Flexible 创建适应不同屏幕尺寸的布局。当需要 UI 在手机和平板/桌面形态上都表现良好时使用。 |
让首页响应式,以便在平板上显示网格,在手机上显示列表 |
| flutter-fix-layout-issues | 使用 Dart 和 Flutter MCP 工具修复 Flutter 布局错误(溢出、无界约束)。在处理“RenderFlex overflowed”、“Vertical viewport was given unbounded height”或类似布局问题时使用。 | 修复键盘可见时个人资料页的溢出错误 |
| flutter-implement-json-serialization | 使用 dart:convert 创建包含 fromJson 和 toJson 方法的模型类。在手动将 JSON 键映射到简单数据结构的类属性时使用。 |
为 User 模型类实现 JSON 序列化 |
| flutter-setup-declarative-routing | 使用 go_router 等包配置 MaterialApp.router,实现高级的基于 URL 的导航。在开发需要特定深度链接和浏览器历史支持的 Web 应用或移动应用时使用。 |
设置 GoRouter,包含首页、详情和设置路径 |
| flutter-setup-localization | 添加 flutter_localizations 和 intl 依赖,在 pubspec.yaml 中启用 "generate: true",并创建 l10n.yaml 配置文件。在初始化新 Flutter 项目的本地化支持时使用。 |
设置本地化,并添加英语和西班牙语翻译 |
| flutter-use-http-package | 使用 http 包执行 GET、POST、PUT 或 DELETE 请求。在需要从 REST API 获取或发送数据时使用。 |
使用 http 包从 API 获取产品列表 |
贡献
目前我们不接受拉取请求,但我们非常乐意听取你的反馈!
更多信息请参阅 CONTRIBUTING.md。
行为准则
更多信息请参阅 CODE_OF_CONDUCT.md。