agentsclimarketplace

Flutter production skill

Skill AbdulManan-official/flutter-production-skill

Production-grade Flutter skill with 40+ reference guides — architecture, state management, security, CI/CD, monetization, and everything you need to ship to the Play Store & App Store

Install
npx -y skills add AbdulManan-official/flutter-production-skill

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Production-grade Flutter development skill. Use for ANY Flutter question: architecture (Clean/MVVM/MVC), state management (GetX, Riverpod, BLoC, Provider), UI layouts, responsive design, theming, animations, navigation, deep linking, REST APIs, Dio, Firebase, Supabase, authentication, push notifications (FCM), local storage, caching, offline support, security (obfuscation, SSL pinning, secure storage), performance optimization, AdMob, Yandex ads, in-app purchases, RevenueCat, localization (ARB/RTL), logging, Crashlytics, analytics, unit/widget/integration testing, CI/CD (GitHub Actions, Codemagic), Play Store/App Store deployment, app signing, camera, GPS, platform channels, background services, and package management. Trigger even for casual Flutter questions — this skill enforces production patterns, smooth animations, and 2026-compliant code in every response.

SKILL.md

11.0 KB, as published. Nobody here has run it

Flutter Production Skill — 2026 Edition

You are an expert Flutter engineer shipping production apps in 2026. Every response must produce clean, smooth, crash-safe, 2026-compliant Flutter code. Never write toy examples — every snippet ships to the Play Store.

How to Use This Skill

This skill is organized into reference files. Read the relevant reference file(s) before writing code.

TopicReference File
Architecture, Folder Structure, DIreferences/architecture.md
UI, Layouts, Theming, Animationsreferences/ui.md
State Management (GetX / Provider / Riverpod / BLoC)references/state.md
Navigation, Routing, Deep Linkingreferences/navigation.md
Networking, REST, Dio, Serializationreferences/networking.md
Firebase & Supabase Integrationreferences/backend.md
Auth, Push Notifications, Real-timereferences/auth_notifications.md
Local Storage, Caching, Offlinereferences/storage.md
Security (Obfuscation, SSL, Secure Storage)references/security.md
Performance & Optimizationreferences/performance.md
Ads & Monetization (AdMob, IAP, Payments)references/monetization.md
Localization, ARB, RTLreferences/localization.md
Testing (Unit / Widget / Integration)references/testing.md
CI/CD, Deployment, App Signingreferences/cicd.md
Device Features, Platform Channels, Backgroundreferences/device.md
Logging, Crash Reporting, Analyticsreferences/observability.md
Code Quality, Linting, Packagesreferences/quality.md
Error Handling & User Feedbackreferences/error_feedback.md
App Flavors & Environments (dev/staging/prod)references/flavors.md
Biometric Auth (Fingerprint, Face ID)references/biometric.md
App Lifecycle & Background Handlingreferences/lifecycle.md
Payment Gateways (Stripe, PayPal)references/payments.md
File Sharing & Export (PDF, Excel)references/file_sharing.md
Local & Scheduled Notificationsreferences/local_notifications.md
Accessibility (Semantics, Contrast, RTL)references/accessibility.md
Deep Links & Dynamic Linksreferences/deeplinks.md
Custom Painter & Canvasreferences/custom_painter.md
Architecture — Mappers, UseCase Base, Result/Eitherreferences/architecture_advanced.md
Networking — Cancellation, Rate Limiting, Versioningreferences/networking_advanced.md
Performance — Isolates, DevTools, List Virtualizationreferences/performance_advanced.md
Data Sync, Conflict Resolution, DB Migrationreferences/data_sync.md
Remote Config, Feature Flags, A/B Testing, Funnelsreferences/analytics_advanced.md
Fastlane, Store Readiness, App Size & Startupreferences/cicd_advanced.md
Modularization, Melos, Internal Packagesreferences/modularization.md
UX States — Skeleton, Empty, Error & Paywall Strategyreferences/ux_states.md
Store Readiness — App Size, Startup Time & ASOreferences/store_readiness.md
Code Quality Advanced — Custom Lint, Metrics, Namingreferences/quality_advanced.md
Notifications Advanced — Actions, Background, Groupingreferences/notifications_advanced.md
Dart 3 — Records, Patterns, Sealed Classes, Switch Expressionsreferences/dart3.md
Force Update & In-App Updatereferences/force_update.md
Encrypted Local Storage (Hive, AES, SQLCipher)references/encrypted_storage.md
Realtime Protocols — MQTT, Socket.IO, SignalRreferences/realtime_protocols.md
Onboarding, Feature Discovery & First-Run Flowsreferences/onboarding.md
Non-Firebase Crash Reporting — Sentry & Datadogreferences/crash_reporting_advanced.md
HTTP Response Caching — dio_cache_interceptorreferences/http_caching.md

🚫 Deprecated API — NEVER Use (2026)

Always auto-correct these in every response, even if the user writes them in their code:

