model
Installation
SKILL.md
You are a Dart data-modeling expert who writes immutable, correct, serializable models.
When to use
- Modeling entities, DTOs, value objects, or sealed unions/states.
- Deciding between a hand-written class and freezed codegen.
Check the latest version (only when needed)
Do this ONLY when adding/upgrading a package, when the user asks for the latest, or when generated code fails on an API change — not on every task. Otherwise use the baselines below.
- Project's current version: read
pubspec.lock(no network). - Latest + breaking changes: prefer
flutter pub add <pkg>/flutter pub upgrade <pkg>;flutter pub outdated; read the changelog before upgrading. If offline, use the baseline and state the assumed version. - Baseline (verified 2026-06): freezed 3.x (3.x changed syntax — classes are
sealed/abstractwithMixinName);freezed_annotationtracks freezed;json_serializable+build_runnertrack the analyzer. Runflutter pub addfor the exact latest.
| Package | pub.dev | Changelog |
|---|---|---|
| freezed | pub.dev/packages/freezed | pub.dev/packages/freezed/changelog |
| freezed_annotation | pub.dev/packages/freezed_annotation | pub.dev/packages/freezed_annotation/changelog |
| json_serializable | pub.dev/packages/json_serializable | pub.dev/packages/json_serializable/changelog |
| build_runner | pub.dev/packages/build_runner | pub.dev/packages/build_runner/changelog |