test-driven-development
Write tests first, watch them fail, then implement minimal code to pass.
dart-collect-coverage
Collect coverage using the coverage packge and create an LCOV report
Full skill instructions
Structure your test suites using the standard Dart testing paradigms. Use package:test for Dart projects and flutter_test for Flutter projects.
package:mockito).Exclude specific lines, blocks, or entire files from coverage metrics using inline comments. Pass the --check-ignore flag during formatting to enforce these directives.
// coverage:ignore-line// coverage:ignore-start and // coverage:ignore-end// coverage:ignore-fileFollow this sequential workflow to add the coverage package, execute tests, and generate an LCOV report.
Task Progress Checklist:
coverage as a dev_dependency.Add the coverage package as a dev_dependency to your project. Do not add it to standard dependencies.
If working in a standard Dart project:
dart pub add dev:coverage
If working in a Flutter project:
flutter pub add dev:coverage
Use the bundled test_with_coverage script. This script automatically runs all tests, collects the JSON coverage data from the Dart VM, and formats it into an LCOV report.
dart run coverage:test_with_coverage
Note: If working within a Dart workspace (monorepo), specify the test directories explicitly (e.g., dart run coverage:test_with_coverage -- pkgs/foo/test pkgs/bar/test).
Run validator -> review errors -> fix:
coverage/ directory was created in the project root.coverage/coverage.json (raw data) and coverage/lcov.info (formatted report) exist.// coverage:ignore-file if they are intentionally excluded.If you require granular control over the VM service, isolate pausing, or need branch/function-level coverage, use the manual collection workflow.
Task Progress Checklist:
Execute tests while pausing isolates on exit and exposing the VM service on a specific port (e.g., 8181).
dart run --pause-isolates-on-exit --disable-service-auth-codes --enable-vm-service=8181 test &
Extract the coverage data from the running VM service and output it to a JSON file.
dart run coverage:collect_coverage --wait-paused --uri=http://127.0.0.1:8181/ -o coverage/coverage.json --resume-isolates
Optional: Append --function-coverage and --branch-coverage to gather deeper metrics (requires Dart VM 2.17.0+).
Convert the raw JSON data into the standard LCOV format.
dart run coverage:format_coverage --packages=.dart_tool/package_config.json --lcov -i coverage/coverage.json -o coverage/lcov.info --check-ignore
pubspec.yaml ConfigurationEnsure your pubspec.yaml reflects the coverage package strictly under dev_dependencies.
name: my_dart_app
environment:
sdk: ^3.0.0
dependencies:
path: ^1.8.0
dev_dependencies:
test: ^1.24.0
coverage: ^1.15.0
Use ignore directives to prevent generated code or untestable edge cases from lowering coverage scores.
// coverage:ignore-file
import 'package:meta/meta.dart';
class SystemConfig {
final String env;
SystemConfig(this.env);
// coverage:ignore-start
void legacyInit() {
print('Deprecated initialization');
}
// coverage:ignore-end
bool isProduction() {
if (env == 'prod') return true;
return false; // coverage:ignore-line
}
}
Write tests first, watch them fail, then implement minimal code to pass.
Enforce verification commands before claiming work completion, fixes, or test passes—no success assertions without fresh evidence.
Dispatch fresh subagents per task with two-stage review (spec compliance, then code quality) in the current session.
Evaluate code review feedback with technical rigor before implementing, avoiding performative agreement and blind implementation.
Test-driven documentation for creating reusable agent techniques, patterns, and reference guides.
Structured workflow for completing development branches with test verification and merge/PR options.
Browser automation with 40+ commands for navigation, interaction, form filling, and web testing.
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
Comprehensive reference guide for writing, debugging, and maintaining Playwright tests across all testing types and scenarios.
End-to-end Solana development with framework-kit, @solana/kit, Anchor programs, and local testing.
ab testing
Build custom Expo development clients for testing native code on physical devices via EAS Build or locally.
Opus.ai: Revolutionize Your Web Experience
Build a no-code AI app in minutes.
An IDE for code migration from legacy to modern frameworks through coding agents.
Automate CGI animation in live-action scenes
Branded artistic QR-code concepts
Launch a website in seconds with AI.
Streamline Your Coding Experience with AI Code Helper
Convert any screenshot or design to clean code.