|
6 | 6 | # To generate skills, use the following command (from the `tool` directory): |
7 | 7 | # dart run skills generate-skill --config ../resources/flutter_skills.yaml --output ../skills |
8 | 8 |
|
9 | | -- name: flutter-environment-setup-linux |
10 | | - description: Set up a Linux environment for Flutter development |
| 9 | +- name: flutter-setting-up-on-linux |
| 10 | + description: Sets up a Linux environment for Flutter development. Use when configuring a Linux machine to run, build, or deploy Flutter applications. |
11 | 11 | instructions: | |
12 | 12 | Setting up a Linux environment for app development involves configuring your |
13 | 13 | system to run, build, and deploy applications. This often includes |
|
35 | 35 | - https://docs.flutter.dev/install/custom |
36 | 36 | - https://docs.flutter.dev/platform-integration/linux/building |
37 | 37 | - https://docs.flutter.dev/learn/pathway/quick-install |
38 | | -- name: flutter-environment-setup-macos |
39 | | - description: Set up a macOS environment for Flutter development |
| 38 | +- name: flutter-setting-up-on-macos |
| 39 | + description: Sets up a macOS environment for Flutter development. Use when configuring a macOS machine to run, build, or deploy Flutter applications for iOS or macOS. |
40 | 40 | instructions: | |
41 | 41 | To set up a macOS environment for Flutter development, you need to configure |
42 | 42 | your development environment to run, build, and deploy Flutter applications |
|
74 | 74 | - https://docs.flutter.dev/install/quick |
75 | 75 | - https://docs.flutter.dev/platform-integration/ios/setup |
76 | 76 | - https://docs.flutter.dev/platform-integration/macos |
77 | | -- name: flutter-environment-setup-windows |
78 | | - description: Set up a Windows environment for Flutter development |
| 77 | +- name: flutter-setting-up-on-windows |
| 78 | + description: Sets up a Windows environment for Flutter development. Use when configuring a Windows machine to run, build, or deploy Flutter applications for Windows desktop or Android. |
79 | 79 | instructions: | |
80 | 80 | To set up a Windows environment for app development, particularly with |
81 | 81 | Flutter, several steps are involved. |
|
145 | 145 | - https://docs.flutter.dev/platform-integration/windows/building |
146 | 146 | - https://docs.flutter.dev/platform-integration/windows/setup |
147 | 147 | - https://docs.flutter.dev/tools/vs-code |
148 | | -- name: flutter-architecture |
149 | | - description: Build an app using the Flutter team's recommended app architecture |
| 148 | +- name: flutter-architecting-apps |
| 149 | + description: Architects a Flutter application using the recommended layered approach (UI, Logic, Data). Use when structuring a new project or refactoring for scalability. |
150 | 150 | instructions: | |
151 | 151 | Architecture is a broad term that can refer to many topics depending on the |
152 | 152 | context. In the context of Flutter, architecture refers to how to structure, |
|
224 | 224 | - https://docs.flutter.dev/app-architecture/case-study/data-layer |
225 | 225 | - https://docs.flutter.dev/app-architecture/design-patterns/key-value-data |
226 | 226 | - https://docs.flutter.dev/learn/pathway/how-flutter-works |
227 | | -- name: flutter-layout |
228 | | - description: How to build your app's layout using Flutter's layout widgets and constraint system |
| 227 | +- name: flutter-building-layouts |
| 228 | + description: Builds Flutter layouts using the constraint system and layout widgets. Use when creating or refining the UI structure of a Flutter application. |
229 | 229 | instructions: | |
230 | 230 | In Flutter, almost everything is a widget, including layout models. Widgets |
231 | 231 | are classes used to build user interfaces (UIs) and UI elements. Visible |
|
276 | 276 | - https://docs.flutter.dev/ui/layout/constraints |
277 | 277 | - https://docs.flutter.dev/ui/widgets/layout |
278 | 278 | - https://docs.flutter.dev/learn/pathway/tutorial/layout |
279 | | -- name: flutter-theming |
280 | | - description: How to customize your app's theme using Flutter's theming system |
| 279 | +- name: flutter-theming-apps |
| 280 | + description: Customizes the visual appearance of a Flutter app using the theming system. Use when defining global styles, colors, or typography for an application. |
281 | 281 | instructions: | |
282 | 282 | Theming involves sharing colors and font styles throughout an app. You can |
283 | 283 | define app-wide themes and extend a theme to change a theme style for one |
|
347 | 347 | - https://docs.flutter.dev/cookbook/design/themes |
348 | 348 | - https://docs.flutter.dev/ui/adaptive-responsive/idioms |
349 | 349 | - https://docs.flutter.dev/ui |
350 | | -- name: flutter-form |
351 | | - description: Build a form with validation |
| 350 | +- name: flutter-building-forms |
| 351 | + description: Builds Flutter forms with validation and user input handling. Use when creating login screens, data entry forms, or any multi-field user input. |
352 | 352 | instructions: | |
353 | 353 | To build a form with validation, you need to create a `Form` widget with a |
354 | 354 | `GlobalKey`. This `GlobalKey` uniquely identifies the `Form` widget and |
|
397 | 397 | - https://docs.flutter.dev/ui/adaptive-responsive/best-practices |
398 | 398 | - https://docs.flutter.dev/ui/interactivity/input |
399 | 399 |
|
400 | | -- name: flutter-routing-and-navigation |
401 | | - description: Move between or deep link to different screens or routes within a Flutter application |
| 400 | +- name: flutter-implementing-navigation-and-routing |
| 401 | + description: Handles routing, navigation, and deep linking in a Flutter application. Use when moving between screens or setting up URL-based navigation. |
402 | 402 | instructions: | |
403 | 403 | Routing and navigation involve moving between different screens or "routes" |
404 | 404 | within an application. In Flutter, screens and pages are referred to as |
|
450 | 450 | - https://docs.flutter.dev/cookbook/navigation/named-routes |
451 | 451 | - https://docs.flutter.dev/cookbook/navigation/passing-data |
452 | 452 | - https://docs.flutter.dev/resources/glossary/index.html.md |
453 | | -- name: flutter-animation |
454 | | - description: Add animated effects to your Flutter app |
| 453 | +- name: flutter-animating-apps |
| 454 | + description: Implements animated effects, transitions, and motion in a Flutter app. Use when adding visual feedback, shared element transitions, or physics-based animations. |
455 | 455 | instructions: | |
456 | 456 | Animation is a broad topic that encompasses various types and patterns, |
457 | 457 | often implemented using a system based on typed `Animation` objects. |
|
531 | 531 | - https://docs.flutter.dev/cookbook/animation/animated-container |
532 | 532 | - https://docs.flutter.dev/ui/widgets/animation |
533 | 533 | - https://docs.flutter.dev/cookbook/animation/page-route-animation |
534 | | -- name: flutter-localization |
535 | | - description: Configure your Flutter app to support different languages and regions |
| 534 | +- name: flutter-localizing-apps |
| 535 | + description: Configures a Flutter app to support multiple languages and regions. Use when preparing an application for international markets and diverse user locales. |
536 | 536 | instructions: | |
537 | 537 | Localization in Flutter involves adapting an app to different languages and |
538 | 538 | regions. By default, Flutter only supports US English for its strings. To add |
|
600 | 600 | - https://docs.flutter.dev/release/breaking-changes/flutter-generate-i10n-source |
601 | 601 | - https://docs.flutter.dev/release/breaking-changes/material-localized-strings |
602 | 602 | - https://docs.flutter.dev/release/breaking-changes/text-field-material-localizations |
603 | | -- name: flutter-accessibility |
604 | | - description: Configure your Flutter app to support assistive technologies like Screen Readers |
| 603 | +- name: flutter-improving-accessibility |
| 604 | + description: Configures a Flutter app to support assistive technologies like Screen Readers. Use when ensuring an application is usable for people with disabilities. |
605 | 605 | instructions: | |
606 | 606 | Accessibility is crucial for building high-quality applications that can be |
607 | 607 | used by a broad range of users. Poorly designed applications create barriers |
|
681 | 681 | - https://docs.flutter.dev/ui/adaptive-responsive/input |
682 | 682 | - https://docs.flutter.dev/ui/accessibility/web-accessibility |
683 | 683 | - https://docs.flutter.dev/resources/glossary |
684 | | -- name: flutter-state-management |
685 | | - description: Manage state in your Flutter application |
| 684 | +- name: flutter-managing-state |
| 685 | + description: Manages application and ephemeral state in a Flutter app. Use when sharing data between widgets or handling complex UI state transitions. |
686 | 686 | instructions: | |
687 | 687 | State management in Flutter refers to how an app organizes its objects to |
688 | 688 | effectively access them and share them between different widgets. State is |
|
767 | 767 | - https://docs.flutter.dev/perf/isolates |
768 | 768 | - https://docs.flutter.dev/resources/architectural-overview |
769 | 769 | - https://docs.flutter.dev/ui |
770 | | -- name: flutter-http-and-json |
771 | | - description: Make HTTP requests and encode / decode JSON in a Flutter app |
| 770 | +- name: flutter-handling-http-and-json |
| 771 | + description: Executes HTTP requests and handles JSON serialization in a Flutter app. Use when integrating with REST APIs or parsing structured data from external sources. |
772 | 772 | instructions: | |
773 | 773 | HTTP and JSON are fundamental for networking and data handling in |
774 | 774 | applications. |
|
825 | 825 | - https://docs.flutter.dev/learn/pathway/tutorial/http-requests |
826 | 826 | - https://docs.flutter.dev/release/breaking-changes/asset-manifest-dot-json |
827 | 827 | - https://docs.flutter.dev/release/breaking-changes/network-policy-ios-android |
828 | | -- name: flutter-databases |
829 | | - description: Work with databases in a Flutter app |
| 828 | +- name: flutter-working-with-databases |
| 829 | + description: Manages local data persistence using SQLite or other database solutions. Use when a Flutter app needs to store, query, or synchronize large amounts of structured data on the device. |
830 | 830 | instructions: | |
831 | 831 | Databases are a crucial component of an application's data layer, which |
832 | 832 | serves as the source of truth for all application data. This data layer, |
|
903 | 903 | - https://docs.flutter.dev/data-and-backend |
904 | 904 | - https://docs.flutter.dev/get-started/fundamentals/local-caching |
905 | 905 | - https://docs.flutter.dev/resources/architectural-overview |
906 | | -- name: flutter-caching |
907 | | - description: Cache data in a Flutter app |
| 906 | +- name: flutter-caching-data |
| 907 | + description: 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. |
908 | 908 | instructions: | |
909 | 909 | Caching is a technique for retaining application data to show again at a |
910 | 910 | future time, rather than repeatedly loading it from a remote server. This |
|
971 | 971 | - https://docs.flutter.dev/release/breaking-changes/image-cache-and-provider |
972 | 972 | - https://docs.flutter.dev/release/breaking-changes/imagecache-large-images |
973 | 973 | - https://docs.flutter.dev/release/breaking-changes/scroll-cache-extent |
974 | | -- name: flutter-platform-views |
975 | | - description: Add a native view into your Flutter app |
| 974 | +- name: flutter-embedding-native-views |
| 975 | + description: Embeds native Android, iOS, or macOS views into a Flutter app. Use when integrating complex native components like maps or web views. |
976 | 976 | instructions: | |
977 | 977 | Platform Views allow you to embed native views into a Flutter application. |
978 | 978 | This functionality enables the application of transforms, clips, and opacity |
|
1053 | 1053 | - https://docs.flutter.dev/release/breaking-changes/platform-views-using-html-slots-web |
1054 | 1054 | - https://docs.flutter.dev/resources/architectural-overview |
1055 | 1055 | - https://docs.flutter.dev/resources/faq |
1056 | | -- name: flutter-native-interop |
1057 | | - description: Interoperate with native APIs in a Flutter app on Android, iOS, and the web |
| 1056 | +- name: flutter-interoperating-with-native-apis |
| 1057 | + description: Interoperates with native platform APIs on Android, iOS, and the web. Use when accessing device-specific features not available in Dart or calling existing native code. |
1058 | 1058 | instructions: | |
1059 | 1059 | Native interop on Android, iOS, and Web involves several methods for |
1060 | 1060 | integrating Flutter applications with platform-specific code and features. |
|
1129 | 1129 | - https://docs.flutter.dev/platform-integration/web/wasm |
1130 | 1130 | - https://docs.flutter.dev/platform-integration/web/web-content-in-flutter |
1131 | 1131 | - https://docs.flutter.dev/resources/faq |
1132 | | -- name: flutter-plugins |
1133 | | - description: Build a Flutter plugin that provides native interop for other Flutter apps to use |
| 1132 | +- name: flutter-building-plugins |
| 1133 | + description: Builds Flutter plugins that provide native interop for other apps to use. Use when creating reusable packages that bridge Flutter with platform-specific functionality. |
1134 | 1134 | instructions: | |
1135 | 1135 | To build a plugin, you first need to create the package. You can create a |
1136 | 1136 | plugin package using the `flutter create --template=plugin` command. When |
|
1208 | 1208 | - https://docs.flutter.dev/testing/plugins-in-tests |
1209 | 1209 | - https://docs.flutter.dev/testing/testing-plugins |
1210 | 1210 | - https://docs.flutter.dev/tools/android-studio |
1211 | | -- name: flutter-testing |
1212 | | - description: Add Flutter unit tests, widget tests, or integration tests |
| 1211 | +- name: flutter-testing-apps |
| 1212 | + description: Implements unit, widget, and integration tests for a Flutter app. Use when ensuring code quality and preventing regressions through automated testing. |
1213 | 1213 | instructions: | |
1214 | 1214 | Automated testing is crucial for ensuring an app performs correctly before |
1215 | 1215 | publication and for maintaining feature and bug fix velocity, especially as |
|
1291 | 1291 | - https://docs.flutter.dev/testing/integration-tests |
1292 | 1292 | - https://docs.flutter.dev/testing/overview |
1293 | 1293 | - https://docs.flutter.dev/testing/testing-plugins |
1294 | | -- name: flutter-app-size |
1295 | | - description: Measure and reduce the size of the Flutter app bundle, APK, or IPA |
| 1294 | +- name: flutter-reducing-app-size |
| 1295 | + description: Measures and optimizes the size of Flutter application bundles for deployment. Use when minimizing download size or meeting app store package constraints. |
1296 | 1296 | instructions: | |
1297 | 1297 | To effectively reduce app size, an agent needs to understand how to measure |
1298 | 1298 | app size, analyze its components, and implement specific reduction |
|
1360 | 1360 | - https://docs.flutter.dev/ui/adaptive-responsive/best-practices |
1361 | 1361 | - https://docs.flutter.dev/ui/adaptive-responsive/general |
1362 | 1362 | - https://docs.flutter.dev/ui/adaptive-responsive/large-screens |
1363 | | -- name: flutter-concurrency |
1364 | | - description: Execute long-running tasks in a background thread in Flutter |
| 1363 | +- name: flutter-handling-concurrency |
| 1364 | + description: Executes long-running tasks in background isolates to keep the UI responsive. Use when performing heavy computations or parsing large datasets. |
1365 | 1365 | instructions: | |
1366 | 1366 | Dart has a single-threaded execution model, which includes support for |
1367 | 1367 | Isolates, an event loop, and asynchronous code. An Isolate is Dart's |
|
1423 | 1423 | - https://docs.flutter.dev/resources/architectural-overview |
1424 | 1424 | - https://docs.flutter.dev/resources/bootstrap-into-dart |
1425 | 1425 | - https://docs.flutter.dev/resources/faq |
1426 | | -- name: flutter-home-screen-widget |
1427 | | - description: Adding a Home Screen widget to your Flutter App |
| 1426 | +- name: flutter-adding-home-screen-widgets |
| 1427 | + description: 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. |
1428 | 1428 | instructions: | |
1429 | 1429 | Home screen widgets allow users to see and interact with your app's data |
1430 | 1430 | directly from their device's home screen. Adding a home screen widget to a |
|
0 commit comments