dart-checks-migration

Migrate Dart test files from package:matcher to package:checks.

3|Updated Dec 23, 2025
One-click install
npx skills add https://github.com/boazcstrike/opencode --skill dart-checks-migration-boazcstrike
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dart-checks-migration
Source: https://github.com/boazcstrike/opencode/tree/main/skills/dart-checks-migration
Command: npx skills add https://github.com/boazcstrike/opencode --skill dart-checks-migration-boazcstrike

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps migrate existing Dart test suites from the older package:matcher library to the more modern and expressive package:checks library, improving test readability and maintainability.

Core Features & Use Cases

  • Automated Replacement: Identifies and replaces common expect statements with their package:checks equivalents.
  • Async Handling: Provides correct patterns for migrating asynchronous tests and futures.
  • Use Case: You have a large Dart project with many tests written using expect(a, equals(b)). This Skill can automatically refactor these to check(a).equals(b), making your tests cleaner.

Quick Start

Use the dart-checks-migration skill to replace expect calls with package:checks equivalents in the specified test files.

Frequently Asked Questions about dart-checks-migration

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I migrate Dart tests from package:matcher to package:checks?

Migrating Dart tests from package:matcher to package:checks involves replacing `expect` statements with `check` equivalents. This refactoring updates test files to use the modern `check(a).equals(b)` syntax, improving test readability and maintainability.

What is the difference between expect and check in Dart testing?

The difference between expect and check in Dart testing is syntax and readability. The older `expect(a, equals(b))` pattern from package:matcher is replaced by the more expressive `check(a).equals(b)` fluent API from package:checks, making assertions cleaner.

How do I handle async futures when migrating to package:checks?

When migrating async futures to package:checks, use correct patterns for asynchronous tests. The migration process provides specific patterns to handle futures properly, ensuring asynchronous test operations function correctly after the refactor.

Can I migrate custom matchers from package:matcher to package:checks?

Yes, you can migrate custom matchers from package:matcher to package:checks. The migration process provides specific guidance on handling custom matchers and verification, allowing you to translate specialized test assertions into the new checks format.

Does package:checks migration work for large Dart test suites?

Yes, package:checks migration works for large Dart test suites by automating the replacement of common `expect` statements. It targets test files within Dart projects to modernize testing practices across the codebase efficiently.