CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

testland/flutter-testing

Use whenever a Flutter app needs tests: unit tests with flutter test, widget tests with testWidgets and WidgetTester, integration_test on simulators, emulators or devices, choosing the layer per change, mockito with build_runner, LCOV coverage and CI.

Quality

93%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Overview
Quality
Evals
Security
Files

Quality

Content

82%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A strong, highly executable skill body: sequenced steps with copy-paste code for every layer of Flutter testing, useful anti-patterns, and honest limitations. The main improvement areas are trimming redundant explanation and pinned versions, and adding an explicit verify-before-CI checkpoint.

Suggestions

Cut the Overview blockquote restating the testing pyramid (Claude already knows it) and merge the duplicated LCOV/lcov-analysis note from Steps 2 and 6 into one place to tighten conciseness.

Remove or de-emphasize hard-pinned versions (mockito ^5.4.4, build_runner ^2.4.13, actions/checkout@v5, api-level: 34) — they go stale; either drop them or isolate them in a clearly marked section.

Add an explicit validation checkpoint before Step 7, e.g. "Verify all tests pass and review coverage/lcov.info before wiring CI," to give the workflow a feedback loop.

DimensionReasoningScore

Conciseness

The body is largely lean and code-forward, but the Overview blockquote restates the testing pyramid (a concept Claude already knows), the LCOV→lcov-analysis note is duplicated in Steps 2 and 6, and hard-pinned versions ("mockito: ^5.4.4", "actions/checkout@v5", "api-level: 34") are time-sensitive with no deprecated/old-patterns section. These are minor, trimmable instances rather than pervasive padding, so it sits at the efficient anchor rather than the mostly-efficient one.

4 / 5

Actionability

Every step ships copy-paste-ready material: pubspec dev_dependencies, complete Dart unit/widget/integration/mockito test files, exact bash commands (flutter test --coverage, dart run build_runner build), genhtml, and full CI YAML. The single "// ... etc." placeholder in the integration example is the only gap, and the common cases are all covered, matching the fully-executable anchor.

5 / 5

Workflow Clarity

Steps 1–7 are clearly sequenced (install → unit → widget → integration → mocks → coverage → CI) with run commands per step, and the anti-patterns table aids error recovery, but there are no explicit validation checkpoints or feedback loops (e.g., verify tests pass and inspect lcov.info before wiring CI). The workflow is non-destructive so the validation cap doesn't apply; the commands' pass/fail output gives implicit checkpoints, placing this just below the explicit-validation anchor.

4 / 5

Progressive Disclosure

Good structure with clear section headers, finder and anti-pattern tables, and a well-signaled one-level external reference ([ft] → docs.flutter.dev) with no nested references. With a 271-line single-file body, content like the CI YAML and detailed examples could be split into reference files, so it doesn't fully reach the appropriately-split anchor, but nothing is buried or misplaced.

4 / 5

Total

17

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

An exemplary description: an explicit "Use whenever..." trigger, concrete named tooling for every layer of the testing pyramid, natural synonym coverage, and a clear Flutter-only niche. It reads like the rubric's good-overall examples with nothing vague or padded.

DimensionReasoningScore

Specificity

The description lists multiple concrete capabilities covering the whole stack — "unit tests with flutter test", "widget tests with testWidgets and WidgetTester", "integration_test on simulators, emulators or devices", "choosing the layer per change", "mockito with build_runner", "LCOV coverage and CI" — matching the comprehensive-coverage anchor with no meaningful gaps.

5 / 5

Completeness

It explicitly answers both questions: the trigger clause "Use whenever a Flutter app needs tests" plus a concrete what-list spanning all three test layers, mocking, coverage, and CI.

5 / 5

Trigger Term Quality

It includes the natural phrases users would say ("Flutter app needs tests", "unit tests", "widget tests", "coverage", "CI") plus a synonym set "simulators, emulators or devices" and real tool names (mockito, build_runner), giving comprehensive natural-term coverage.

5 / 5

Distinctiveness Conflict Risk

The scope is tightly Flutter-bound with distinct triggers (flutter test, testWidgets, integration_test), so it is clearly distinguishable from generic testing skills and non-Flutter mobile suites (xcuitest, espresso, detox) with minimal conflict risk.

5 / 5

Total

20

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Reviewed

On this page