thiennc-tesoglobal/flutter-skills

flutter-persistence

Design or review Flutter local persistence, caching, offline behavior, schema evolution, and secure-data boundaries.

View source
Original skill document

Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.

Flutter Persistence

Choose storage from data shape, query needs, durability, sensitivity, synchronization, and migration requirements.

Select proportionately

  • Use preferences only for small settings, not relational or critical domain data.
  • Use files for document/blob ownership with explicit atomicity and cleanup.
  • Use a database when queries, relationships, transactions, indexing, or migration justify it.
  • Use platform secure storage for small secrets; do not treat ordinary app databases as secret vaults.
  • Preserve an established package unless it cannot satisfy a concrete requirement.

Model ownership

Define the source of truth, cache freshness, write ordering, conflict behavior, offline mutations, deletion semantics, and recovery from corrupt or incompatible data. Keep storage models behind repositories so schema details do not leak into widgets.

Load references conditionally

  • Read caching policy when choosing cache keys, freshness, invalidation, eviction, stale disclosure, or user isolation.
  • Read offline synchronization when local and remote data can diverge, mutations queue offline, background work runs, or conflicts and deletions must reconcile.

Route HTTP validators and transport caching to flutter-networking, and image, widget, scroll, or memory-cache performance to flutter-performance.

Migration and safety

Version schemas and test upgrades from realistic prior versions. Never destroy user data as an automatic response to a migration failure unless the product explicitly permits it. Avoid storing access tokens, passwords, or sensitive personal data in logs or plain preferences.

Verification

Test first run, reopen, upgrade, failed write, concurrent access, corrupted data, deletion, and offline/online transitions relevant to the feature. Use temporary databases or directories for deterministic tests.

Sources

from this repository

More skills

All skills
thiennc-tesoglobal
Community

flutter-ai-integration

Build or review provider-neutral AI features in Flutter, including streaming responses, conversation state, structured output, tool calls, attachments, cancellation, and safe service boundaries. Use when model behavior is part of the product; do not use for ordinary APIs, product analytics, or generic chat between people.

installs
1
GitHub stars
7
Updated
Sep 9
thiennc-tesoglobal
Community

flutter-animation

Implement or diagnose Flutter motion with implicit, explicit, route, Hero, staggered, and physics-based animations. Use when timing, transition, or motion behavior is requested or broken; route optical materials, shaders, general layout, and performance profiling to their specialists.

installs
1
GitHub stars
7
Updated
Sep 9
thiennc-tesoglobal
Community

flutter-architecture

Select, review, or evolve Flutter application boundaries, dependency direction, and feature organization. Use for new project structure, scaling problems, or architecture migrations; do not impose a new pattern during a focused feature fix.

installs
1
GitHub stars
7
Updated
Sep 9
thiennc-tesoglobal
Community

flutter-authentication

Implement, repair, or review Flutter user authentication and session lifecycle, including OAuth or OIDC redirects, PKCE, token refresh, logout, account switching, passkeys, and device re-authentication. Use when sign-in identity or session behavior is the task; route broad threat audits to flutter-security and request transport to flutter-networking.

installs
1
GitHub stars
7
Updated
Sep 9