Bloc
VeryGoodOpenSource/vgv-ai-flutter-plugin
Best practices for Bloc state management in Flutter/Dart, covering Cubit versus Bloc, event and state naming, sealed classes with Equatable, the Page/View split with BlocProvider, BlocBuilder…
Guides Flutter state management with Riverpod: choosing provider types, wiring ConsumerWidgets, handling async state and lifecycle, and overriding providers in tests.
$ npx skills add andrewyng/context-hub --skill riverpod -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install andrewyng/context-hub riverpod --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/andrewyng/context-hub.git skills-src && mkdir -p .claude/skills && cp -r skills-src/content/flutter/skills/state-management/riverpod .claude/skills/riverpod && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "riverpod" agent skill from https://github.com/andrewyng/context-hub/tree/main/content/flutter/skills/state-management/riverpod into .claude/skills/riverpod/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "riverpod", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/andrewyng/context-hub/tree/main/content/flutter/skills/state-management/riverpodType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add andrewyng/context-hub --skill riverpod -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install andrewyng/context-hub riverpod --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/andrewyng/context-hub.git skills-src && mkdir -p .agents/skills && cp -r skills-src/content/flutter/skills/state-management/riverpod .agents/skills/riverpod && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "riverpod" agent skill from https://github.com/andrewyng/context-hub/tree/main/content/flutter/skills/state-management/riverpod into .agents/skills/riverpod/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "riverpod", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add andrewyng/context-hub --skill riverpod -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install andrewyng/context-hub riverpod --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/andrewyng/context-hub.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/content/flutter/skills/state-management/riverpod .cursor/skills/riverpod && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "riverpod" agent skill from https://github.com/andrewyng/context-hub/tree/main/content/flutter/skills/state-management/riverpod into .cursor/skills/riverpod/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "riverpod", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/andrewyng/context-hub.git --path content/flutter/skills/state-management/riverpod--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add andrewyng/context-hub --skill riverpod -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install andrewyng/context-hub riverpod --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/andrewyng/context-hub.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/content/flutter/skills/state-management/riverpod .gemini/skills/riverpod && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "riverpod" agent skill from https://github.com/andrewyng/context-hub/tree/main/content/flutter/skills/state-management/riverpod into .gemini/skills/riverpod/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "riverpod", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install andrewyng/context-hub riverpodInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add andrewyng/context-hub --skill riverpod -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/andrewyng/context-hub.git skills-src && mkdir -p .github/skills && cp -r skills-src/content/flutter/skills/state-management/riverpod .github/skills/riverpod && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "riverpod" agent skill from https://github.com/andrewyng/context-hub/tree/main/content/flutter/skills/state-management/riverpod into .github/skills/riverpod/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "riverpod", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add andrewyng/context-hub --skill riverpod -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install andrewyng/context-hub riverpod --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/andrewyng/context-hub.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/content/flutter/skills/state-management/riverpod .opencode/skills/riverpod && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "riverpod" agent skill from https://github.com/andrewyng/context-hub/tree/main/content/flutter/skills/state-management/riverpod into .opencode/skills/riverpod/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "riverpod", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
riverpodGuides Flutter state management with Riverpod: choosing provider types, wiring ConsumerWidgets, handling async state and lifecycle, and overriding providers in tests.
The skill gives a rule of thumb for each provider type: `Provider` for read-only values, `StateProvider` for small mutable state, `FutureProvider` and `StreamProvider` for async data, and `Notifier` or `AsyncNotifier` for feature state with mutation methods. It also explains `autoDispose` and `family`, and says when a plain widget or an explicit event machine fits better than Riverpod.
Setup notes cover `flutter_riverpod` for UI code, wrapping the app in `ProviderScope`, and adding `riverpod_annotation`, `riverpod_generator` and `build_runner` for code generation. Implementation rules keep repositories and APIs out of widgets, read state with `ref.watch` in the UI, use `ref.read` for imperative reads, and dispose a `ProviderContainer` in tests. The guide names the Riverpod 3.x line as the current stable one.
Read from SKILL.md and the folder at commit 67dcbeb. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Flutter Riverpod State Management loads about 1.1k tokens when it runs. Until then it costs about 45 tokens; SKILL.md has 557 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from andrewyng/context-hub at commit 67dcbeb, republished under its MIT licence (© andrewyng). 557 words, ~1,149 tokens.
.claude/skills/riverpod/SKILL.md (or your agent's skills folder).Use this skill when building Flutter state management with riverpod and flutter_riverpod.
Provider for read-only values and dependency wiring.StateProvider for small mutable state.FutureProvider for one-shot async loading.StreamProvider for reactive streams.Notifier or AsyncNotifier for feature state that needs mutation methods.autoDispose for short-lived state.family when provider output depends on an argument.flutter_riverpod in Flutter apps.flutter_riverpod, you usually do not add riverpod separately because the Flutter package brings it in transitively.riverpod 3.2.1, flutter_riverpod 3.3.1).Choose Riverpod when:
Choose a different pattern when:
For Dart-only code:
riverpodFor Flutter UI code:
flutter_riverpodProviderScopeConsumerWidget, Consumer, or ConsumerStatefulWidget where ref is neededIf code generation is used:
riverpod_annotationriverpod_generatorbuild_runnerPrefer this structure:
ref.watchref.readKeep providers small and composable. Keep state immutable unless the provider type is specifically meant for mutation. Keep feature logic in providers or notifiers, not in widgets.
autoDispose for short-lived screens and transient queries.ref.keepAlive() only when you want cached state to survive temporarily.ProviderContainer when finished.Use ConsumerWidget when the whole widget depends on providers.
Use Consumer when only a small subtree needs access to ref.
Use ConsumerStatefulWidget when you need widget lifecycle plus ref.
Use select to reduce rebuilds.
Use ProviderListener or ref.listen for side effects.
ProviderContainer.AsyncValue states directly for async providers.ref.watch inside callbacks; use ref.read there.ProviderScope at the app root.StateProvider for large feature state.select.FutureProvider or AsyncNotifier fits.When writing code or advising on design:
ProviderScope is requiredautoDispose or cachedfamily is needed for argumentsriverpod_annotation / riverpod_generator versions from the same 3.x release lineProviderScope = app root setupref.watch = rebuild on changeref.read = imperative accessselect = narrower rebuildsautoDispose = short-lived statefamily = parameterized providerProviderContainer = test/headless container© andrewyng, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in content/flutter/skills/state-management/riverpod of andrewyng/context-hub.
Open the folder on GitHubat commit 67dcbeb
Flutter Riverpod State Management next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Flutter Riverpod State Management this skillandrewyng/context-hub | 14k | — | ~1.1k | Automated safety check: Pass | MIT | |
| BlocVeryGoodOpenSource/vgv-ai-flutter-plugin | 170 | — | ~2k | Automated safety check: Pass | MIT | |
| Flutter Dart Code Reviewaffaan-m/ECC | 276k | 2 repos | ~5.8k | Automated safety check: Notes | MIT | |
| Signals for Flutterrodydavis/signals.dart | 819 | — | ~1.9k | Automated safety check: Pass | Apache-2.0 | |
| Flutter ExpertFNOSP/FlyNarwhal | 496 | 2 repos | ~758 | Automated safety check: Pass | MIT | |
| Signals Core Advanced Primitivesrodydavis/signals.dart | 819 | — | ~1.7k | Automated safety check: Pass | Apache-2.0 |
VeryGoodOpenSource/vgv-ai-flutter-plugin
Best practices for Bloc state management in Flutter/Dart, covering Cubit versus Bloc, event and state naming, sealed classes with Equatable, the Page/View split with BlocProvider, BlocBuilder…
affaan-m/ECC
Library-agnostic Flutter/Dart code review checklist covering widget best practices, state management patterns (BLoC, Riverpod, Provider, GetX, MobX, Signals), Dart idioms, performance…
rodydavis/signals.dart
Reference for the signals_flutter package: reactive signals, computed values, effects, async signals and collection signals bound to Flutter widgets.
FNOSP/FlyNarwhal
A skill your agent uses when building cross-platform applications with Flutter 3+ and Dart.
rodydavis/signals.dart
Reference for the advanced parts of Dart's signals_core: reactive primitives, async signals, reactive collections and utility types, with a linked page for each.
rohitg00/awesome-claude-code-toolkit
Mobile development patterns for React Native and Flutter including navigation, state management, and responsive design
andrewyng/context-hub
Fetches current documentation for third-party APIs and SDKs with the chub CLI before the agent writes code against them, instead of relying on remembered API shapes.
andrewyng/context-hub
Guides building Tavily integrations for web search, URL extraction, site crawling and AI-assisted research in Python or JavaScript agent and RAG projects.
andrewyng/context-hub
Helps choose between Bloc and Cubit in Flutter and sets defaults for packages, lifecycle, widget binding and tests.
andrewyng/context-hub
Sequences parts-mcp tool calls for finding, pricing and checking availability of electronic components, including BOM processing and datasheet navigation.
andrewyng/context-hub
Adds Olakai monitoring to an existing LLM application with minimal code changes, then configures custom KPIs so the dashboard tracks business outcomes instead of just token counts.
andrewyng/context-hub
Collects reusable Playwright patterns for logging in during end-to-end tests: password forms, OAuth redirects, saved browser state and TOTP two-factor codes.
Categories
Guides Flutter state management with Riverpod: choosing provider types, wiring ConsumerWidgets, handling async state and lifecycle, and overriding providers in tests. The skill gives a rule of thumb for each provider type: `Provider` for read-only values, `StateProvider` for small mutable state, `FutureProvider` and `StreamProvider` for async data, and `Notifier` or `AsyncNotifier` for feature state with mutation methods. It also explains `autoDispose` and `family`, and says when a plain widget or an explicit event machine fits better than Riverpod.
Flutter Riverpod State Management fits situations like: adding Riverpod providers to a Flutter app; loading async data with FutureProvider or AsyncNotifier; overriding providers in tests or demos; deciding whether Riverpod suits a particular feature.
Run `npx skills add andrewyng/context-hub --skill riverpod -a claude-code`. Or copy the skill folder (content/flutter/skills/state-management/riverpod in andrewyng/context-hub) into .claude/skills/riverpod in your project. Claude Code loads it when a task matches its description.
Run `npx skills add andrewyng/context-hub --skill riverpod -a codex`. Or copy the skill folder (content/flutter/skills/state-management/riverpod in andrewyng/context-hub) into .agents/skills/riverpod in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add andrewyng/context-hub --skill riverpod -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/riverpod, .gemini/skills/riverpod, .github/skills/riverpod and .opencode/skills/riverpod in your project.
SKILL.md names no scripts, command-line tools or credentials: Flutter Riverpod State Management is instructions for the agent only. Our summary lists: A Flutter or Dart project; `flutter_riverpod`, plus `riverpod_generator` and `build_runner` for code generation.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Flutter Riverpod State Management is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.1k tokens (SKILL.md is roughly 4.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Flutter Riverpod State Management: Bloc (VeryGoodOpenSource/vgv-ai-flutter-plugin, 170 stars), Flutter Dart Code Review (affaan-m/ECC, 276k stars), Signals for Flutter (rodydavis/signals.dart, 819 stars) and Flutter Expert (FNOSP/FlyNarwhal, 496 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
andrewyng (a GitHub user) maintains it in andrewyng/context-hub, which has 13,975 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on May 31, 2026.
Source: andrewyng/context-hub on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.