Install any skill in seconds. Free to start, no credit card required.
Get Started Free →evanca/testing
Use when writing or reviewing Flutter/Dart tests (unit, widget, golden), fixing flaky tests, adding coverage, or choosing between unit and widget tests.
Passed 22 of 22 test cases with the skill, and 19 of 22 without it.
and 1 more in the full report
3 fixed19 passed either way0 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 3 test cases the skill fixed. Same model, same prompt, with and without the skill.
Could you write a Flutter widget test for my `UserProfileCard` component? It takes a user object and renders their avatar, display name, and an edit button. I want to make sure the UI displays correctly and handles button taps properly.
| Checked | Without skill | With skill |
|---|---|---|
| Every test case description uses 'should' to describe expected behavior. | Missed | Passed |
| The top-level test group is named 'UserProfileCard'. | Missed | Passed |
| The widget under test is wrapped in MaterialApp during pumpWidget. | Passed | Passed |
The instructions your model reads when the skill loads.
Write effective, meaningful Flutter and Dart tests that catch real regressions.
Use this skill when:
Before writing or accepting a test, ask:
"Can this test actually fail if the real code is broken?"
// BAD — tests the mock, not real logic
test('should return user', () {
when(() => repo.getUser()).thenReturn(fakeUser);
expect(repo.getUser(), fakeUser); // Only proves the mock works
});
// GOOD — tests the cubit's state transitions driven by the mock
blocTest<UserCubit, UserState>(
'should emit loaded state when getUser succeeds',
build: () {
when(() => repo.getUser()).thenAnswer((_) async => fakeUser);
return UserCubit(repo);
},
test cases passed, vs 19 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.