CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

flutter-state-management

Design or review Flutter state ownership, update flow, and package integration. Use for setState, Listenable, Provider, Riverpod, Bloc, Redux, or custom state problems; preserve the project's established approach unless migration is requested.

Quality

89%

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

The canonical home for this skill is thiennc-tesoglobal/flutter-skills

SKILL.md
Quality
Evals
Security

Quality

Content

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

A lean, high-signal skill body: terse decision rules with API-level specificity, an explicit starting order, a verification section, and well-scoped one-level-deep references that hold the package-specific pitfalls. The main gaps are the absence of any code example for the highest-value rules (watch-vs-read placement, immutable exposure) and a workflow that is implied by section order rather than explicitly stepped.

DimensionReasoningScore

Conciseness

The ~30-line body is lean and assumes Claude's competence: no explanation of what Flutter or state management is, and every bullet ("Keep state as local as its consumers allow", "Avoid broad subscriptions that rebuild unrelated subtrees") is a terse decision rule that earns its tokens. There is no padding to trim, matching the 5 anchor.

5 / 5

Actionability

Guidance is concrete at the API level — "Use the package's watch-style accessor (`ref.watch`, `context.watch<T>()`, `BlocBuilder`) only inside `build`... its one-off accessor (`ref.read`, `context.read<T>()`, a Bloc's `add`) inside callbacks" — with concrete selection criteria ("complexity, team familiarity, testability, code generation tolerance"). It is not fully executable per the 5 anchor: rules like "Expose immutable state or read-only views of mutable collections" and the watch/read rule lack even one code example showing the correct pattern.

4 / 5

Workflow Clarity

Sequencing is explicitly stated ("Start with ownership and lifetime, then choose mechanics") and the Verification section provides explicit checkpoints ("Test meaningful transitions, failure recovery, disposal, and repeated events... run widget tests"). It stops short of the 5 anchor because the Inspect → Rules → Verification flow is implied by section order rather than presented as an explicit step sequence with feedback loops.

4 / 5

Progressive Disclosure

The body keeps general rules inline and splits package-specific depth into two real, one-level-deep reference files, each clearly signaled with a when-to-follow condition ("When disposal behavior or lifecycle leaks are in scope, follow the [lifecycle and disposal reference]..."; "For async state modeling and error recovery, follow the [async state patterns reference]"). Both referenced files exist in references/ and contain no nested references, matching the 5 anchor's well-signaled, appropriately split structure.

5 / 5

Total

18

/

20

Passed

Description

87%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 two-part description: a clear capability statement followed by an explicit "Use for" clause with concrete, natural trigger terms covering the mainstream Flutter state management packages. The only weakness is slight incompleteness in the action list and a few missing synonyms (e.g., "state management" as a phrase, InheritedWidget).

DimensionReasoningScore

Specificity

"Design or review" applied to three concrete areas ("state ownership, update flow, and package integration") plus "preserve the project's established approach" gives several specific actions with only minor gaps (e.g., package selection and rebuild debugging from the body are absent). It exceeds the 3 anchor's "1-2 concrete actions" but is not the comprehensive action list of the 5 anchor.

4 / 5

Completeness

The first sentence explicitly answers "what" ("Design or review Flutter state ownership, update flow, and package integration") and the "Use for setState, Listenable, Provider, Riverpod, Bloc, Redux, or custom state problems" clause explicitly answers "when" with concrete trigger phrases, matching the 5 anchor's structure.

5 / 5

Trigger Term Quality

"setState, Listenable, Provider, Riverpod, Bloc, Redux, or custom state problems" are exactly the terms a Flutter developer naturally says, giving good keyword coverage. A few natural terms are missing (the phrase "state management" itself, InheritedWidget, GetX/ChangeNotifier synonyms), so it falls just short of the 5 anchor's comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

It carves out a clear niche (Flutter state management) with package-name triggers (Riverpod, Bloc, Provider, Redux, setState) that no other skill category would claim. Conflict risk is minimal; not the 4 anchor since it is more than "mostly distinct" — the triggers are unambiguous.

5 / 5

Total

18

/

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

thienqo/flutter-skills

Path

skills/flutter-state-management/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.