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.