CtrlK
BlogDocsLog inGet started
Tessl Logo

flutter

Flutter development with Riverpod state management, Freezed, go_router, and mocktail testing

56

Quality

48%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/flutter/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

40%

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 identifies a specific technology stack clearly, which helps with distinctiveness, but it reads more like a tag list than a functional description. It lacks concrete actions (what the skill actually does) and has no 'Use when...' clause to guide skill selection. Adding explicit actions and trigger conditions would significantly improve its utility for skill matching.

Suggestions

Add concrete actions describing what the skill does, e.g., 'Builds Flutter widgets, manages app state with Riverpod providers, defines immutable models with Freezed, configures navigation with go_router, and writes unit tests using mocktail.'

Add an explicit 'Use when...' clause, e.g., 'Use when developing Flutter/Dart mobile applications, setting up state management, defining routes, creating data models, or writing mock-based tests.'

Include broader natural trigger terms like 'Dart', 'mobile app', 'state management', 'routing', 'unit testing', and 'code generation' to capture more user query variations.

DimensionReasoningScore

Specificity

Names the domain (Flutter development) and lists specific technologies (Riverpod, Freezed, go_router, mocktail), but doesn't describe concrete actions like 'create widgets', 'manage state', 'write tests', or 'define routes'.

2 / 3

Completeness

Partially addresses 'what' (Flutter development with specific packages) but completely lacks any 'when' clause or explicit trigger guidance. Per rubric guidelines, a missing 'Use when...' clause caps completeness at 2, and the 'what' itself is also weak (no concrete actions), warranting a 1.

1 / 3

Trigger Term Quality

Includes relevant technical keywords like 'Flutter', 'Riverpod', 'Freezed', 'go_router', and 'mocktail' that users familiar with the stack would mention, but misses broader natural terms like 'state management', 'routing', 'unit testing', 'mobile app', or 'Dart'.

2 / 3

Distinctiveness Conflict Risk

The combination of Flutter + Riverpod + Freezed + go_router + mocktail is a very specific technology stack that creates a clear niche unlikely to conflict with other skills.

3 / 3

Total

8

/

12

Passed

Implementation

57%

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 Flutter/Riverpod reference with excellent, executable code examples covering all the key libraries mentioned. However, it suffers from being a monolithic document that tries to cover everything in one file, and includes boilerplate content (CI config, pubspec, analysis_options) that could be split into reference files. The lack of explicit development workflows (e.g., adding a new feature end-to-end with code generation steps) limits its effectiveness as a procedural guide.

Suggestions

Split boilerplate content (pubspec.yaml, GitHub Actions, analysis_options.yaml) into separate reference files and link to them from the main skill with clear signposts like '**CI setup**: See [CI.md](CI.md)'

Add an explicit development workflow section with numbered steps for common tasks like 'Adding a new feature' (create freezed model → run build_runner → verify generated files → create provider → build widget → write test)

Remove or significantly trim content Claude already knows well, such as basic go_router navigation methods (context.go, context.push, context.pop) and standard project structure comments

Add a validation step for code generation: e.g., 'After modifying Freezed models, run `dart run build_runner build --delete-conflicting-outputs` and verify no errors before proceeding'

DimensionReasoningScore

Conciseness

The skill is mostly efficient with good code examples, but it's quite long and includes some content Claude already knows (e.g., basic navigation methods like context.go/push/pop, standard pubspec.yaml structure, GitHub Actions boilerplate, analysis_options.yaml). The project structure section with extensive directory comments adds bulk without much unique value.

2 / 3

Actionability

The skill provides fully executable, copy-paste ready code examples throughout — Riverpod providers, Freezed models, go_router configuration, widget patterns, unit tests, widget tests, CI configuration, and pubspec.yaml. Every section contains concrete, runnable code rather than abstract descriptions.

3 / 3

Workflow Clarity

While individual patterns are clearly demonstrated, there's no explicit workflow for common multi-step processes like setting up a new feature (create model → generate code → create provider → build widget → write test). The code generation step (build_runner) is only shown in CI but not as an explicit development workflow step with validation. Missing feedback loops for the build_runner code generation process.

2 / 3

Progressive Disclosure

The skill is a monolithic wall of content — everything from project structure, state management, data models, navigation, widget patterns, testing, pubspec.yaml, CI, linting, and anti-patterns are all inline in a single file. The pubspec.yaml, GitHub Actions, and analysis_options.yaml sections could easily be separate reference files. The 'Load with: base.md' hint suggests a multi-file system exists but isn't leveraged for this content.

1 / 3

Total

8

/

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 (585 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

Repository
alinaqi/claude-bootstrap
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.