flutter-add-widget-test 是做什麼的?
使用 WidgetTester 實作元件層級的測試,驗證 UI 渲染與使用者互動(點擊、滾動、輸入文字)。在用於驗證特定 widget 顯示正確資料並如預期回應事件時使用。
使用 WidgetTester 實作元件層級的測試,驗證 UI 渲染與使用者互動(點擊、滾動、輸入文字)。在用於驗證特定 widget 顯示正確資料並如預期回應事件時使用。
這個技能提供了一個結構化的方法,用於在 Flutter 中建立元件層級的測試(widget test),利用 `WidgetTester` API 驗證 UI 元件(widgets)的渲染行為以及使用者互動(如點擊、滾動和文字輸入)。它特別適合需要確保特定 widget 能正確顯示資料並對事件做出回應的場景。該技能支援所有標準 Flutter 開發環境(如終端機、VS Code、Android Studio),並預期使用者已熟悉 Flutter 與 Dart 基礎知識。透過產生的測試檔案,開發者可以自動化驗證 UI 行為,避免手動回歸測試,從而提升程式碼穩定性與開發效率。
npx skills add https://github.com/flutter/skills/tree/main/skills/flutter-add-widget-test使用 WidgetTester 實作元件層級的測試,驗證 UI 渲染與使用者互動(點擊、滾動、輸入文字)。在用於驗證特定 widget 顯示正確資料並如預期回應事件時使用。
This repo contains 20 individual skills — each has its own dedicated page.
Configure your Flutter app to support assistive technologies like Screen Readers
Triggers an accessibility scan through the widget_inspector and automatically adds Semantics widgets or missing labels to the source code.
Adds home screen widgets to a Flutter app for Android and iOS. Use when providing glanceable app information or quick actions on the device home screen.
Configures Flutter Driver for app interaction and converts MCP actions into permanent integration tests. Use when adding integration testing to a project, exploring UI components via MCP, or automating user flows with the integration_test package.
Adds interactive widget previews to the project using the previews.dart system. Use when creating new UI components or updating existing screens to ensure consistent design and interactive testing.
Implements animated effects, transitions, and motion in a Flutter app. Use when adding visual feedback, shared element transitions, or physics-based animations.
Add animated effects to your Flutter app
Architects a Flutter application using the recommended layered approach (UI, Logic, Data). Use when structuring a new project or refactoring for scalability.
Measure and reduce the size of the Flutter app bundle, APK, or IPA
Architects a Flutter application using the recommended layered approach (UI, Logic, Data). Use when structuring a new project or refactoring for scalability.
Use the Flutter team's recommended app architecture
Builds Flutter forms with validation and user input handling. Use when creating login screens, data entry forms, or any multi-field user input.
Builds Flutter layouts using the constraint system and layout widgets. Use when creating or refining the UI structure of a Flutter application.
Builds Flutter plugins that provide native interop for other apps to use. Use when creating reusable packages that bridge Flutter with platform-specific functionality.
Use `LayoutBuilder`, `MediaQuery`, or `Expanded/Flexible` to create a layout that adapts to different screen sizes. Use when you need the UI to look good on both mobile and tablet/desktop form factors.
Cache data in a Flutter app
Implements caching strategies for Flutter apps to improve performance and offline support. Use when retaining app data locally to reduce network requests or speed up startup.
Execute long-running tasks in a background thread in Flutter
Work with databases in a Flutter app
Embeds native Android, iOS, or macOS views into a Flutter app. Use when integrating complex native components like maps or web views.
ElevenLabs text-to-speech with mac-style say UX.
Oracle CLI second-model review/debug/refactor/design with selected files, dry-run token checks, API or browser engine.
Capture and automate macOS UI with the Peekaboo CLI.
Generate multiple radically different interface designs for a module using parallel sub-agents. Use when user wants to design an API, explore interface options, compare module shapes, or mentions "design it twice".
Build a throwaway prototype to flesh out a design — a runnable terminal app for state/business-logic questions, or several radically different UI variations toggleable from one route.
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".