flutter-device-testing
Skill16 starsChanged 2 months agoBSD-3-ClauseView on GitHub
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.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- thiennc-tesoglobal/flutter-skillsword for word, first seen Aug 30, 2026
Other versions1 project uses a version of this.
Word for word · 1
- thiennc-tesoglobal/flutter-skills★ 16100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository39 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- dart-concurrencySkill
- dart-languageSkill
- flutter-accessibilitySkill
- flutter-ai-integrationSkill
- flutter-animationSkill
- flutter-app-workflowSkill
- flutter-architectureSkill
- flutter-authenticationSkill
- flutter-background-executionSkill
- flutter-build-releaseSkill
- flutter-ci-cdSkill
- flutter-code-reviewSkill
- flutter-dependency-upgradesSkill
- flutter-figma-workflowSkill
- flutter-in-app-purchasesSkill
- flutter-localizationSkill
- flutter-mediaSkill
- flutter-navigationSkill
- flutter-networkingSkill
- flutter-notificationsSkill
- flutter-observabilitySkill
- flutter-openapi-clientSkill
- flutter-package-developmentSkill
- flutter-performanceSkill
- flutter-persistenceSkill
- flutter-platform-integrationSkill
- flutter-product-analyticsSkill
- flutter-responsive-layoutSkill
- flutter-runtime-debuggingSkill
- flutter-securitySkill
- flutter-state-managementSkill
- flutter-testingSkill
- flutter-text-renderingSkill
- flutter-ui-designSkill
- flutter-ui-patternsSkill
- flutter-visual-effectsSkill
- flutter-webviewSkill
The file
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 4 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Use the smallest target matrix that proves the changed behavior, then state what was and was not exercised.
- Distinctive: line 19
Verify target readiness and the flavor-specific application identity before changing runtime state.
- Distinctive: line 33
Read device discovery and emulators for shared target selection, ownership, readiness, safety, and evidence rules.
- Very specific: line 34
Read Android emulator operations when starting or controlling an Android virtual or physical target with Flutter and adb.
- Very specific: line 35
Read iOS Simulator operations when controlling Simulator with Flutter and simctl, including permissions, location, screenshots, or …
- Very specific: line 36
Read semantic UI inspection when an agent must read or drive a running app through the platform accessibility tree (idb, uiautomator), when …
- Very specific: line 37
Read integration test workflows when writing or running package:integration_test suites, deep links, or smoke tests on a live target.
- Distinctive: line 38
Read lifecycle entry matrix when deep links or notification taps must be replayed across cold/warm start, authentication, duplicate …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Flutter Device Testing
Use the smallest target matrix that proves the changed behavior, then state what was and was not exercised. Identify the runtime target separately from the data source used by the flow.
Discover before acting
Inspect the project's SDK, supported platforms, flavors, entrypoints, and existing test tooling. Run flutter devices and, when a virtual target must be started, flutter emulators. Resolve one target by stable identifier, record whether it is reused or task-created, and wait until it is ready. Do not erase, reset, recreate, uninstall from, or clear data on a user's target without explicit need and authorization.
Prefer Flutter CLI and available Dart and Flutter MCP capabilities for Flutter-owned state. Use adb or simctl only for platform control they actually provide. Flutter finders cannot operate native system UI such as permission dialogs, notification trays, or platform views; use a native-capable harness already adopted by the project when that interaction is required. Do not introduce Patrol, Maestro, Appium, or another framework merely because it is familiar.
Workflow
- Confirm dependencies and generated code are ready without changing the project's package or architecture choices.
- Verify target readiness and the flavor-specific application identity before changing runtime state.
- Launch with the correct flavor, entrypoint, defines, and build mode; never place credentials in command arguments or retained artifacts.
- Exercise the exact user flow and relevant lifecycle or platform states. Distinguish state injection from observing the real prompt, provider, or OS delivery path.
- Capture focused assertions, screenshots, and filtered logs that correspond to the tested build. Run the project's integration or native-UI harness when durable automation is required.
- Restore task-created target overrides and remove only task-owned artifacts, including after failures.
Reliability
Do not assume a successful build, launch command, or OS trigger proves correct app behavior. Prefer semantic finders, accessibility identifiers, or integration APIs over hardcoded coordinates, and prefer bounded readiness conditions over arbitrary sleeps. A warm-start claim requires an explicit precondition proving the intended process and UI state before the trigger. When using the lifecycle runner, confirm that every hook inherits its bounded timeout and that after cleanup is attempted from its finally path after pass, failure, timeout, or command error.
Report target kind and a safe label, OS/runtime, build mode, flavor, entrypoint or relevant defines, exact flow, data source, assertions, artifacts, and skipped boundaries. Do not publish a raw physical-device identifier by default. Emulator or simulator behavior is functional evidence, not physical-hardware performance, GPU, camera, sensor, OEM, or production push evidence. Route benchmark attribution to flutter-performance and verify stronger hardware claims in profile or release-like mode on representative physical devices.
References
- Read device discovery and emulators for shared target selection, ownership, readiness, safety, and evidence rules.
- Read Android emulator operations when starting or controlling an Android virtual or physical target with Flutter and
adb. - Read iOS Simulator operations when controlling Simulator with Flutter and
simctl, including permissions, location, screenshots, or simulated push. - Read semantic UI inspection when an agent must read or drive a running app through the platform accessibility tree (
idb,uiautomator), when that tree is empty for a Flutter screen, or when stableSemanticsidentifiers are needed instead of coordinates or repeated screenshots. - Read integration test workflows when writing or running
package:integration_testsuites, deep links, or smoke tests on a live target. - Read lifecycle entry matrix when deep links or notification taps must be replayed across cold/warm start, authentication, duplicate delivery, slow data, or account changes. Resolve placeholders and require the included runner's dry run to exit successfully with the expected plan before adding
--execute.
Sources
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

