CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

dart-language

Apply modern Dart language and API patterns in non-concurrency code. Use for types, records, patterns, sealed classes, extensions, constructors, null safety, collections, and package APIs; route async and isolate work to dart-concurrency.

Quality

87%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

The canonical home for this skill is thiennc-tesoglobal/flutter-skills

SKILL.md
Quality
Evals
Security

Dart Language

Write clear Dart that fits the project's SDK constraint and established style.

Decisions

  • Read the SDK constraint in pubspec.yaml before using newer syntax.
  • Prefer simple types and direct control flow over abstractions with no demonstrated reuse.
  • Model closed variants with sealed types when exhaustive switching improves correctness.
  • Use records for small structural values; use named domain types when identity, validation, documentation, or evolution matters.
  • Use pattern matching when it makes branching or destructuring clearer, not as a novelty.
  • Preserve public API compatibility unless a breaking change is requested.
  • Keep mutable state private and expose the smallest useful surface.
  • Never hand-edit a generated file (*.g.dart, *.freezed.dart, or any file marked as generated); edit the annotated source and regenerate through the project's command.

Follow Effective Dart naming, documentation, usage, and design guidance. Match repository lint rules rather than adding conflicting style policy.

Verification

Use Dart MCP semantic lookup and analysis when the current environment exposes them; otherwise inspect source and use the project CLI. Run formatting, static analysis, and the narrowest relevant tests. When changing a public package API, check examples and downstream call sites.

Boundaries

  • Async, streams, cancellation, and isolates: use dart-concurrency.
  • Flutter widget composition or state ownership: use the relevant Flutter skill.
  • JSON and persistence schema behavior belongs to the corresponding data skill.
  • Regenerating after a code-generator or build_runner version bump belongs to flutter-dependency-upgrades; this skill owns writing correctly against an already-pinned generator version.

References

  • Read patterns and records migration when adopting pattern matching, destructuring, switch expressions, or multiple returns.
  • Read sealed class hierarchies when designing algebraic data types, closed result models, or exhaustively verified state families.
  • Read code generation with build_runner when a class uses freezed, json_serializable, or another build_runner generator, or when generated code is stale, conflicting, or failing to build.

Sources

  • Dart language
  • Effective Dart
  • Dart and Flutter MCP server
  • build_runner
  • freezed
  • json_serializable
Repository

thienqo/flutter-skills

Path

skills/dart-language/SKILL.md

Last updated
First committed

Canonical home

thiennc-tesoglobal/flutter-skills
In sync

since Aug 24, 2026

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.