CtrlK
BlogDocsLog inGet started
Tessl Logo

get-it-expert

Expert guidance on get_it service locator and dependency injection for Flutter/Dart. Covers registration (singleton, factory, lazy, async), scopes with shadowing, async initialization with init() pattern, retrieval, testing with scope-based mocking, and production patterns. Use when working with get_it, dependency injection, service registration, scopes, or async initialization.

70

Quality

85%

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

SKILL.md
Quality
Evals
Security

Quality

Content

78%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.

An excellent, dense practitioner reference: executable code throughout, correct critical rules, anti-pattern pairs, and lifecycle-ordered sections. Its weaknesses are structural — everything lives in SKILL.md with no progressive disclosure to reference files, and version-specific behavior notes are scattered inline rather than consolidated.

Suggestions

Move the reference-depth material (Utility Methods, Reference Counting, findFirstObjectRegistration) into a references/ file (e.g. references/api.md) and keep one-line pointers in SKILL.md so the main file stays a lean overview.

Consolidate version-sensitive behavior notes ("Since 9.3.0", "v9.3.0+", "watch_it 2.5.0+") into a single version-compatibility section so time-sensitive details don't penalty-readability inline.

Add a brief explicit lifecycle sequence (register before runApp → await allReady → retrieve → test with scopes) at the top so the multi-step workflow is stated once rather than implied by section order.

DimensionReasoningScore

Conciseness

The body is efficient and code-first, assuming Flutter/Dart competence (no explanation of what DI or a service locator is), e.g. terse comment-annotated registration snippets. It misses anchor 5 because inline version-sensitive notes ("Since 9.3.0", "v9.3.0+", "watch_it 2.5.0+") are not consolidated into a compat/deprecated section, and a few prose passages (the scope-shadowing paragraph, the tear-off rule bullet) could be tightened.

4 / 5

Actionability

Nearly every section is copy-paste-ready executable Dart covering the common cases — registration, async init with the init() pattern, retrieval, scopes, ready-state, testing with setUp/tearDown, plus ❌/✅ anti-pattern pairs like "await on pushNewScope (it's void, not Future)". This matches the fully-executable anchor with broad case coverage.

5 / 5

Workflow Clarity

Section order mirrors the service lifecycle (Registration → Async Initialization → Retrieval → Scopes → Ready State → Testing), ordering rules are explicit ("Register all services BEFORE runApp()"), and the production patterns include recovery flows (popScopesTill on error, tearDown after scope-based mocks). It falls short of anchor 5 because there is no single explicit end-to-end setup sequence with validation checkpoints tying the sections together.

4 / 5

Progressive Disclosure

The ~260-line body is well-sectioned but entirely inlined, including reference-depth material (Utility Methods, Reference Counting, findFirstObjectRegistration details) that fits the anchor-3 example of "200 lines of API reference that could be in a separate file". It is not a 2 because headers make it navigable, but not a 4 because there are no external reference files at all despite the volume of detail.

3 / 5

Total

16

/

20

Passed

Description

92%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.

A strong description that pairs comprehensive, concrete capability coverage with an explicit and well-phrased trigger clause. Third-person voice is used correctly and there is no padding. The only improvement space is adding a few natural synonyms ("DI", "service locator") to the trigger list.

DimensionReasoningScore

Specificity

Lists multiple concrete, parameterized capabilities — "registration (singleton, factory, lazy, async), scopes with shadowing, async initialization with init() pattern, retrieval, testing with scope-based mocking, and production patterns" — with comprehensive coverage of the library's surface. It exceeds the anchor-4 example (several specific actions, minor gaps) because no significant capability area is missing.

5 / 5

Completeness

Explicitly answers both questions: a clear what ("Expert guidance on get_it service locator and dependency injection for Flutter/Dart. Covers registration…") and a concrete when ("Use when working with get_it, dependency injection, service registration, scopes, or async initialization"), matching the anchor-5 good example pattern exactly. It is not a 4 because the 'when' is already explicit and specific rather than improvable.

5 / 5

Trigger Term Quality

The trigger clause "Use when working with get_it, dependency injection, service registration, scopes, or async initialization" has good natural-phrase coverage, and "service locator" appears in the what-clause. It falls short of anchor 5 because common synonyms like "DI", "service locator" (in the trigger itself), and "registering services" are absent.

4 / 5

Distinctiveness Conflict Risk

"get_it service locator and dependency injection for Flutter/Dart" names a specific package and platform, giving it a clear niche with distinct triggers and minimal conflict risk against generic DI or Flutter-widget skills. Not a 4, since even closely related skills (e.g., watch_it, provider) are disambiguated by the explicit get_it triggers.

5 / 5

Total

19

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
flutter-it/get_it
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.