flutter-expert-skill/SKILL.md
Expert in building cross-platform apps with Flutter 3+. Specializes in Dart, Riverpod, Flame (Game Engine), and FFI (Native Integration).
npx skillsauth add 404kidwiz/claude-supercode-skills flutter-expertInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Provides cross-platform mobile development expertise specializing in Flutter 3+, Dart programming, and Riverpod state management. Builds high-fidelity applications for Mobile, Web, and Desktop with advanced rendering optimization (Impeller), custom render objects, and native integrations via FFI and Method Channels.
| Pattern | Best For | Complexity | Pros | |---------|----------|------------|------| | Riverpod | Default Choice | Medium | Compile-time safety, no context dependency, testable. | | BLoC/Cubit | Enterprise | High | Strict event/state separation, great for logging/analytics. | | Provider | Legacy/Simple | Low | Built-in, simple, but relies on BuildContext. | | GetX | Rapid MVP | Low | "Magic" reactive, less boilerplate, but non-standard patterns. |
How to talk to Native?
│
├─ **Method Channels (Standard)**
│ ├─ Async calls? → **MethodChannel**
│ └─ Streams? → **EventChannel**
│
├─ **FFI (High Performance)**
│ ├─ C/C++ Library? → **dart:ffi**
│ └─ Rust Library? → **Flutter Rust Bridge**
│
└─ **Platform Views (UI)**
├─ Native UI inside Flutter? → **AndroidView / UiKitView**
└─ Performance Critical? → **Hybrid Composition**
RepaintBoundary to isolate heavy paints (e.g., video players, rotating spinners).Red Flags → Escalate to mobile-developer (Native):
Goal: Create a visual effect (e.g., pixelation).
Steps:
Shader Code (shaders/pixelate.frag)
#include <flutter/runtime_effect.glsl>
uniform vec2 uSize;
uniform float uPixels;
uniform sampler2D uTexture;
out vec4 fragColor;
void main() {
vec2 uv = FlutterFragCoord().xy / uSize;
vec2 pixelatedUV = floor(uv * uPixels) / uPixels;
fragColor = texture(uTexture, pixelatedUV);
}
Load & Apply
// Load asset
final program = await FragmentProgram.fromAsset('shaders/pixelate.frag');
// CustomPainter
void paint(Canvas canvas, Size size) {
final shader = program.fragmentShader();
shader.setFloat(0, size.width); // uSize.x
shader.setFloat(1, size.height); // uSize.y
shader.setFloat(2, 50.0); // uPixels (50x50 grid)
final paint = Paint()..shader = shader;
canvas.drawRect(Offset.zero & size, paint);
}
Use case: Scalable enterprise apps.
lib/
domain/ # Entities, Repository Interfaces (Pure Dart)
entities/
repositories/
data/ # Implementations (API, DB)
datasources/
repositories/
models/ # DTOs
presentation/ # UI, Controllers (Flutter)
pages/
widgets/
controllers/
Use case: Decoupling API from UI.
@riverpod
AuthRepository authRepository(AuthRepositoryRef ref) {
return FirebaseAuthImpl(FirebaseAuth.instance);
}
@riverpod
Future<User> currentUser(CurrentUserRef ref) {
return ref.watch(authRepositoryProvider).getCurrentUser();
}
Use case: Supporting Phone, Tablet, and Desktop.
class AdaptiveScaffold extends StatelessWidget {
@override
Widget build(BuildContext context) {
final width = MediaQuery.of(context).size.width;
if (width > 900) {
return Row(children: [NavRail(), Expanded(child: Body())]);
} else {
return Scaffold(
drawer: Drawer(),
body: Body(),
bottomNavigationBar: BottomNavBar(),
);
}
}
}
openapi_generator to build Dart clients..riv) → Flutter Expert integrates via rive package.development
Expert in automating Excel workflows using Node.js (ExcelJS, SheetJS) and Python (pandas, openpyxl).
content-media
Expert in designing durable, scalable workflow systems using Temporal, Camunda, and Event-Driven Architectures.
tools
Use when user needs WordPress development, theme or plugin creation, site optimization, security hardening, multisite management, or scaling WordPress from small sites to enterprise platforms.
tools
Expert in Windows Server, Active Directory (AD DS), Hybrid Identity (Entra ID), and PowerShell automation.