Focused Agent Skills for complete Flutter and Dart app delivery.
72
90%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
An interface is not finished when only its ideal loaded state is designed.
Preserve the expected layout so content does not jump unnecessarily. Use a progress indicator for indeterminate waits; use skeletons only when they help users anticipate stable content structure. Avoid a spinner in every independent component.
Keep navigation and safe actions available when possible. If a submission blocks interaction, communicate what is in progress and prevent duplicate work.
Distinguish first-use emptiness, no search results, and filtered-to-zero results. Explain the cause in plain language and provide one relevant next action. Do not use celebratory artwork to obscure a problem the user must solve.
Place an error near the affected content and make recovery actionable. Preserve useful cached content when the product allows it, clearly mark stale or offline state, and avoid replacing an entire screen for a local failure.
Use concise messages that tell users what happened, what remains safe, and what they can do. Do not expose raw exceptions or blame the user.
Use disabled styling only when the action must remain visible but is temporarily unavailable. Make the reason discoverable. If an action is never applicable in the current context, removing it may be clearer than presenting unexplained disabled chrome.
Design pressed, hovered, focused, selected, dragged, and keyboard states for the platforms that support them. Feedback should confirm interaction without overpowering content.
Keep focus visible. Treat hover as enhancement, not the only way to reveal essential information. Use haptics sparingly for meaningful confirmation or boundary feedback; do not duplicate feedback the operating system already supplies.
Route animation timing, interruption, reduced-motion behavior, and controller implementation to flutter-animation.
Buttons should describe the action, errors should describe recovery, and empty states should describe the next step. Keep terminology consistent with the domain and avoid generic labels such as “OK” where a precise verb is available.
For each asynchronous or interactive region, decide which of these states applies:
Implement and verify only relevant states, but document deliberate omissions instead of discovering them in production.
.tessl-plugin
skills
dart-concurrency
dart-language
flutter-accessibility
flutter-ai-integration
flutter-animation
flutter-app-workflow
flutter-architecture
flutter-authentication
flutter-background-execution
flutter-build-release
flutter-ci-cd
flutter-code-review
flutter-dependency-upgrades
flutter-device-testing
flutter-figma-workflow
flutter-in-app-purchases
flutter-localization
references
flutter-networking
references
flutter-notifications
flutter-observability
flutter-openapi-client
flutter-package-development
flutter-performance
flutter-persistence
references
flutter-platform-integration
flutter-product-analytics
flutter-responsive-layout
references
flutter-runtime-debugging
flutter-security
flutter-state-management
flutter-testing
flutter-ui-design
flutter-ui-patterns
flutter-visual-effects