What problem does it solve? Dart's primary constructors feature introduces new syntax and scoping rules that are easy to get wrong, from declaring parameters in class headers to handling initializer lists, late field restrictions, and redirecting constructors. This Skill provides the syntax reference, semantic rules, and migration workflows needed to write correct code and refactor legacy classes. ## Core Features & Use Cases - Syntax Reference: Covers declaring, initializing, and regular parameters, const primary constructors, extension types, empty-body semicolon shorthand, the in-body this : initializer list, and abbreviated new/factory constructor syntax. - Semantics & Diagnostics: Explains the Primary Initializer Scope, late variable restrictions, shadowing, double-initialization errors, and provides a troubleshooting table mapping error codes to fixes. - Migration Workflows: Step-by-step refactoring guides convert verbose traditional constructors into primary constructors and abbreviated in-body constructors. - Use Case: A developer upgrading a Flutter codebase to Dart 3.13 can refactor class User { final String name; User(this.name); } into class User(final String name); while correctly handling asserts, calculated fields, and redirecting named constructors. ## Quick Start Refactor my Dart class to use a primary constructor and explain any errors the analyzer reports.