dart-best-practices — скилл для Claude Code: как установить
Скилл задаёт правила оформления кода на Dart при генерации и ревью. Помогает форматировать многострочные блоки и соблюдать лимит длины строки в 80 знаков.
npx skills add kevmoo/dash_skills --skill dart-best-practices -a claude-codeЧто делает dart-best-practices
Скилл инструктирует агента по стилю и оформлению кода на Dart. Он требует заменять конкатенацию строк через + и \n на многострочные литералы ''' в крупных фрагментах вроде SQL-запросов или PEM-ключей. Длина строк не должна превышать 80 знаков. Это требование согласуется с правилом линтера lines_longer_than_80_chars.
В инструкциях прописаны чёткие границы применения. Агент не трогает сгенерированные файлы *.g.dart или *.freezed.dart. Ему также запрещено ломать публичные сигнатуры API без обновления мажорной версии SemVer и убирать явные типы в интерфейсах. Такие ограничения страхуют библиотеки от поломок при автоматическом рефакторинге.
Какие задачи решает
- заменять конкатенацию через
+и\nна многострочные литералы''' - укладывать код и комментарии в ограничение 80 символов
- защищать сгенерированные файлы
*.g.dartи*.freezed.dartот правок - сохранять явные типы в публичных интерфейсах при рефакторинге
Примеры запросов агенту
- Проверь этот файл Dart на соответствие стилю и длине строк до 80 символов
- Перепиши блок формирования SQL-запроса через многострочные литералы Dart
- Сделай ревью модуля Dart без изменения публичных сигнатур API
Как установить dart-best-practices
1Через Skills CLI (Vercel)
npx skills add kevmoo/dash_skills --skill dart-best-practices -a claude-code2Вручную: положить файлы
~/.claude/skills/dart-best-practices/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/dart-best-practices/
1Через Skills CLI (Vercel)
npx skills add kevmoo/dash_skills --skill dart-best-practices -a codex2Вручную: положить файлы
.agents/skills/dart-best-practices/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add kevmoo/dash_skills --skill dart-best-practices -a cursor2Вручную: положить файлы
.cursor/skills/dart-best-practices/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install kevmoo/dash_skills dart-best-practices2Вручную: положить файлы
.github/skills/dart-best-practices/SKILL.md1Через Skills CLI (Vercel)
npx skills add kevmoo/dash_skills --skill dart-best-practices -a gemini-cli2Командой платформы
gemini skills install https://github.com/kevmoo/dash_skills --path skills/dart-best-practicesВручную: положить файлы
.devin/skills/dart-best-practices/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add kevmoo/dash_skills --skill dart-best-practices -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора3
Похожие
Рядом в теме «Языки программирования»
Все скиллы по теме «Языки программирования» →Вопросы о dart-best-practices
Как установить dart-best-practices в Claude Code?
Выполните команду npx skills add kevmoo/dash_skills --skill dart-best-practices -a claude-code в терминале.
Что делает скилл dart-best-practices?
Он инструктирует модель использовать многострочные литералы и выдерживать лимит в 80 знаков на строку. Также скилл запрещает ломать публичные контракты библиотек.
Трогает ли скилл сгенерированные файлы?
Нет, в правилах заложен прямой запрет на модификацию файлов вроде *.g.dart и *.freezed.dart.
Исходный текст
SKILL.md · Apache-2.0
---
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
---
# 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.
### When NOT to use (Abstention Guardrails)
Do NOT apply this skill or refactor code when:
- **Public API Breaking Changes**: Refactoring would alter public API contracts,
return types, or parameter signatures in published packages without a
coordinated major SemVer bump.
- **Dogmatic Micro-Optimizations**: Rewriting clear, readable code for
negligible theoretical gains (e.g. replacing clear string concatenation in a
simple one-line log message with multiline quotes).
- **Domain-Specific or Code-Generated Files**: Generated files (`*.g.dart`,
`*.freezed.dart`, protobufs) or files where line lengths and string layouts
are managed by code generators.
- **Explicit Type Annotations in Public Interfaces**: Replacing explicit type
annotations with `var` or `final` where explicit types document the public API
surface or disambiguate complex generics.
## 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:**
```dart
final pem = '-----BEGIN RSA PRIVATE KEY-----\n' +
base64Encode(fullBytes) +
'\n-----END RSA PRIVATE KEY-----';
```
**Prefer:**
```dart
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.
## Related Skills
- **[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
© kevmoo · Apache-2.0 · kevmoo/dash_skills