Agent Skills for Dart

Скиллы команды Dart: тесты и моки, анализ и dart fix, CLI-приложения, FFI, документация и разбор конфликтов пакетов для ИИ-агента

  • 529 ★ репозитория
  • Последний коммит
  • BSD-3-Clause
СкиллОфициальный

Минимальный доступ

Почему такой уровень

  • Скиллы состоят из текстовых инструкций, но по ним агент запускает команды `dart test`, `dart analyze` и `dart fix --apply`, которые меняют файлы проекта
Все причины и проверки

dart-lang/skills

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/agent-skills-for-dart

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Минимальный доступИнструмент ничего не запускает и не ходит в сеть.

  • Скиллы состоят из текстовых инструкций, но по ним агент запускает команды `dart test`, `dart analyze` и `dart fix --apply`, которые меняют файлы проекта

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Agent Skills for Dart — набор скиллов, который ведет команда Dart. Каждый скилл описывает повторяемый рабочий процесс для типичной задачи на Dart, и агент ошибается реже. Авторы пишут, что скиллы дополняют MCP: MCP открывает агенту инструменты, а скилл показывает, как ими пользоваться. В таблице репозитория 14 скиллов. Для тестов: `dart-add-unit-test` (`package:test`), `dart-generate-test-mocks` (`package:mockito` и `build_runner`), `dart-collect-coverage` (LCOV-отчет), `dart-migrate-to-checks-package` (замена `expect` из `matcher` на `package:checks`). Для качества кода: `dart-run-static-analysis` запускает `dart analyze` и `dart fix --apply`, `dart-write-documentation` и `dart-use-doc-examples` задают правила для /// документации и вставки примеров через {@example}, `dart-use-pattern-matching` предлагает `switch`-выражения и паттерны. Для сборки: `dart-build-cli-app` про структуру CLI-приложения, коды выхода и подпроцессы, `dart-use-path-package` про пути, `dart-resolve-package-conflicts` про сбой `pub get`. Для нативного кода: `dart-use-ffigen` и `dart-setup-ffi-assets`. Скилл `dart-fix-runtime-errors` берет стек ошибки через get_runtime_errors, находит строку, правит и проверяет hot_reload. У каждого скилла в таблице есть пример запроса, например «Add a unit test for the Point class».

Для кого. Для разработчиков на Dart и Flutter, которые поручают агенту тесты, анализ, документацию и сборку CLI-приложений.

Подходит, если

  • К новому классу нужны юнит-тесты, организованные по правилам: файлы в test/ с суффиксом _test.dart, группы через `group`()
  • Класс зависит от внешнего API или базы, и нужны моки через `package:mockito` и `build_runner`
  • `pub get` падает из-за несовместимых версий, и агенту нужен порядок разбора конфликта в `pubspec`
  • Пишете CLI на Dart: нужны CommandRunner, понятные коды выхода и разделение потоков вывода
  • Надо описать публичный API по правилам Effective Dart: `doc`-комментарии и примеры через {@example}

Не подходит, если

  • Нужны скиллы для интерфейсов Flutter: авторы отсылают к отдельному набору Agent Skills for Flutter
  • Проект написан не на Dart: набор целиком про инструменты и пакеты Dart
  • Нужно, чтобы агент сам выполнял команды без вашего контроля: скиллы запускают `dart test`, `dart fix` и подобные команды, а результат стоит проверять
  • Вам нужен MCP-сервер с инструментами Dart: скиллы учат пользоваться инструментами и сами их не дают

Пример запроса к агенту

Добавь юнит-тесты для класса Point и сгенерируй мок для ApiClient, а потом запусти `dart test`. Используй скиллы Dart

Ограничения

Нужен установленный Dart SDK, а для части скиллов Flutter и пакеты вроде `mockito`, `build_runner`, `ffigen` и `coverage`. Скилл `dart-fix-runtime-errors` опирается на инструменты get_runtime_errors, hot_reload и LSP, их должен дать подключенный MCP-сервер. Набор содержит инструкции без собственных инструментов, поэтому без нужных пакетов в `pubspec` часть сценариев не запустится.

Установка по умолчанию кладет все скиллы в общую папку .agents/skills проекта.

Как отключить. Удалите нужные папки `dart-`* из .agents/skills проекта или удалите всю папку скиллов. Обновления подтягивает npx skills update, без его запуска набор остается прежним.

Частые вопросы

Как поставить скиллы Dart в проект?

В корне проекта выполните npx skills add dart-lang/skills --skill '*' --agent universal --yes. Флаг --agent universal кладет скиллы в стандартную папку .agents/skills, которую читает большинство агентов. Обновление: npx skills update.

Какие скиллы входят в набор Dart?

