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.

60

Quality

70%

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

71%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 body is a strong, highly actionable reference for Dart's primary constructors with complete code examples and a clear migration workflow. Weaknesses are mild padding in the workflow narration, no explicit validation checkpoint (e.g., running dart analyze after migration), and a monolithic single-file structure that inlines reference material rather than splitting it out.

Suggestions

Trim the conversational narration in Workflow 5.1 and the long inline comment in §2.2; let the before/after code speak for itself.

Add an explicit validation step to the migration workflow, e.g., 'Run dart analyze (or dart fix --dry-run) after migration and resolve any primary-constructor errors before finishing.'

Move the detailed syntax reference (§2) and semantics rules (§3) into a references/ file (e.g., references/syntax.md), keeping SKILL.md as an overview that points to it — there is no bundle today, so this is a restructure suggestion.

DimensionReasoningScore

Conciseness

Mostly dense, non-obvious reference material (new syntax forms, scoping rules, error codes), but includes unnecessary conversational padding — e.g. the long inline comment in §2.2 re-explaining x/y, and Workflow 5.1's narration ('In this case, this would be the name and age fields', 'The name and age fields are now written the primary constructor as declaring parameters...') that could be trimmed.

3 / 5

Actionability

Fully executable, copy-paste-ready Dart snippets throughout — basic header syntax, const, extension types, before/after migration pairs, a traditional-vs-abbreviated syntax mapping table, concrete error codes, and the 'dart fix' command — covering the common cases.

5 / 5

Workflow Clarity

Workflow 5.1 is a clearly sequenced numbered migration with before/after code at each step, and 5.2 gives a full before/after example. Validation is only implicit — 'dart fix' appears in the diagnostics section but the workflows lack an explicit 'verify with dart analyze' checkpoint.

4 / 5

Progressive Disclosure

No bundle files exist and the entire syntax reference (§2), semantics rules (§3), diagnostics table (§4), and workflows (§5) are inlined in one 263-line SKILL.md. Sections are well-organized, but substantial reference content that belongs in a references/ file sits inline, per the rubric's expectation that SKILL.md be an overview pointing to detailed materials.

3 / 5

Total

15

/

20

Passed

Description

70%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 clearly states what the skill does with several concrete named syntaxes, and occupies a distinct niche. Its main weakness is the missing 'when to use' trigger clause, which caps completeness and leaves triggering to inference from feature names.

Suggestions

Append an explicit trigger clause, e.g. 'Use when writing or refactoring Dart classes with primary constructors, migrating classes to the new constructor syntax, or fixing primary-constructor errors.'

Add natural trigger synonyms such as 'declaring parameters', 'extension type representation field', or 'concise constructor' so user phrasings beyond the feature name match.

Mention the troubleshooting capability (e.g., 'fix primary-constructor compile errors and lints') to round out coverage of what the body actually provides.

DimensionReasoningScore

Specificity

Lists several concrete actions ('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'), with minor gaps such as the diagnostics/troubleshooting coverage present in the body.

4 / 5

Completeness

The 'what' is clear and concrete, but there is no 'Use when...' clause or equivalent explicit trigger guidance, which per the rubric caps completeness at 3.

3 / 5

Trigger Term Quality

Includes natural terms users would say — 'primary constructors', 'Dart', 'new constructor syntax', 'initializer list' — but misses common variations like 'declaring parameters', 'extension type constructor', or 'migrate Dart constructors'.

4 / 5

Distinctiveness Conflict Risk

Targets a specific named Dart language feature ('primary constructors in Dart') with distinct triggers; minimal overlap risk with general Dart or other-language skills.

5 / 5

Total

16

/

20

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.

Validation — 15 / 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.