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
Use this reference when the request involves GraphQL queries, mutations, subscriptions, schema-derived code, normalized caching, or optimistic updates.
Inspect the current client, schema source, generated types, fragments, scalar mappings, cache, fetch policies, links or exchanges, subscription protocol, and generation commands before editing. Preserve graphql_flutter, Ferry, another established client, or a thin in-house transport when it already satisfies the product contract. Do not introduce a second cache or generation pipeline for one feature.
Treat the GraphQL document and variables as wire input. Keep named operations and reusable fragments close to the feature or the repository's established operation boundary, then map generated or wire models to domain models explicitly. Regenerate only affected outputs and keep generation deterministic in CI.
The GraphQL specification defines execution semantics but not one universal network transport. Queries and mutations commonly use HTTP; subscriptions produce response streams whose wire protocol must be agreed with the server. Verify endpoint, media type, authentication, persisted-operation, upload, batching, and subscription protocol support against the actual backend and client version.
A successful transport does not imply a fully successful GraphQL operation. Model at least these outcomes where the product distinguishes them:
Do not discard usable partial data automatically or silently present it as complete. Map error paths and stable extension codes only after validating their shape; treat messages and arbitrary extensions as untrusted diagnostics, not durable domain identifiers.
The GraphQL-over-HTTP specification remains a working draft. Inspect the deployed server and client before enforcing draft media types or status-code behavior, and keep GraphQL response parsing separate from generic HTTP status mapping.
flutter-persistence.Use the realtime transport reference for connection ownership, reconnect, liveness, and event delivery. Additionally define:
Do not assume reconnect resumes missed events. If the protocol provides no resume cursor, refetch an authoritative snapshot or accept and communicate the product's consistency boundary.
Use a fake GraphQL transport or test server to cover complete data, partial data with errors, request errors without data, malformed payloads, auth refresh coordination, cursor merges, normalized identity collisions, optimistic rollback, and stale mutation completion. For subscriptions, also test initialization rejection, token expiry, duplicate events, gaps, reconnect, resubscribe, and disposal.
.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