flutter-dev — скилл для Claude Code: установка и работа
Гайд для разработки Flutter-приложений с паттернами виджетов, Riverpod, Bloc и GoRouter. Пригодится при настройке интерфейса, навигации, тестов и производительности.
npx skills add MiniMax-AI/skills --skill flutter-dev -a claude-codeЧто делает flutter-dev
Скилл помогает проектировать Flutter-приложения на Dart: выбирать ConsumerWidget, StateProvider, NotifierProvider или Bloc, создавать формы и адаптивную разметку через LayoutBuilder. Он охватывает навигацию GoRouter, типизированные маршруты, редиректы для авторизации и глубокие ссылки.
Для производительности гайд советует const-конструкторы, select() для точечных обновлений, RepaintBoundary, ListView.builder и compute() для тяжёлых расчётов. Перед оптимизацией нужно профилировать приложение в DevTools — это повод не править производительность на глаз.
Есть чек-листы для ключей элементов списка, неизменяемого состояния, обработки загрузки и ошибок. Также разобраны виджет-тесты, unit-тесты, интеграционные сценарии и blocTest().
Какие задачи решает
- настроить состояние через Riverpod или Bloc
- собрать адаптивную разметку Flutter
- настроить маршруты и глубокие ссылки в GoRouter
- сократить лишние перестроения виджетов
- написать виджет-тесты и интеграционные сценарии
Примеры запросов агенту
- Настрой навигацию `GoRouter` с типизированными маршрутами и редиректом авторизации.
- Проверь этот Flutter-экран на лишние перестроения и предложи `const`, `select()` или `RepaintBoundary`.
- Напиши виджет-тест для компонента с состояниями загрузки и ошибки.
Как установить flutter-dev
1Через Skills CLI (Vercel)
npx skills add MiniMax-AI/skills --skill flutter-dev -a claude-code2Вручную: положить файлы
~/.claude/skills/flutter-dev/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/flutter-dev/
1Через Skills CLI (Vercel)
npx skills add MiniMax-AI/skills --skill flutter-dev -a codex2Вручную: положить файлы
.agents/skills/flutter-dev/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add MiniMax-AI/skills --skill flutter-dev -a cursor2Вручную: положить файлы
.cursor/skills/flutter-dev/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install MiniMax-AI/skills flutter-dev2Вручную: положить файлы
.github/skills/flutter-dev/SKILL.md1Через Skills CLI (Vercel)
npx skills add MiniMax-AI/skills --skill flutter-dev -a gemini-cli2Командой платформы
gemini skills install https://github.com/MiniMax-AI/skills --path skills/flutter-devВручную: положить файлы
.devin/skills/flutter-dev/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add MiniMax-AI/skills --skill flutter-dev -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора17
Весь набор →Похожие
Вопросы о flutter-dev
Как установить flutter-dev в Claude Code?
Выполните npx skills add MiniMax-AI/skills --skill flutter-dev -a claude-code. Затем выполните ту же команду: npx skills add MiniMax-AI/skills --skill flutter-dev -a claude-code. Файл скилла находится в ~/.claude/skills/flutter-dev/SKILL.md.
Что делает flutter-dev?
Это скилл-гайд по Flutter-разработке: виджеты, управление состоянием через Riverpod и Bloc, маршрутизация GoRouter, тестирование и профилирование в DevTools.
Какие приёмы производительности разбирает flutter-dev?
Гайд охватывает const-конструкторы, выборочные обновления через select(), RepaintBoundary, ленивые списки и перенос тяжёлых расчётов в compute(). Перед настройкой производительности он советует запускать профилирование в DevTools.
Исходный текст
SKILL.md · MIT
---
name: flutter-dev
description: |
Flutter cross-platform development guide covering widget patterns, Riverpod/Bloc state management, GoRouter navigation, performance optimization, and platform-specific implementations. Includes const optimization, responsive layouts, testing strategies, and DevTools profiling.
Use when: building Flutter apps, implementing state management (Riverpod/Bloc), setting up GoRouter navigation, creating custom widgets, optimizing performance, writing widget tests, cross-platform development.
license: MIT
metadata:
version: "1.0.0"
category: mobile
sources:
- flutter-expert by Jeff Smolinski (https://github.com/Jeffallan/claude-skills) — Flutter expert skill framework
- Flutter Documentation
- Riverpod Documentation
- Bloc Library Documentation
---
# Flutter Development Guide
A practical guide for building cross-platform applications with Flutter 3 and Dart. Focuses on proven patterns, state management, and performance optimization.
## Quick Reference
### Widget Patterns
| Purpose | Component |
|---------|-----------|
| State management (simple) | `StateProvider` + `ConsumerWidget` |
| State management (complex) | `NotifierProvider` / `Bloc` |
| Async data | `FutureProvider` / `AsyncNotifierProvider` |
| Real-time streams | `StreamProvider` |
| Navigation | `GoRouter` + `context.go/push` |
| Responsive layout | `LayoutBuilder` + breakpoints |
| List display | `ListView.builder` |
| Complex scrolling | `CustomScrollView` + Slivers |
| Hooks | `HookWidget` + `useState/useEffect` |
| Forms | `Form` + `TextFormField` + validation |
### Performance Patterns
| Purpose | Solution |
|---------|----------|
| Prevent rebuilds | `const` constructors |
| Selective updates | `ref.watch(provider.select(...))` |
| Isolate repaints | `RepaintBoundary` |
| Lazy lists | `ListView.builder` |
| Heavy computation | `compute()` isolate |
| Image caching | `cached_network_image` |
## Core Principles
### Widget Optimization
- Use `const` constructors wherever possible
- Extract static widgets to separate const classes
- Use `Key` for list items (ValueKey, ObjectKey)
- Prefer `ConsumerWidget` over `StatefulWidget` for state
### State Management
- Riverpod for dependency injection and simple state
- Bloc/Cubit for event-driven workflows and complex logic
- Never mutate state directly (create new instances)
- Use `select()` to minimize rebuilds
### Layout
- 8pt spacing increments (8, 16, 24, 32, 48)
- Responsive breakpoints: mobile (<650), tablet (650-1100), desktop (>1100)
- Support all screen sizes with flexible layouts
- Follow Material 3 / Cupertino design guidelines
### Performance
- Profile with DevTools before optimizing
- Target <16ms frame time for 60fps
- Use `RepaintBoundary` for complex animations
- Offload heavy work with `compute()`
## Checklist
### Widget Best Practices
- [ ] `const` constructors on all static widgets
- [ ] Proper `Key` on list items
- [ ] `ConsumerWidget` for state-dependent widgets
- [ ] No widget building inside `build()` method
- [ ] Extract reusable widgets to separate files
### State Management
- [ ] Immutable state objects
- [ ] `select()` for granular rebuilds
- [ ] Proper provider scoping
- [ ] Dispose controllers and subscriptions
- [ ] Handle loading/error states
### Navigation
- [ ] GoRouter with typed routes
- [ ] Auth guards via redirect
- [ ] Deep linking support
- [ ] State preservation across routes
### Performance
- [ ] Profile mode testing (`flutter run --profile`)
- [ ] <16ms frame rendering time
- [ ] No unnecessary rebuilds (DevTools check)
- [ ] Images cached and resized
- [ ] Heavy computation in isolates
### Testing
- [ ] Widget tests for UI components
- [ ] Unit tests for business logic
- [ ] Integration tests for user flows
- [ ] Bloc tests with `blocTest()`
## References
| Topic | Reference |
|-------|-----------|
| Widget patterns, const optimization, responsive layout | [Widget Patterns](references/widget-patterns.md) |
| Riverpod providers, notifiers, async state | [Riverpod State Management](references/riverpod-state.md) |
| Bloc, Cubit, event-driven state | [Bloc State Management](references/bloc-state.md) |
| GoRouter setup, routes, deep linking | [GoRouter Navigation](references/gorouter-navigation.md) |
| Feature-based structure, dependencies | [Project Structure](references/project-structure.md) |
| Profiling, const optimization, DevTools | [Performance Optimization](references/performance.md) |
| Widget tests, integration tests, mocking | [Testing Strategies](references/testing.md) |
| iOS/Android/Web specific implementations | [Platform Integration](references/platform-specific.md) |
| Implicit/explicit animations, Hero, transitions | [Animations](references/animations.md) |
| Dio, interceptors, error handling, caching | [Networking](references/networking.md) |
| Form validation, FormField, input formatters | [Forms](references/forms.md) |
| i18n, flutter_localizations, intl | [Localization](references/localization.md) |
---
Flutter, Dart, Material Design, and Cupertino are trademarks of Google LLC and Apple Inc. respectively. Riverpod, Bloc, and GoRouter are open-source packages by their respective maintainers.
© MiniMax-AI · MIT · MiniMax-AI/skills