CtrlK
BlogDocsLog inGet started
Tessl Logo

tdg-personal/dart-flutter-patterns

Production-ready Dart and Flutter patterns covering null safety, immutable state, async composition, widget architecture, popular state management frameworks (BLoC, Riverpod, Provider), GoRouter navigation, Dio networking, Freezed code generation, and clean architecture.

67

Quality

67%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

Quality

Discovery

57%

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 excels at listing specific, concrete technologies and patterns that Flutter/Dart developers would naturally reference, providing strong trigger term coverage. However, it critically lacks any 'Use when...' clause or explicit trigger guidance, which significantly hurts completeness. The description reads as a feature list rather than actionable selection criteria for Claude.

Suggestions

Add a 'Use when...' clause specifying trigger conditions, e.g., 'Use when the user asks about Dart/Flutter development, state management with BLoC/Riverpod/Provider, navigation with GoRouter, networking with Dio, or code generation with Freezed.'

Include file extension triggers like '.dart', '.yaml' (pubspec.yaml), or project type indicators like 'Flutter app' or 'Flutter project' to help Claude identify relevant contexts.

Consider adding a brief functional summary before the technology list, e.g., 'Guides development of Flutter applications using...' to clarify the skill's purpose beyond listing technologies.

DimensionReasoningScore

Specificity

Lists multiple specific concrete technologies and patterns: null safety, immutable state, async composition, widget architecture, BLoC, Riverpod, Provider, GoRouter, Dio, Freezed, and clean architecture. These are highly specific and actionable domains.

3 / 3

Completeness

The description answers 'what does this do' well but completely lacks a 'Use when...' clause or any explicit trigger guidance for when Claude should select this skill. Per rubric guidelines, a missing 'Use when...' clause caps completeness at 2, and since the 'when' is entirely absent (not even implied beyond the domain), this scores low.

1 / 3

Trigger Term Quality

Excellent coverage of natural keywords a Flutter/Dart developer would use: 'Dart', 'Flutter', 'BLoC', 'Riverpod', 'Provider', 'GoRouter', 'Dio', 'Freezed', 'null safety', 'state management', 'clean architecture'. These are terms developers naturally mention.

3 / 3

Distinctiveness Conflict Risk

The mention of specific frameworks like BLoC, Riverpod, GoRouter, Dio, and Freezed creates reasonable distinctiveness within the Flutter/Dart ecosystem. However, broad terms like 'widget architecture' and 'clean architecture' could overlap with general coding or architecture skills.

2 / 3

Total

9

/

12

Passed

Implementation

64%

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

This is a comprehensive, highly actionable Dart/Flutter pattern reference with excellent executable code examples covering the major ecosystem concerns. Its main weaknesses are length (could be split into overview + detail files) and missing workflow guidance for multi-step processes like Freezed code generation setup. The content slightly over-explains patterns Claude would already know (const usage, null safety basics) but generally earns its token budget through production-ready specificity.

Suggestions

Split detailed sections (Dio, GoRouter, Testing, BLoC, Riverpod) into separate referenced files and keep SKILL.md as a concise overview with quick-start snippets and links.

Add a build_runner workflow step for Freezed: `dart run build_runner build --delete-conflicting-outputs` with validation that generated files exist.

Trim the 'When to Use' and 'How It Works' preamble sections — the numbered list in 'How It Works' duplicates the table of contents implied by the section headers.

DimensionReasoningScore

Conciseness

The skill is mostly efficient with good code examples, but the 'When to Use' and 'How It Works' sections at the top are somewhat redundant given the content that follows. Some patterns (like const propagation, basic null safety) are things Claude already knows well. The BAD/GOOD comment pairs add bulk but do provide value for pattern enforcement.

2 / 3

Actionability

Every section provides fully executable, copy-paste-ready Dart/Flutter code with concrete patterns. The Dio interceptor with retry guard, GoRouter auth redirect, Freezed setup, BLoC test, and widget test examples are all production-ready and specific.

3 / 3

Workflow Clarity

The skill is organized as a reference catalog of patterns rather than multi-step workflows. While individual patterns are clear, there's no guidance on sequencing (e.g., setting up a new feature end-to-end) and no validation checkpoints. The Freezed section doesn't mention running build_runner, which is a critical step.

2 / 3

Progressive Disclosure

The content is a long monolithic document (~400 lines) that could benefit from splitting detailed sections (Dio setup, GoRouter config, testing) into separate files. The References section at the end does point to external resources and related skills, but the inline content is heavy for a SKILL.md overview.

2 / 3

Total

9

/

12

Passed

Validation

81%

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

Validation9 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

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

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

9

/

11

Passed

Reviewed

Table of Contents