К основному содержанию
скилл Claude Code CX Codex Cursor GitHub Copilot

flutter-expert — скилл для Claude Code: Flutter и Dart

Скилл для разработки кросс-платформных приложений на Flutter 3+ и Dart. Помогает с виджетами, управлением состоянием через Riverpod или Bloc, маршрутизацией GoRouter и оптимизацией производительности.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add Jeffallan/claude-skills --skill flutter-expert -a claude-code
Открыть на GitHub

Что делает flutter-expert

flutter-expert специализируется на полном цикле разработки Flutter-приложений: от настройки проекта и добавления зависимостей до написания тестов и профилирования. Скилл охватывает построение переиспользуемых компонентов с const-оптимизацией, настройку провайдеров Riverpod или Bloc/Cubit для управления состоянием, конфигурацию маршрутизации с GoRouter и специфичные для платформы реализации.

Внутри скилл предлагает пошаговый рабочий процесс: сначала скаффолдинг и настройка маршрутов, затем определение провайдеров или классов Bloc с проверкой через flutter analyze, построение виджетов с тестами после каждой фичи, запуск flutter test --coverage и, наконец, профилирование в режиме --profile для устранения джанка. Каждый шаг включает контрольные точки: если flutter analyze выдаёт ошибки, их нужно исправить перед переходом дальше; если падают тесты — DevTools покажет проблему в дереве виджетов.

Скилл работает на всех основных платформах ИИ-кодинга: Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode. Требует Flutter 3+, Dart и знакомства с консолью (flutter pub get, flutter test, flutter run --profile).

Какие задачи решает

  • Настроить управление состоянием Riverpod или Bloc в Flutter-проекте
  • Построить переиспользуемые виджеты с const-оптимизацией
  • Настроить навигацию и маршруты через GoRouter
  • Найти и устранить джанк и провалы кадров в приложении
  • Написать тесты для виджетов и интеграции

Примеры запросов агенту

  • Помоги мне добавить Riverpod провайдер для счётчика и переделать StatefulWidget в ConsumerWidget
  • Как настроить GoRouter с именованными маршрутами для моего приложения?
  • Профилируй мой виджет с помощью Flutter DevTools и подскажи, почему падают кадры

Как установить flutter-expert

1Через Skills CLI (Vercel)

npx skills add Jeffallan/claude-skills --skill flutter-expert -a claude-code

2Вручную: положить файлы

~/.claude/skills/flutter-expert/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/flutter-expert/

Из того же набора5

Весь набор →

Похожие

argent-react-native-optimization software-mansion Скилл выявляет узкие места в React Native через замеры и очищает код от механических проблем. Запускается при лагах интерфейса, долгом старте или частых лишних рендерах. Claude Code CX Codex Cursor +1 26 400установок d3-visualization nexu-io Скилл учит агента создавать интерактивные графики и визуализации данных на D3.js. Подойдёт, если нужно быстро генерировать диаграммы для дашбордов, отчётов и прототипов. Claude Code CX Codex Cursor +1 3 100установок design-review nexu-io Проводит визуальный аудит интерфейса, вносит точечные правки атомарными коммитами и сохраняет скриншоты до и после изменений. Пригодится для полировки свёрстанного UI перед релизом. Claude Code CX Codex Cursor +1 3 100установок ui-skills-root ibelick Маршрутизатор UI-задач, который определяет нужный скилл перед работой над интерфейсом. Запускается командой npx ui-skills start и помогает агенту выбрать минимальный контекст для решения. Claude Code CX Codex Cursor +1 7 100установок vue-pinia-best-practices github.com/vuejs-ai Скилл с лучшими практиками Pinia: как избежать ошибок при настройке хранилищ, сохранить реактивность и правильно организовать state management в Vue-проекте. Claude Code CX Codex Cursor +1 16 800установок material-ui-nextjs mui Скилл для связки Material UI с Next.js: SSR, кеш Emotion, next/font, CSS-слои, Link и useSearchParams. Пригодится при настройке или отладке MUI в Next.js-приложении. Claude Code CX Codex Cursor +1 725установок frontend-design официальный anthropics Скилл задаёт осмысленное визуальное направление для новых интерфейсов и редизайна. Подойдёт, когда стандартный шаблонный UI не устраивает. Claude Code Claude.ai 1 025 790установок design-taste-frontend Leonxlnx Скилл задаёт арт-дирекцию для публичных страниц и рабочих экранов, а затем проверяет результат в браузере по скриншотам. Нужен, когда интерфейс выглядит шаблонным или недоработанным. Claude Code CX Codex Cursor +1 673 100установок

Вопросы о flutter-expert

Как установить flutter-expert в Claude Code?

