By utopia-uss
Migrate Flutter BLoC/Cubit codebases to utopia_hooks. Two-phase migration (global states first, then screens) with per-commit granularity, dart analyze baseline (Dart MCP preferred), screen-local vs global Cubit classification, and universal pattern-family handling (persistent-state, stream-source, reactive-input, lifecycle). Includes /utopia-hooks-migrate-bloc:migrate orchestrator coordinating inventory, foundation, global-state, screen, and review sub-agents. Recommended companion: utopia-hooks plugin.
Based on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
One-time setup of utopia_hooks foundation in a Flutter project. Adds pubspec dependency, creates _providers.dart, useInjected bridge to existing DI, and wires HookProviderContainerWidget at app root alongside existing MultiBlocProvider.
Migrate a single BLoC-era Cubit/Bloc to a parallel hook-based global state in isolation — no screen changes. Creates the State class + useXState() hook + _providers entry, marks the original Cubit @Deprecated. Emits ONE diff for ONE commit. Runs before any screen migration that depends on this state.
Read-only scanner for BLoC → utopia_hooks migration state. Builds screen inventory, global-state dependency graph, next-wave plan, and regenerates MIGRATION.md while preserving user-edited Skipped section.
Independent review of a migrated screen's code against the BLoC → utopia_hooks exit gate. Fresh context, does not see the migration agent's reasoning. Runs Phase 3 self-review and Phase 4 exit gate from the skill, returns pass/fail + fix list.
Migrate a single Flutter screen (plus any global states it needs that aren't yet migrated) from BLoC/Cubit to utopia_hooks. Produces the diff but does not commit. Follows the migrate-bloc-to-utopia-hooks skill strictly.
Modifies files
Hook triggers on file write and edit operations
Uses power tools
Uses Bash, Write, or Edit tools
Agent skills for utopia_hooks — the holistic Flutter state management architecture by UtopiaSoftware.
A public, installable skill repository that teaches AI agents how to write Flutter apps using utopia_hooks as the primary architecture. Works across Claude Code, Cursor, Codex, Windsurf, and all SKILL.md-compatible tools.
utopia-hooksHolistic guide: how to write Flutter with hooks.
| Reference | Impact | Topic |
|---|---|---|
| page-state-view.md | CRITICAL | Page / State hook / View screen architecture |
| hooks-reference.md | CRITICAL | Full hook API organized by use case |
| global-state.md | CRITICAL | Global state, HasInitialized, MutableValue, providers |
| async-patterns.md | HIGH | Download (useAutoComputedState) / Upload (useSubmitState) / Streams |
| flutter-conventions.md | HIGH | IList/IMap/ISet, lambdas, strict analyzer, widget extraction |
| composable-hooks.md | MEDIUM | Widget-level hooks, lifted state, useIf, useMap |
| testing.md | MEDIUM | Unit-testing hooks with SimpleHookContext |
| di-services.md | MEDIUM | Service registration and injection with useInjected |
claude mcp add-skill https://github.com/ArcaneArts/utopia-hooks-skills
Copy skills/utopia-hooks/ into your project's .cursor/skills/ directory.
MIT
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimFlutter state management with utopia_hooks. Screen/State/View pattern, hook catalog, global state, and enforcement of conventions via PostToolUse checks.
npx claudepluginhub utopia-uss/utopia-flutter-skills --plugin utopia-hooks-migrate-blocFlutter app architecture skill: Riverpod 3 codegen, Freezed 3 sealed, GoRouter typed-route SSOT, Hive CE persistence, Crashlytics, ShowcaseView, gen-l10n. Pairs with the external flutter_skill_lints analyzer plugin (wired via analysis_options.yaml) for AST-level enforcement. Bundles PostToolUse, Stop, and UserPromptSubmit hooks that auto-fire only inside Flutter projects.
Flutter architecture and state management agents. Includes State Management (Provider, Riverpod, BLoC, Redux, GetX) and Architect (Clean Architecture, project structure, dependency injection).
Best-practice skills for Flutter and Dart covering accessibility, animations, BLoC, testing, theming, navigation, security, internationalization, layered architecture, license compliance, UI packages, project creation, and SDK/lint upgrades — plus automated dart analyze and format hooks.
Use this agent when you need expert assistance with Flutter mobile development tasks, including code analysis, widget creation, debugging, performance optimization, or architectural decisions. Examples: <example>Context: User is working on a Flutter app and faces issues with navigation. user: 'My Navigator.push isn't updating the UI correctly when moving to a new screen' assistant: 'Let me use the flutter-dev agent to analyze your navigation setup and provide a solution' <commentary>Since this is a Flutter-specific navigation issue, use the flutter-dev agent to provide expert guidance on Navigator problems.</commentary></example> <example>Context: User wants to create a custom widget that aligns with their app's design system. user: 'I need to create a custom button widget that matches our app's design system' assistant: 'I'll use the flutter-dev agent to create a button widget that aligns with your existing codebase structure and design patterns' <commentary>The user needs a Flutter widget that follows existing patterns, so use the flutter-dev agent.</commentary></example>
Flutter app development with widget creation and platform channels
Use this agent when you need expert assistance with Flutter mobile development tasks, including code analysis, widget creation, debugging, performance optimization, or architectural decisions. Examples: <example>Context: User is working on a Flutter app and faces issues with navigation. user: 'My Navigator.push isn't updating the UI correctly when moving to a new screen' assistant: 'Let me use the flutter-dev agent to analyze your navigation setup and provide a solution' <commentary>Since this is a Flutter-specific navigation issue, use the flutter-dev agent to provide expert guidance on Navigator problems.</commentary></example> <example>Context: User wants to create a custom widget that aligns with their app's design system. user: 'I need to create a custom button widget that matches our app's design system' assistant: 'I'll use the flutter-dev agent to create a button widget that aligns with your existing codebase structure and design patterns' <commentary>The user needs a Flutter widget that follows existing patterns, so use the flutter-dev agent.</commentary></example>