CtrlK
BlogDocsLog inGet started
Tessl Logo

dart-use-primary-constructors

Help users write syntactically and semantically correct primary constructors in Dart, and migrate/use the new constructor syntax, empty-body semicolon syntax, in-body initializer list syntax, and abbreviated concise constructor syntax.

57

Quality

66%

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-use-primary-constructors/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

65%

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

The content is highly actionable with executable Dart examples, a diagnostics table, and step-by-step refactoring workflows, but the workflows omit explicit validation checkpoints and the material is a single monolithic file rather than progressively disclosed into reference files.

Suggestions

Add a verification checkpoint at the end of each migration workflow, e.g. "Run `dart analyze` (and `dart fix` for auto-fixable violations) and only consider the migration complete when no primary-constructor errors remain."

Tighten generic prose such as "This significantly reduces boilerplate and improves code readability" and the restated declaring-vs-initializing comparison to keep every token earning its place.

Consider splitting the syntax reference (§2) and diagnostics table (§4) into a separate reference file linked from a concise overview in SKILL.md, so the main file stays a lean entry point.

DimensionReasoningScore

Conciseness

The body is a dense, mostly-efficient reference on a new/experimental feature with tight code examples, but includes some padded prose such as "This significantly reduces boilerplate and improves code readability" and a restatement that declaring and initializing parameters "are two ways of achieving the same goal" that could be trimmed.

2 / 3

Actionability

It provides fully executable Dart snippets, before/after refactoring pairs, a diagnostics table keyed on real error/lint codes with concrete resolutions, and a "run dart fix" instruction — copy-paste ready guidance throughout.

3 / 3

Workflow Clarity

Section 5 offers well-sequenced numbered steps with before/after code, but the migration workflows lack an explicit validation checkpoint (e.g. running `dart analyze`/`dart fix` to verify the result); because code refactoring is a destructive-ish operation, workflow clarity is capped at 2 per the rubric guideline.

2 / 3

Progressive Disclosure

No bundle files exist and the skill is a single ~250-line file — well organized into clear sections, but above the 50-line simple-skill threshold and entirely inline with no one-level-deep references, so it does not reach the "clear overview with well-signaled references" anchor.

2 / 3

Total

9

/

12

Passed

Description

67%

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 is specific and well-differentiated, naming the exact Dart feature and the migration sub-syntaxes it covers, but it omits an explicit "Use when…" trigger and leans on technical jargon for its long tail of keywords rather than natural user phrasings.

Suggestions

Append an explicit trigger clause, e.g. "Use when the user is writing or refactoring Dart code that uses primary constructors, or migrating older constructor syntax to Dart 3.13+ primary constructors."

Add simpler natural-language trigger terms alongside the technical ones (e.g. "Dart constructors", "refactor Dart class", "Dart 3.13 constructor syntax") so the description matches how users actually phrase the request.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — "write syntactically and semantically correct primary constructors", "migrate/use the new constructor syntax, empty-body semicolon syntax, in-body initializer list syntax, and abbreviated concise constructor syntax" — using the same imperative style as the rubric's good examples, so no voice penalty applies.

3 / 3

Completeness

It clearly answers *what* the skill does but provides no "Use when…" clause or equivalent explicit trigger guidance, so the *when* is only implied — capping completeness at 2 per the rubric guideline.

2 / 3

Trigger Term Quality

The core natural term "primary constructors in Dart" and "migrate/use the new constructor syntax" are present, but the remaining tail ("empty-body semicolon syntax", "in-body initializer list syntax", "abbreviated concise constructor syntax") is technical jargon rather than phrasings users would say, and simpler variations like "Dart constructor" or "refactor Dart class" are missing.

2 / 3

Distinctiveness Conflict Risk

"primary constructors in Dart" carves out a clear, narrow niche tied to a specific language feature, making it unlikely to trigger for or conflict with unrelated skills.

3 / 3

Total

10

/

12

Passed

Validation

93%

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

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

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.