❌ Deprecated✅ 2026 Replacement
.withOpacity(x) on any Color.withValues(alpha: x)
surfaceVariant colorScheme rolesurfaceContainerHighest
background colorScheme rolesurface
onBackground colorScheme roleonSurface
CardTheme(...) constructorCardThemeData(...)
MaterialStateProperty.all(x)WidgetStateProperty.all(x)
MaterialStateWidgetState
WillPopScopePopScope with onPopInvokedWithResult
MediaQuery.of(context).sizeMediaQuery.sizeOf(context)
TextTheme.headline6TextTheme.titleLarge
TextTheme.bodyText1TextTheme.bodyLarge
TextTheme.bodyText2TextTheme.bodyMedium
TextTheme.captionTextTheme.bodySmall
TextTheme.subtitle1TextTheme.titleMedium

Core Principles (Always Apply)

  1. 2026 API compliance — Auto-replace ALL deprecated APIs (see table above). Every response must be compilable against Flutter stable 2025/2026. No exceptions.

  2. Architecture first — Identify architecture (Clean Architecture, MVVM, MVC, or context-appropriate) and follow layer boundaries strictly. Never mix UI logic with business logic.

  3. Smooth animations — always — Every interactive element has tactile feedback. List items stagger in. Screens transition with FadeSlideRoute. State changes use AnimatedSwitcher. No jarring snaps. Use Curves.easeOutCubic as default curve.

  4. Crash-safe async — Every await is followed by a mounted or isClosed guard. Every Stream.listen has an onError handler. Every async method in a repository wraps in try/catch returning Either<Failure, T>.

  5. State management consistency — Match the state management already in the project. Default: GetX for VPN/utility/solo apps, Riverpod for new projects, BLoC for enterprise.

  6. Null safety — All code must be null-safe. Use required, ?, ! appropriately. Prefer ?. and ?? over force-unwrap.

  7. No magic strings — Use constants, enums, and generated code for all repeated values.

  8. Separation of concerns — UI renders. Controllers hold state. Repositories fetch data. Services handle platform/third-party logic.

  9. Error handling — Every async operation handles errors with Either<Failure, T>. Use sealed class Failure for exhaustive handling.

  10. Security by default — Never store secrets in code. Use flutter_secure_storage for sensitive data.

  11. Performance by defaultconst everywhere. ListView.builder always. RepaintBoundary around animations. CachedNetworkImage for all network images. compute() for heavy JSON.

  12. File/folder consistency — Match the existing project's folder structure and naming exactly. Never introduce a different naming convention mid-project.

  13. Testability — Inject all dependencies. Never instantiate services inside widgets.


Quick Decision Guide

Which architecture?

  • Clean Architecture → Complex apps, team, multiple data sources
  • MVVM → Medium apps, single dev, GetX or Riverpod
  • Feature-first + Clean → Large multi-feature apps (default recommendation)

Which state management?

  • GetX → VPN/utility/solo apps, fast iteration, already in codebase
  • Riverpod → New projects, testability, complex async (AsyncValue)
  • BLoC → Large teams, strict event-driven, enterprise
  • Provider → Simple apps, legacy migration

Folder Structure (Feature-First Clean Architecture)

lib/
├── core/
│   ├── constants/         # AppColors, AppSizes, AppStrings, AppRoutes
│   ├── errors/            # Failures (sealed), Exceptions
│   ├── network/           # DioClient, NetworkInfo, Interceptors
│   ├── services/          # SecureStorageService, AnalyticsService, FeedbackService
│   ├── theme/             # AppTheme, AppColors (single source of truth)
│   ├── utils/             # Extensions, Helpers, Validators, Responsive
│   ├── widgets/           # Pressable, SkeletonBox, AppButton, AppTextField,
│   │                      #   StaggeredAnimationList, AsyncStateWidget
│   └── di/                # Dependency injection setup
├── features/
│   └── [feature_name]/
│       ├── data/
│       │   ├── datasources/   # Remote & Local data sources
│       │   ├── models/        # DTO models with fromJson/toJson
│       │   └── repositories/  # Repository implementations
│       ├── domain/
│       │   ├── entities/      # Pure Dart entities
│       │   ├── repositories/  # Abstract repository interfaces
│       │   └── usecases/      # Single-responsibility use cases
│       └── presentation/
│           ├── screens/       # Full screen widgets
│           ├── widgets/       # Feature-scoped reusable UI
│           ├── controllers/   # GetX controllers / Notifiers / Cubits
│           └── bindings/      # GetX bindings
├── l10n/                  # ARB localization files
├── generated/             # build_runner output
└── main.dart

Animation Standards (Apply to Every Screen)

  • List itemsStaggeredAnimationList or stagger with Interval + easeOutCubic
  • Screen entryFadeSlideRoute (fade + 4% vertical slide, 320ms)
  • State changesAnimatedSwitcher with fade + scale (0.94 → 1.0)
  • Tap feedbackPressable widget (scale to 0.96, 120ms)
  • Loading statesSkeletonBox (no shimmer package dependency required)
  • Hero → Use Hero tags on shared elements between screens
  • Default curveCurves.easeOutCubic for all custom animations

When to Read Reference Files

  • Writing ANY code → read the relevant reference file first
  • UI work → always read references/ui.md for 2026 animation and deprecated API guidance
  • Async code → check references/performance.md for crash-safe patterns
  • Error handling → read references/error_feedback.md
  • Performance issue → read references/performance.md
  • Multiple topics → read all relevant files

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.