About flutter-ai-integration
A Flutter development skill for integrating model capabilities while preserving existing application architecture. It focuses on explicit failure behavior, narrow provider boundaries, untrusted output, and deterministic verification.
Key features
- 01Inspect provider and backend boundaries
- 02Keep model details behind an interface
- 03Define cancellation and failure behavior
- 04Treat model output as untrusted
- 05Test with deterministic model fakes
Use cases
- 01Add model-backed features to a Flutter app
- 02Plan streaming and tool-call behavior
- 03Test timeouts and malformed responses
- 04Separate provider tests from ordinary tests
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ thienqo/ flutter-skills --skill flutter-ai-integrationAfter installing, type/flutter-ai-integrationin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/flutter-ai-toolkit-and-genui.mdservice-boundary-and-secrets.mdstreaming-tools-and-state.mdDetails
From the project READMEFlutter AI Integration
Integrate model behavior as an unreliable, asynchronous external capability with an explicit product contract. Preserve the project's provider, backend, networking client, state management, persistence, and UI architecture unless the user requests a migration.
Do not add a provider SDK, account setup, credential, or backend merely because this skill was selected.
Preflight
Read pubspec.yaml, SDK constraints, existing AI or API adapters, backend boundary, authentication, model configuration, state ownership, persistence, privacy requirements, tests, and platform targets. Clarify the intended capability and failure behavior before choosing a model, provider, SDK, or UI toolkit.
Keep model and provider details behind a narrow application-owned interface. Treat output, tool arguments, citations, and structured data as untrusted input. Define cancellation, timeout, retry, partial-result, quota, offline, and unsupported-capability behavior.
Load references conditionally
- Read service boundary and secrets when selecting client versus backend responsibilities, credentials, provider abstraction, safety, privacy, or model configuration.
- Read streaming, tools, and state when implementing streamed output, conversations, attachments, structured responses, or tool/function calls.
- Read Flutter AI Toolkit and GenUI only when the project uses or is considering those Flutter packages. Do not introduce them by default.
Boundaries
flutter-networkingowns generic HTTP, WebSocket, SSE, authentication refresh, and transport reliability; this skill owns model-specific semantics on top.dart-concurrencyowns general stream races, cancellation primitives, and isolate behavior.flutter-persistenceowns durable storage and offline synchronization; this skill defines what conversation or model state may be retained.flutter-securityowns a broad threat review; this skill enforces the model boundary, credential placement, untrusted output handling, and least-privilege tools.flutter-ui-patternsandflutter-accessibilityown general interface composition and accessibility.
Verification
Use a deterministic fake model or recorded adapter for ordinary automated tests. Cover partial chunks, cancellation, timeout, malformed structured output, tool denial and failure, repeated or reordered events, quota errors, and provider unavailability. Use a real provider only when credentials, cost, network access, and environment are explicitly in scope; keep such tests separate and non-destructive.
Verify the visible stream and state transitions on affected platforms, including restart or restoration when required. Report which behavior was fake-tested, which was exercised end to end, the exact provider/model configuration when relevant, and any cost, safety, or backend boundary not verified.