Cross-platform mobile development with Flutter 3, Dart, and production-grade state management patterns.
Works with
Covers widget development, Riverpod and Bloc state management, GoRouter navigation, and platform-specific implementations with detailed reference guides for each
Enforces const optimization, proper key usage, and scoped state patterns to prevent unnecessary rebuilds and full-subtree re-renders
Includes profiling workflows with Flutter DevTools, jank diagnosis, and performance optim
AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versionflutter-expertExecute the skills CLI command in your project's root directory to begin installation:
Fetches flutter-expert from jeffallan/claude-skills and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
Restart Cursor to activate flutter-expert. Access via /flutter-expert in your agent's command palette.
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your environment. Always review source, verify the publisher, and test in isolation before production.
Submit your Claude Code skill and start earning
Create detailed user stories, acceptance criteria, and feature specs
Example
Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios
Reduce spec writing time by 50%, ensure comprehensive coverage
Research competitors, compare features, identify gaps
Example
Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities
Complete competitive research in 2 hours instead of 2 days
Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs
Example
Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale
30
total installs
30
this week
7.9K
GitHub stars
0
upvotes
Run in your terminal
30
installs
30
this week
7.9K
stars
Senior mobile engineer building high-performance cross-platform applications with Flutter 3 and Dart.
flutter pub get), configure routingflutter analyze
flutter analyze reports issues: fix all lints and warnings before proceeding; re-run until cleanflutter test after each feature
flutter testflutter test --coverage
flutter run --profile), eliminate jank, reduce rebuilds
build() calls, apply const or move state closer to consumersLoad detailed guidance based on context:
| Topic | Reference | Load When |
|---|---|---|
| Riverpod | references/riverpod-state.md |
State management, providers, notifiers |
| Bloc | references/bloc-state.md |
Bloc, Cubit, event-driven state, complex business logic |
| GoRouter | references/gorouter-navigation.md |
Navigation, routing, deep linking |
| Widgets | references/widget-patterns.md |
Building UI components, const optimization |
| Structure | references/project-structure.md |
Setting up project, architecture |
| Performance | references/performance.md |
Optimization, profiling, jank fixes |
// provider definition
final counterProvider = StateNotifierProvider<CounterNotifier, int>(
(ref) => CounterNotifier(),
);
class CounterNotifier extends StateNotifier<int> {
CounterNotifier() : super(0);
void increment() => state = state + 1; // new instance, never mutate
}
// consuming widget β use ConsumerWidget, not StatefulWidget
class CounterView extends ConsumerWidget {
const CounterView({super.key});
Widget build(BuildContext context, WidgetRef ref) {
final count = ref.watch(counterProvider);
return Text('$count');
}
}
// β WRONG: app-wide state in setState
class _BadCounterState extends State<BadCounter> {
int _count = 0;
void _inc() => setState(() => _count++); // causes full subtree rebuild
}
// β
CORRECT: scoped Riverpod consumer
class GoodCounter extends ConsumerWidget {
const GoodCounter({super.key});
Widget build(BuildContext context, WidgetRef ref) {
final count = ref.watch(counterProvider);
return IconButton(
onPressed: () => ref.read(counterProvider.notifier).increment(),
icon: const Icon(Icons.add), // const on static widgets
);
}
}
const constructors wherever possibleConsumer/ConsumerWidget for state (not StatefulWidget)flutter_testbuild() methodsetState for app-wide stateconst on static widgetscompute())| Symptom | Likely Cause | Recovery |
|---|---|---|
flutter analyze errors |
Unresolved imports, missing const, type mismatches |
Fix flagged lines; run flutter pub get if imports are missing |
| Widget test assertion failures | Widget tree mismatch or async state not settled | Use tester.pumpAndSettle() after state changes; verify finder selectors |
| Build fails after adding package | Incompatible dependency version | Run flutter pub upgrade --major-versions; check pub.dev compatibility |
| Jank / dropped frames | Expensive build() calls, uncached widgets, heavy main-thread work |
Use RepaintBoundary, move heavy work to compute(), add const |
| Hot reload not reflecting changes | State held in StateNotifier not reset |
Use hot restart (R in terminal) to reset full app state |
When implementing Flutter features, provide:
const usageMake data-driven prioritization decisions faster
Draft PRDs, status updates, and stakeholder presentations
Example
Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement
Save 3-5 hours/week on communication overhead
Prerequisites
Time Estimate
30-60 minutes to see productivity improvements
Steps
Common Pitfalls
β Do
β Don't
π‘ Pro Tips
β Use when
Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.
β Avoid when
Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.
erichowens/some_claude_skills
sickn33/antigravity-awesome-skills
erichowens/some_claude_skills
ajianaz/skills-collection
mattpocock/skills
parcadei/continuous-claude-v3
flutter-expert fits our agent workflows well β practical, well scoped, and easy to wire into existing repos.
Useful defaults in flutter-expert β fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
flutter-expert is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
flutter-expert has been reliable in day-to-day use. Documentation quality is above average for community skills.
flutter-expert reduced setup friction for our internal harness; good balance of opinion and flexibility.
Registry listing for flutter-expert matched our evaluation β installs cleanly and behaves as described in the markdown.
Solid pick for teams standardizing on skills: flutter-expert is focused, and the summary matches what you get after install.
Registry listing for flutter-expert matched our evaluation β installs cleanly and behaves as described in the markdown.
flutter-expert reduced setup friction for our internal harness; good balance of opinion and flexibility.
Keeps context tight: flutter-expert is the kind of skill you can hand to a new teammate without a long onboarding doc.
showing 1-10 of 29