Focused Agent Skills for complete Flutter and Dart app delivery.
89%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Low
Low-risk findings worth noting
Deliver media behavior that respects the user's intent, the resolved player or capture SDK, and each target's lifecycle. Preserve existing packages and architecture. Installing this skill requires no provider account, server key, room, stream URL, or camera/microphone access.
Read pubspec.yaml, the lockfile, SDK constraints, current adapters/controllers, native configuration, and tests. Establish:
Use the current SDK's supported facilities before adding another player, audio-session owner, signaling stack, or provider. Inspect version-specific native/browser requirements instead of copying setup or API names from a newer release. Keep secrets in the authorized service boundary, not in Flutter or logs.
Read verification before claiming capture, playback, live delivery, or target compatibility. Read several mode references only when the task crosses their boundaries.
Give each controller, track, subscription, renderer, temporary file, and session one lifecycle owner. Invalidate abandoned asynchronous work; release resources returned by stale successful initialization instead of only ignoring its UI update. Handle cleanup failures explicitly and follow SDK-specific ordering for exclusive hardware acquisition. Do not reopen capture or resume audio merely because the app or connection resumes.
Model permission denial, initialization, ready/live, interruption/reconnection, terminal error, user stop, and disposal as distinct outcomes where relevant. Keep permission prompts and media effects outside widget build. Stop only resources this feature owns; protect user-authored and retained recordings from disposable-test cleanup.
For an implementation or a tool-free plan, explicitly identify the resolved package/Flutter/native contract checks and existing SDK responsibilities before adding lifecycle, focus, or recovery handlers. A package being present does not establish who already owns those effects. At the affected boundary, state the stop/leave cleanup and the focused acceptance checks, including the native or two-endpoint scenario still needed. Label unavailable inspection and execution as pending; do not substitute a list of fake tests for the media behavior they cannot prove.
.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-location-maps
flutter-media
flutter-networking
flutter-notifications
flutter-observability
flutter-openapi-client
flutter-package-development
flutter-payments-checkout
flutter-performance
flutter-persistence
flutter-platform-integration
flutter-product-analytics
flutter-responsive-layout
flutter-runtime-debugging
flutter-security
flutter-state-management
flutter-testing
flutter-text-rendering
references
flutter-ui-design
flutter-ui-patterns
flutter-visual-effects