Claude Skills
CollectionsCompareWorkflowsNominate
Sign inSign up
© 2026 Curated Agent Skills·Learn more about Agent Skills
Back to repository

flutter-riverpod-architecture

verified

Clean Architecture patterns for Flutter with Riverpod state management. Use when building or reviewing Flutter apps with layered architecture (Domain, Data, Application, Presentation).

View on GitHub

Marketplace

ccx-arsenal

xmgrex/ccx-arsenal

Plugin

flutter-riverpod-architecture

development

Repository

xmgrex/ccx-arsenal

plugins/flutter-riverpod-architecture/skills/flutter-riverpod-architecture/SKILL.md

Last Verified

February 1, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/xmgrex/ccx-arsenal/blob/main/plugins/flutter-riverpod-architecture/skills/flutter-riverpod-architecture/SKILL.md -a claude-code --skill flutter-riverpod-architecture

Installation paths:

Claude
.claude/skills/flutter-riverpod-architecture/
Powered by add-skill CLI

Instructions

# Flutter + Riverpod Clean Architecture

## Overview

This skill provides architectural patterns and rules for building Flutter applications using Clean Architecture with Riverpod for state management. Follow these patterns to maintain clear layer boundaries, testability, and scalability.

## Architecture Layers

```
┌─────────────────────────────────────────┐
│           Presentation Layer            │  Flutter UI, Widgets, Routing
├─────────────────────────────────────────┤
│           Application Layer             │  Riverpod Providers, State Management
├─────────────────────────────────────────┤
│              Data Layer                 │  Repositories, External APIs
├─────────────────────────────────────────┤
│             Domain Layer                │  Entities, Value Objects, Business Rules
└─────────────────────────────────────────┘
```

## Layer Dependency Rules

| Layer | Can Depend On | Cannot Depend On |
|-------|---------------|------------------|
| **Domain** | Nothing (pure Dart) | Flutter, Riverpod, Firebase, any SDK |
| **Data** | Domain | Flutter, Riverpod, Presentation |
| **Application** | Domain, Data | Flutter UI classes |
| **Presentation** | Application, Domain | Data (direct access) |

## Quick Reference

| Layer | Primary Purpose | Key Technology |
|-------|-----------------|----------------|
| Domain | Business entities, Value Objects | Freezed, pure Dart |
| Data | Repository implementations, API calls | Firebase, HTTP clients |
| Application | State management, Provider definitions | Riverpod, AsyncNotifier |
| Presentation | UI components, routing | ConsumerWidget, go_router |

## Layer References

- `references/domain-layer.md` - Freezed entities, Value Objects, immutable data
- `references/data-layer.md` - Repository pattern, dependency injection
- `references/application-layer.md` - Riverpod providers, AsyncNotifier pattern
- `references/presentation-layer.md` - ConsumerWidget, type-safe routing
- `references/ui-patterns.md` - Widget

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
3694 chars