بنقرة واحدة
dev-flutter-patterns
Common Flutter specific development patterns. Triggers: flutter, mobile, app, riverpod
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Common Flutter specific development patterns. Triggers: flutter, mobile, app, riverpod
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Implement the next highest priority user story from the PRD. Triggers on: implement the next feature, dev next feature.
Analyze product screenshots to extract feature lists and generate development task checklists. Use when: (1) Analyzing competitor product screenshots for feature extraction, (2) Generating PRD/task lists from UI designs, (3) Batch analyzing multiple app screens, (4) Conducting competitive analysis from visual references.
A CLI tool to manage Product Requirements Documents (PRDs) with features, user stories, and acceptance criteria. Triggers on: prd, product requirements, feature management, feature, user story.
Common Dart specific development patterns. Triggers: flutter, dart
Initialize Flutter projects for AI assisted workflow. Triggers on: init flutter.
| name | dev-flutter-patterns |
| description | Common Flutter specific development patterns. Triggers: flutter, mobile, app, riverpod |
This skill provides common Flutter development patterns to be used when developping Flutter apps with Riverpod.
const widgets instances whenever possiblereturn const Padding(
padding: EdgeInsets.all(8.0),
child: Icon(Icons.star),
);
ListView.builder(
itemCount: items.length,
itemBuilder: (context, index) {
final item = items[index];
return Tile(
key: ValueKey(item.id), // Unique key based on item ID
data: item,
);
},
);
$final $example = Provider<Example>((ref) {
return Example();
});
$load<Name> and $namefinal $loadExample = FutureProvider<Example>((ref) async {
// Async initialization logic
});
final $example = Provider<Example>((ref) {
final asyncValue = ref.watch($loadExample);
return switch (asyncValue) {
AsyncData(value) => value,
_ => throw Exception('Example is not initialized'),
}
AsyncValue for asynchronous loading statesclass ExampleNotifier extends AsyncNotifier<State> {
@override
Future<State> build() async {
// Initial loading state
return fetchData();
}
Future<void> refresh() async {
// Set loading state
state = const AsyncValue.loading();
try {
final data = await fetchData();
// Set data state
state = AsyncValue.data(data);
} catch (e, st) {
// Set error state
state = AsyncValue.error(e, st);
}
}
}
ConsumerWidget and watch $l10n insteadclass Example extends ConsumerWidget {
@override
Widget build(BuildContext context, WidgetRef ref) {
final l10n = ref.watch($l10n);
return Text(l10n.exampleHelloWorld);
}
}