skills/flutter/flutter-riverpod-state-management/SKILL.md
Implement reactive state management using Riverpod 2.0 with code generation in Flutter. Use when defining providers, building AsyncNotifiers, or overriding providers in tests.
npx skillsauth add hoangnguyen0403/agent-skills-standard flutter-riverpod-state-managementInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
lib/
├── providers/ # Global providers and services
└── features/user/
├── providers/ # Feature-specific providers
└── models/ # @freezed domain models
Use @riverpod annotations for all provider definitions. See implementation examples for full provider and consumer patterns.
Use ConsumerWidget with ref.watch() and AsyncValue.when() for reactive UI. See implementation examples.
@riverpod annotations. Avoid manual Provider definitions.Freezed for all state models.build() to rebuild on changes.build() for side-effects (navigation, dialogs). Never in provider init.onPressed).ProviderScope(overrides: [provider.overrideWithValue(Mock())]).riverpod_lint and custom_lint for cycle detection.ref.listen() in widgets instead.BuildContext into Notifier/Provider.development
Summarizes GitHub PR, GitLab MR, or Azure DevOps PR metadata, review threads, changed files, and template completeness. Use during review-ticket or code-review workflows when PR/MR context exists.
tools
Development tools, linting, and build config for TypeScript. Use when configuring ESLint, Prettier, Jest, Vitest, tsconfig, or any TS build tooling.
development
Validate input, secure auth tokens, and prevent injection attacks in TypeScript. Use when validating input, handling auth tokens, sanitizing data, or managing secrets and sensitive configuration.
development
Apply modern TypeScript standards for type safety and maintainability. Use when working with types, interfaces, generics, enums, unions, or tsconfig settings.