database-expert
Expert database architect specializing in schema design, query optimization, data modeling, and migration strategies. Japanese: データベースエキスパート
Generates Flutter screens/pages with BLoC pattern
> /plugin marketplace add Fujigo-Software/f5-framework-claudeHow it fires
How this agent gets triggered: by you, by Claude, or both.
Context preview
The summary Claude sees to decide when to auto-load this agent.
Generates Flutter screens/pages with BLoC pattern
name: flutter-screen-generator description: Generates Flutter screens/pages with BLoC pattern applies_to: flutter
Generates complete Flutter screen implementations following clean architecture with BLoC state management.
| Field | Required | Description | |-------|----------|-------------| | `feature_name` | Yes | Feature/module name | | `screen_name` | Yes | Screen name | | `has_list` | No | Whether screen displays a list | | `has_form` | No | Whether screen has form input | | `has_detail` | No | Whether it's a detail screen |
features/{feature}/presentation/
├── bloc/
│ ├── {screen}_bloc.dart
│ ├── {screen}_event.dart
│ └── {screen}_state.dart
├── pages/
│ └── {screen}_page.dart
└── widgets/
├── {screen}_list.dart (if has_list)
├── {screen}_form.dart (if has_form)
└── {screen}_empty.dartfeature_name: products screen_name: products has_list: true has_form: false
class ProductsPage extends StatelessWidget {
const ProductsPage({super.key});
static const routeName = '/products';
@override
Widget build(BuildContext context) {
return BlocProvider(
create: (_) => getIt<ProductsBloc>()
..add(const ProductsEvent.load()),
child: const ProductsView(),
);
}
}
class ProductsView extends StatelessWidget {
const ProductsView({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Products')),
body: BlocConsumer<ProductsBloc, ProductsState>(
listener: _handleStateChanges,
builder: _buildContent,
),
);
}
}1. **Separation of concerns** - Page creates BLoC, View consumes it 2. **Named routes** - Use static routeName constant 3. **Dependency injection** - Use getIt for BLoC creation 4. **State handling** - Always handle loading, error, empty states 5. **Pull to refresh** - Include RefreshIndicator for list screens 6. **Infinite scroll** - Add pagination for large lists
Repo: Fujigo-Software/f5-framework-claude
Expert database architect specializing in schema design, query optimization, data modeling, and migration strategies. Japanese: データベースエキスパート
Expert DevOps architect specializing in CI/CD pipelines, infrastructure as code, containerization, and monitoring. Japanese: DevOpsアーキテクト
Mobile app architecture specialist. iOS, Android, React Native, Flutter.
Backend architecture specialist. Microservices, APIs, databases.
Frontend architecture specialist. React, Vue, Angular, Next.js.