Четырнадцать: тесты (`add-unit-test`, `generate-test-mocks`, `collect-coverage`, `migrate-to-checks-package`), анализ и документация (`run-static-analysis`, `write-documentation`, `use-doc-examples`, `use-pattern-matching`), сборка (`build-cli-app`, `use-path-package`, `resolve-package-conflicts`), нативный код (`use-ffigen`, `setup-ffi-assets`) и `fix-runtime-errors`.

Чем скиллы Dart отличаются от скиллов Flutter?

Этот репозиторий про Dart: тесты, пакеты, CLI, FFI, документация. Для Flutter-приложений авторы отсылают к отдельному набору Agent Skills for Flutter в репозитории flutter/skills.

Как скилл `dart-fix-runtime-errors` находит ошибку?

Он берет активный стек вызовов через get_runtime_errors и LSP, находит проблемную строку, вносит правку и проверяет результат через hot_reload. Для этого агенту нужны эти инструменты от подключенного MCP-сервера.

Как заменить `expect` на `package:checks`?

Это делает скилл `dart-migrate-to-checks-package`: он переписывает `expect` и похожие функции из `package:matcher` на эквиваленты `package:checks`. Пример запроса из таблицы: «Migrate the tests in test/user_test.dart to use package:checks».

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

Builder Skills

Skills for agents

Набор небольших скиллов от Builder.io для рабочих привычек агента: визуальные планы и разборы диффов, сверка с документацией, кросс-агентное ревью и аккуратные

СкиллРасширенный доступ4,6 тыс.Звезды репозитория

Проверяемый реестр скиллов с CLI для установки в два десятка агентов и MCP-сервером для поиска скиллов на лету

СкиллРасширенный доступ7,1 тыс.Звезды репозитория
Выбор редакции

Набор скиллов от команды Kotlin для агентов: перевод Java в Kotlin, миграции сборки и правильная работа с бэкенд-фреймворками

ПлагинРасширенный доступ1,1 тыс.Звезды репозитория

Набор из 16 инженерных скиллов для агентов: разработка под Apple, упаковка macOS, производительность React, ревью и рефакторинг кода

СкиллРасширенный доступ4 тыс.Звезды репозитория

Личный набор автора: общие правила для агентов и десятки скиллов для GitHub, браузера, macOS, сообщений и релизов, плюс скрипт синхронизации

СкиллШирокий доступ7,4 тыс.Звезды репозитория

Softaworks Agent Toolkit

Softaworks Agent Skills

Маркетплейс скиллов, субагентов и команд для кодовых агентов: разработка, документация, планирование и рабочая коммуникация

ПлагинРасширенный доступ2,6 тыс.Звезды репозитория

Коротко о README

Короткий README: набор ведет команда Dart, скиллы описывают повторяемые процессы и дополняют MCP. Далее одна команда установки в папку .agents/skills, команда обновления и таблица из 14 скиллов с описаниями и примерами запросов. Есть ссылка на отдельный набор для Flutter.

Бейдж для README

Исходный SKILL.md

---
name: dart-add-unit-test
description: Write and organize unit tests for functions, methods, and classes using `package:test`. Use when creating new logic or fixing bugs to ensure code remains correct and regression-free.
metadata:
  model: models/gemini-3.1-pro-preview
  last_modified: Mon, 03 Aug 2026 21:51:24 GMT
---
# Testing Dart and Flutter Applications

## Contents
- [Structuring Test Files](#structuring-test-files)
- [Writing Tests](#writing-tests)
- [Executing Tests](#executing-tests)
- [Test Implementation Workflow](#test-implementation-workflow)
- [Examples](#examples)

## Structuring Test Files
Organize test files to mirror the `lib` directory structure to maintain predictability.

* Place all test code within the `test` directory at the root of the package.
* Append `_test.dart` to the end of all test file names (e.g., `lib/src/utils.dart` should be tested in `test/src/utils_test.dart`).
* If writing integration tests, place them in an `integration_test` directory at the root of the package.

## Writing Tests
Utilize `package:test` as the standard testing library for Dart applications.

* Import `package:test/test.dart` (or `package:flutter_test/flutter_test.dart` for Flutter).
* Group related tests using the `group()` function to provide shared context.
* Define individual test cases using the `test()` function.
* Validate outcomes using the `expect()` function alongside matchers (e.g., `equals()`, `isTrue`, `throwsA()`).
* Write asynchronous tests using standard `async`/`await` syntax. The test runner automatically waits for the `Future` to complete.
* Manage test setup and teardown using `setUp()` and `tearDown()` callbacks.
* If testing code that relies on dependency injection, use `package:mockito` alongside `package:test` to generate mock objects, configure fixed scenarios, and verify interactions.

## Executing Tests
Select the appropriate test runner based on the project type and test location.

* If working on a pure Dart project, execute tests using the `dart test` command.
* If working on a Flutter project, execute tests using the `flutter test` command.
* If running integration tests, explicitly specify the directory path, as the default runner ignores it: `dart test integration_test` or `flutter test integration_test`.

Сообщить о проблеме

Foxx AIAgent Skills for Dart
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.