Выполни npx skills add Jeffallan/claude-skills --skill flutter-expert -a claude-code, затем убедись, что файл SKILL.md загружен в ~/.claude/skills/flutter-expert/.

Что делает flutter-expert?

Скилл проводит тебя через полный цикл разработки Flutter-приложений: от настройки проекта через управление состоянием и построение виджетов до тестирования и оптимизации производительности. Охватывает Riverpod, Bloc, GoRouter и платформ-специфичные реализации.

Какие версии Flutter поддерживает flutter-expert?

Скилл рассчитан на Flutter 3+. Использует современные паттерны: Riverpod с Notifier вместо устаревшего StateNotifier, ConsumerWidget вместо StatefulWidget, const-оптимизацию.

Исходный текст

SKILL.md · MIT
---
name: flutter-expert
description: Use when building cross-platform applications with Flutter 3+ and Dart. Invoke for widget development, Riverpod/Bloc state management, GoRouter navigation, platform-specific implementations, performance optimization.
license: MIT
metadata:
  author: https://github.com/Jeffallan
  company: https://synergetic.solutions
  version: "1.1.0"
  domain: frontend
  triggers: Flutter, Dart, widget, Riverpod, Bloc, GoRouter, cross-platform
  role: specialist
  scope: implementation
  output-format: code
  related-skills: react-native-expert, test-master, fullstack-guardian
---

# Flutter Expert

Senior mobile engineer building high-performance cross-platform applications with Flutter 3 and Dart.

## When to Use This Skill

- Building cross-platform Flutter applications
- Implementing state management (Riverpod, Bloc)
- Setting up navigation with GoRouter
- Creating custom widgets and animations
- Optimizing Flutter performance
- Platform-specific implementations

## Core Workflow

1. **Setup** — Scaffold project, add dependencies (`flutter pub get`), configure routing
2. **State** — Define Riverpod providers or Bloc/Cubit classes; verify with `flutter analyze`
   - If `flutter analyze` reports issues: fix all lints and warnings before proceeding; re-run until clean
3. **Widgets** — Build reusable, const-optimized components; run `flutter test` after each feature
   - If tests fail: inspect widget tree with Flutter DevTools, fix failing assertions, re-run `flutter test`
4. **Test** — Write widget and integration tests; confirm with `flutter test --coverage`
   - If coverage drops or tests fail: identify untested branches, add targeted tests, re-run before merging
5. **Optimize** — Profile with Flutter DevTools (`flutter run --profile`), eliminate jank, reduce rebuilds
   - If jank persists: check rebuild counts in the Performance overlay, isolate expensive `build()` calls, apply `const` or move state closer to consumers

## Reference Guide

Load 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 |

## Code Examples

### Riverpod Provider + ConsumerWidget (correct pattern)

```dart
// provider definition — Notifier, not the legacy StateNotifier
final counterProvider = NotifierProvider<CounterNotifier, int>(CounterNotifier.new);

class CounterNotifier extends Notifier<int> {
  @override
  int build() => 0;
  void increment() => state = state + 1; // new instance, never mutate
}

// consuming widget — use ConsumerWidget, not StatefulWidget
class CounterView extends ConsumerWidget {
  const CounterView({super.key});

  @override
  Widget build(BuildContext context, WidgetRef ref) {
    final count = ref.watch(counterProvider);
    return Text('$count');
  }
}
```

### Before / After — State Management

```dart
// ❌ 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});
  @override
  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
    );
  }
}
```

## Constraints

### MUST DO
- Use `const` constructors wherever possible
- Implement proper keys for lists
- Use `Consumer`/`ConsumerWidget` for state (not `StatefulWidget`)
- Follow Material/Cupertino design guidelines
- Profile with DevTools, fix jank
- Test widgets with `flutter_test`

### MUST NOT DO
- Build widgets inside `build()` method
- Mutate state directly (always create new instances)
- Use `setState` for app-wide state
- Skip `const` on static widgets
- Ignore platform-specific behavior
- Block UI thread with heavy computation (use `compute()`)

## Troubleshooting Common Failures

| 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 `Notifier` not reset | Use hot restart (`R` in terminal) to reset full app state |

## Output Templates

When implementing Flutter features, provide:
1. Widget code with proper `const` usage
2. Provider/Bloc definitions
3. Route configuration if needed
4. Test file structure

Maintained by [@jeffallan](https://github.com/jeffallan), Principal Consultant at [Synergetic Solutions](https://synergetic.solutions)

[Documentation](https://jeffallan.github.io/claude-skills/skills/frontend/flutter-expert/)

© https://github.com/Jeffallan · MIT · Jeffallan/claude-skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой