CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

flutter-project-starter

Scaffold a production-ready Flutter 3.27+ app with Dart 3.6+, Material 3, BLoC or Riverpod for state management, go_router for navigation, platform channels, freezed for models, and Hive/Isar for local storage.

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 ./mobile/flutter-project-starter/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

50%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 highly actionable with executable commands and complete code templates, and is well-sectioned, but it functions as a monolithic dump of boilerplate Claude largely already knows. Splitting templates into reference files, adding validation checkpoints, and trimming generated-on-demand code would improve token efficiency and navigation.

Suggestions

Move per-file code templates (theme, router, BLoC, repository, widget, platform channel, tests) into references/ files (e.g., references/auth-feature.md, references/core-layer.md) and keep SKILL.md as an overview with pointers.

Trim boilerplate Claude can generate unaided (MaterialApp setup, standard ThemeData, ListTile widgets) and keep only the project-specific conventions and non-obvious wiring.

Add explicit validation checkpoints to the workflow (e.g., run flutter analyze and flutter test after scaffolding, fix before proceeding).

Fix dependency/code mismatches: add dartz to the pub add list and include missing imports (dio in user_repository_impl.dart, dependencies in the BLoC test).

DimensionReasoningScore

Conciseness

The ~660-line body inlines ~500 lines of standard Flutter boilerplate (MaterialApp.router, ThemeData, ListTile/CircleAvatar widgets, basic BLoC wiring) that Claude can generate unaided — noticeably verbose per the anchor, though not score 1 since there is no concept-explaining prose padding.

2 / 5

Actionability

Commands and code are largely copy-paste ready (flutter create/pub add, complete Dart files), but there are minor executable gaps: the repository uses dartz's Either yet dartz is never added to dependencies, user_repository_impl.dart references DioException without importing dio, and the BLoC test omits imports.

4 / 5

Workflow Clarity

The sequence (prerequisites → scaffold → dependencies → codegen → run/build) is present and coherent, but validation checkpoints are implicit — flutter analyze and flutter test appear only in Common Commands, not as verify steps tied into the workflow.

3 / 5

Progressive Disclosure

Sections are well-organized with clear headers and labeled file paths, but 500+ lines of per-file code templates are inlined in a monolithic SKILL.md with no bundle files — content that clearly belongs in references/ (e.g., feature templates, core-layer templates).

3 / 5

Total

12

/

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 is specific, stack-rich, and highly distinctive, clearly communicating what the skill builds. Its main weakness is the complete absence of 'when to use' trigger guidance, which caps completeness and slightly limits natural trigger-term coverage.

Suggestions

Add an explicit 'Use when...' clause, e.g. 'Use when starting a new Flutter project, scaffolding a production Flutter app, or setting up BLoC/Riverpod architecture.'

Include common user phrasings such as 'new Flutter project', 'set up', 'boilerplate', or 'template' to broaden natural trigger terms.

Mention testing/CI setup if the skill covers them, to round out capability coverage.

DimensionReasoningScore

Specificity

Lists several concrete capabilities (BLoC or Riverpod, go_router, platform channels, freezed, Hive/Isar, Material 3) rather than vague language, matching the 'several specific actions; minor gaps' anchor — coverage of the stack is broad but single-verb framing leaves minor gaps (testing, CI).

4 / 5

Completeness

The 'what' is clear and detailed, but there is no 'Use when...' clause or equivalent explicit trigger guidance; per the judging guidelines a missing 'Use when' clause caps completeness at 3.

3 / 5

Trigger Term Quality

Contains good natural keywords ('Flutter', 'scaffold', 'BLoC', 'Riverpod', 'state management', 'local storage') that users would say, but misses common phrasings like 'new Flutter project', 'set up', 'boilerplate', or 'template' — a few natural terms missing, per the anchor-4 example.

4 / 5

Distinctiveness Conflict Risk

Occupies a clear niche — production Flutter app scaffolding with a named, versioned stack (Flutter 3.27+, Dart 3.6+, BLoC/Riverpod, go_router, freezed, Hive/Isar) — with distinct triggers and minimal overlap with generic coding skills.

5 / 5

Total

16

/

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 (672 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

Passed

Repository

achreftlili/deep-dev-skills

Path

mobile/flutter-project-starter/SKILL.md

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.