Flutter
When to use
Use this skill for flutter when you need to build a cross-platform Flutter feature with consistent state handling. The expected result is a Flutter feature and widget test plan.
Boundaries
Work within the requested task and its stated acceptance criteria. Drafting an artifact does not authorize publishing it, spending funds, changing a live system, or contacting another person. Identify any such action separately before taking it.
Inputs
Inspect the target devices, OS versions, app lifecycle, permissions, navigation, and network behavior. Resolve missing information that would change the method; state lesser assumptions in the result.
Method
- Diagnose. Map navigation, app lifecycle, permissions, backgrounding, offline use, and platform-specific controls on target devices.
- Decide. Design the smallest native-feeling flow with offline and interruption states.
- Produce. Build a Flutter feature and widget test plan from the inspected material; keep assumptions distinguishable from observed facts.
Decision rules
- Choose shared behavior only where Android and iOS expectations agree; isolate native differences explicitly.
- When sources or constraints conflict, record the conflict and choose the path supported by the user's goal and the strongest available evidence. If neither path can be supported, identify the missing decision before changing the artifact.
Domain rules
- Respect platform navigation, safe areas, accessibility settings, and permission timing.
- Account for backgrounding, flaky networks, and store submission constraints.
Verification
Compare behavior on Android and iOS. Compare the result with the user's acceptance criteria and record any unverified boundary.
Provide a device matrix and test foreground, interrupted, denied-permission, and poor-network flows.
Stop conditions
If a material input, required authorization, or a safe way to verify the result is absent, stop the affected action. Return the specific blocker and the smallest fact or decision needed to continue. Do not report an unrun check as passed.
Output
Provide a Flutter feature and widget test plan. Include the decisive evidence and actual verification result. Name any artifact location and unresolved issue that affects its use.