CtrlK
BlogDocsLog inGet started
Tessl Logo

dart-migrate-to-checks-package

Replace the usage of `expect` and similar functions from `package:matcher` to `package:checks` equivalents.

57

Quality

67%

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

Fix and improve this skill with Tessl

tessl review fix ./skills/dart-migrate-to-checks-package/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

81%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.

The content is a strong, highly actionable migration guide: an explicit validated workflow, an extensive pitfall catalog of type-safety differences Claude would not reliably know, and a comprehensive matcher-to-checks mapping table. Weaknesses are minor — one corrupted code snippet, slight redundancy in the intro sections, and a length that could shed the Examples and Custom Expectations sections into reference files.

Suggestions

Fix the corrupted code in pitfall #5's 'NO' example — 'check(() => triggerSync")' has a stray quote; rewrite it as valid Dart so the anti-pattern is unambiguous.

Trim the redundant opening paragraph and 'When to Use This Skill' section (they restate the description), and replace the '$\rightarrow$' LaTeX arrows with plain '->' text for plain-markdown renderers.

Move the Examples and Writing Custom Expectations sections into references/ files (e.g. references/examples.md, references/custom-expectations.md) and link them from the TOC to shorten the main SKILL.md.

DimensionReasoningScore

Conciseness

The body is dense with genuinely non-obvious knowledge (ten typed pitfalls, a mapping table) and assumes Dart competence, but the opening paragraph and 'When to Use This Skill' section restate the frontmatter description, and the '$\rightarrow$' LaTeX arrows render awkwardly in plain markdown — minor over-explanation that could be trimmed, matching anchor 4 rather than the lean anchor 5.

4 / 5

Actionability

Nearly all guidance is executable: 'dart pub add dev:checks', 'dart analyze', 'dart test', grep discovery patterns, and before/after code pairs. However, the pitfall #5 'NO' example is corrupted — 'check(() => triggerSync")' contains a stray quote and is not valid Dart — a minor gap that keeps it below the fully copy-paste-ready anchor 5.

4 / 5

Workflow Clarity

The four-step workflow (dependency setup → discovery/planning → migration with import strategy and compiler-error checkpoint → verification) has explicit validation steps ('dart analyze', 'dart test') and a feedback loop ('If a test fails, review the ... failure output to diagnose if the test is genuinely failing or if the expectation was translated incorrectly'), matching the anchor with explicit validation and error-recovery loops.

5 / 5

Progressive Disclosure

The single-file body has a clear table of contents and well-delimited sections, and the core pitfalls and mapping table are appropriately placed inline. With no bundle files present, the ~95-line Examples section and ~75-line Custom Expectations section are candidates for separate reference files, which is the kind of minor organization gap anchor 4 describes rather than the 'content that should be separate is inline' pattern of anchor 3.

4 / 5

Total

17

/

20

Passed

Description

53%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.

The description states a single, precise capability with unambiguous package identifiers, but it omits any 'when to use' trigger guidance and lacks natural-language synonyms like 'migrate' or 'Dart test assertions'. It is functional but below the quality of the reference good examples, which pair a what-clause with an explicit when-clause.

Suggestions

Add an explicit trigger clause, e.g. 'Use when asked to migrate or modernize Dart test assertions from package:matcher to package:checks.'

Include natural synonyms users would actually say — 'migrate tests to checks', 'modernize Dart test assertions', 'package:checks' — to broaden trigger-term coverage.

Name the language and context explicitly ('Dart test suite') so the skill is discoverable for generic test-modernization requests and distinguishable from other testing skills.

DimensionReasoningScore

Specificity

The description names the domain ('Replace the usage of `expect` and similar functions from `package:matcher` to `package:checks`') but describes only one concrete action rather than several, matching the 'names domain and 1-2 concrete actions, but not comprehensive' anchor rather than the 'lists several specific actions' anchor above.

3 / 5

Completeness

The 'what' is clear (replacing matcher-based expect calls with checks equivalents), but there is no 'Use when...' clause or equivalent explicit trigger guidance, which caps completeness at 3 per the judging guidelines.

3 / 5

Trigger Term Quality

It contains the technical keywords a user would echo ('expect', 'package:matcher', 'package:checks'), but misses common natural variations such as 'migrate', 'modernize test assertions', or 'Dart', matching the 'some relevant keywords but missing common variations or synonyms' anchor.

3 / 5

Distinctiveness Conflict Risk

The package names 'package:matcher' and 'package:checks' make the niche unambiguous with minimal conflict risk, but the description never explicitly says 'Dart' or 'tests', leaving minor overlap risk with sibling Dart-testing skills; this fits 'mostly distinct; minor overlap risk' rather than the fully distinct anchor 5.

4 / 5

Total

13

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (529 lines); consider splitting into references/ and linking

Warning

metadata_version

'metadata.version' is missing

Warning

Total

14

/

16

Passed

Repository
flutter/agent-plugins
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.