mcpbeat Sign in

Dart Best Practices Agent Skill

|- General best practices for Dart development. Covers code style, effective Dart, and language features.

488 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
1
copies elsewhere
how many repositories repackaged it
0
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/google/skills_lint.dart --skill dart-best-practices

The instruction itself

9 sections, as written by the author

Dart Best Practices

1. When to use this skill

Use this skill when:

  • Writing or reviewing Dart code.
  • Looking for guidance on idiomatic Dart usage.

2. Best Practices

Multi-line Strings

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-----''';

Line Length

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.

Discovery

Multi-line Strings

To find candidates for multi-line strings, search for string concatenation

with + involving newlines:

  • Regex: ['"]\s*\+\s*['"]
  • Regex: \+\s*['"].*\\n

Line Length

  • Rely on the lines_longer_than_80_chars lint from the analyzer.
  • [dart-modern-features]: For idiomatic

usage of modern Dart features like 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

How to use it

Copy the folder

Take google/dart-best-practices from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.