Implement, repair, or review embedded web content in Flutter, including navigation policy, JavaScript bridges, cookies, sessions, file flows, permissions, and WebView lifecycle. Use when a Flutter screen hosts web content; route OAuth sign-in to flutter-authentication, app routes to flutter-navigation, and broad threat audits to flutter-security.
91%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
The canonical home for this skill is thiennc-tesoglobal/flutter-skills
Treat a WebView as an untrusted web runtime embedded inside a privileged application process. Preserve the project's current WebView package, web contract, router, session owner, and supported platforms unless migration is requested.
Do not add a WebView package, native manifest change, or domain/redirect registration merely because the skill is selected.
Read pubspec.yaml, SDK constraints, the selected WebView package and version, platform targets, platform manifests and entitlements, loaded origins and redirects, JavaScript settings and channels, cookies and website data, authentication ownership, file and permission flows, app navigation, lifecycle handling, and tests. Confirm the package's current platform support before promising cross-platform behavior; embedded web content on Flutter web can use different primitives and constraints from system WebViews on Android, iOS, or macOS.
Prefer native Flutter UI for app-owned interaction when it provides the required fidelity and accessibility. Use an embedded browser only for a concrete content or integration requirement. Do not replace the existing package with webview_flutter or another dependency by default.
flutter-authentication owns OAuth or OIDC, PKCE, verified redirects, token lifecycle, logout semantics, and account switching. Native-app authorization uses an external user-agent rather than an embedded WebView.flutter-navigation owns Flutter routes, deep-link destinations, browser URL synchronization, and back-stack correctness outside the embedded page.flutter-security owns threat modeling and repository-wide WebView hardening audits; this skill implements the scoped content, bridge, and lifecycle contract.flutter-networking owns ordinary API transport. Do not tunnel app API behavior through JavaScript just because a WebView exists.flutter-platform-integration owns custom native WebView capabilities or platform-view bridges when the established plugin cannot satisfy a required API.flutter-device-testing owns concrete device and emulator execution; this skill defines the WebView behaviors that must be observed.Use deterministic local or staging content controlled for the test, plus real supported platform runtimes for system-WebView behavior. Cover allowed and blocked top-level navigation, redirects, subframes where observable, external schemes, back behavior, JavaScript disabled and enabled states, malformed and replayed messages, account switch and logout, offline and HTTP failure, process recreation, disposal during callbacks, file cancellation and invalid selection, permission denial, and download ownership as applicable.
Record the package and version, platform and OS, WebView engine, tested origins, JavaScript and data-store policy, and which provider or backend boundary was actually observed. Widget tests can verify policy functions and state ownership; they do not prove system WebView rendering, cookie persistence, chooser behavior, permissions, downloads, or navigation callbacks on a device.
thienqo/flutter-skills
a177189
Canonical home
since Sep 2, 2026
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.