dart-doc-validation
Best practices for validating Dart documentation comments. Covers using `dart doc` to catch unresolved references and macros.
General best practices for Dart development. Covers code style, effective Dart, and language features.
$ npx -y skills add kevmoo/dash_skills --skill dart-best-practices --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/dart-best-practicesContext preview
The summary Claude sees to decide when to auto-load this skill.
General best practices for Dart development. Covers code style, effective Dart, and language features.
name: dart-best-practices description: |- General best practices for Dart development. Covers code style, effective Dart, and language features. license: Apache-2.0 key_features: - Code style guidelines - Effective Dart idioms - Language feature recommendations
Use this skill when:
Do NOT apply this skill or refactor code when:
return types, or parameter signatures in published packages without a coordinated major SemVer bump.
negligible theoretical gains (e.g. replacing clear string concatenation in a simple one-line log message with multiline quotes).
`*.freezed.dart`, protobufs) or files where line lengths and string layouts are managed by code generators.
annotations with `var` or `final` where explicit types document the public API surface or disambiguate complex generics.
Prefer using multi-line strings (`'''`) over concatenating strings with `+` and `\n`, especially for large blocks of text like SQL queries, HTML, or PEM-encoded keys. This improves readability and avoids `lines_longer_than_80_chars` lint errors by allowing natural line breaks.
**Avoid:**
final pem = '-----BEGIN RSA PRIVATE KEY-----\n' +
base64Encode(fullBytes) +
'\n-----END RSA PRIVATE KEY-----';**Prefer:**
final pem = '''
-----BEGIN RSA PRIVATE KEY-----
${base64Encode(fullBytes)}
-----END RSA PRIVATE KEY-----''';Avoid lines longer than 80 characters, even in Markdown files and comments. This ensures code is readable in split-screen views and on smaller screens without horizontal scrolling.
**Prefer:** Target 80 characters for wrapping text. Exceptions are allowed for long URLs or identifiers that cannot be broken.
To find candidates for multi-line strings, search for string concatenation with `+` involving newlines:
Pattern Matching (useful for deep JSON extraction), Records, and Switch Expressions.
[dart-modern-features]: https://github.com/kevmoo/dash_skills/blob/main/skills/dart-modern-features/SKILL.md
Best practices for validating Dart documentation comments. Covers using `dart doc` to catch unresolved references and macros.
Guidelines for handling long lines in Dart code to adhere to the 80-column rule. The `lines_longer_than_80_chars` lint.
Best practices for using `expect` and `package:matcher`. Focuses on readable assertions, proper matcher selection, and avoiding…
Guidelines for using modern Dart features (v3.0 - v3.10) such as Records, Extension Types, Class Modifiers, Wildcards, Digit…
Guidelines and best practices for refactoring consecutive prints, single-line string concatenations, and complex output blocks…
Guidelines for maintaining external Dart packages, covering versioning, publishing workflows, and pull request management. Use…