CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

flutter-device-testing

Operate and verify Flutter apps on a concrete emulator, simulator, browser, desktop, or physical device. Use for target lifecycle, platform-state checks, runtime evidence, and live integration flows; pair with flutter-navigation for route correctness, and do not select it for widget or golden-only work.

Quality

88%

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

92%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 an exemplary orchestration-layer skill: lean directive prose, a sequenced workflow with explicit validation gates and failure-path cleanup, and a well-structured one-level-deep reference bundle with conditional read triggers. The only minor gap is that concrete command syntax for launch and test execution lives entirely in the reference files rather than appearing as inline examples.

DimensionReasoningScore

Conciseness

The ~40-line body is pure directive prose with zero concept explanation (it never explains what Flutter, emulators, or simulators are) and no padding; e.g. "Use the smallest target matrix that proves the changed behavior, then state what was and was not exercised." Every sentence instructs, matching anchor 5's 'lean and efficient; every token earns its place'.

5 / 5

Actionability

Concrete, executable anchors are present throughout: `flutter devices`, `flutter emulators`, `adb`, `simctl`, `idb`, `uiautomator`, `package:integration_test`, and the runner's dry-run/`--execute` gate. It is not a 5 because no complete launch or test command is shown inline (details are deferred to reference files) and some steps remain abstract ("Exercise the exact user flow and relevant lifecycle or platform states"), leaving minor gaps for anchor 4.

4 / 5

Workflow Clarity

The 6-step workflow is clearly sequenced with explicit validation checkpoints: "Resolve one target by stable identifier ... and wait until it is ready", "Verify target readiness ... before changing runtime state", "require the included runner's dry run to exit successfully with the expected plan before adding `--execute`", and error-path cleanup "attempted from its `finally` path after pass, failure, timeout, or command error". This matches anchor 5's explicit validation, feedback gating, and error-recovery coverage, including destructive-op safeguards ("Do not erase, reset, recreate, uninstall from, or clear data ... without explicit need and authorization").

5 / 5

Progressive Disclosure

The body is a lean overview and all six references are one level deep with conditional, clearly signaled triggers ("Read [Android emulator operations] ... when starting or controlling an Android virtual or physical target"); every referenced path exists in the bundle, cross-links between references are flat siblings rather than nested chains, and the bundled script `scripts/run_lifecycle_matrix.py` is integrated via the lifecycle reference. This matches anchor 5's 'clear overview with well-signaled one-level-deep references'.

5 / 5

Total

19

/

20

Passed

Description

78%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, distinct description with an explicit use clause and unusually good conflict management through both positive pairing and negative exclusion. Its main weakness is that the 'when' is phrased as capability categories ('platform-state checks', 'runtime evidence') rather than natural user trigger phrases, and the core verbs ('operate', 'verify') are broad, costing it top marks on specificity and trigger quality.

Suggestions

Rewrite the 'Use for' clause around concrete user-facing trigger phrases, e.g. 'Use when the user asks to run, test, or verify a Flutter app on an emulator, simulator, or real device, or to check app behavior across cold/warm starts, permissions, or push delivery'.

Add natural synonyms users actually say, such as 'integration test', 'run the app', 'adb', or 'device/simulator testing', to raise trigger-term coverage.

Sharpen the 'what' verbs from 'operate and verify' to more concrete operations, e.g. 'Start and manage emulator/simulator targets, launch app builds with flavors and entrypoints, capture screenshots and filtered logs, and run integration test flows on a live device'.

DimensionReasoningScore

Specificity

"Operate and verify Flutter apps" names the core actions, and the description enumerates five concrete target kinds ("emulator, simulator, browser, desktop, or physical device") plus specific use categories ("target lifecycle, platform-state checks, runtime evidence, and live integration flows"). It falls at anchor 4 rather than 5 because the action verbs themselves ('operate', 'verify') are broad rather than sharp concrete operations like 'extract text' or 'fill forms', and it is above anchor 3 because coverage clearly exceeds 1-2 actions.

4 / 5

Completeness

Both parts are present: a clear 'what' ("Operate and verify Flutter apps on a concrete emulator, simulator, browser, desktop, or physical device") and an explicit 'when' ("Use for target lifecycle, platform-state checks, runtime evidence, and live integration flows") plus a negative boundary ("do not select it for widget or golden-only work"). It stops short of anchor 5 because the when-clause lists capability categories rather than concrete user trigger phrases like 'when the user asks to run or test the app on an emulator or real device'.

4 / 5

Trigger Term Quality

Natural keywords users would say are present: "emulator", "simulator", "physical device", "integration flows", "lifecycle". It is not a 5 because common variations are missing (e.g., 'integration test', 'run the app on a device', 'adb', 'device testing'), and phrases like "platform-state checks" and "runtime evidence" lean technical rather than user-spoken; it is above a 3 because the main platform terms users actually use are all covered.

4 / 5

Distinctiveness Conflict Risk

It has a clear niche (device-level runtime operation/verification) with active disambiguation against sibling skills: "pair with flutter-navigation for route correctness" routes overlap away, and "do not select it for widget or golden-only work" excludes a major adjacent domain. This matches anchor 5's 'clear niche with distinct triggers; minimal conflict risk'.

5 / 5

Total

17

/

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-device-testing/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.