migration-webapp-to-flutter
Installation
SKILL.md
Activation Contract
Use this skill when migrating an existing React, Vue, Svelte, Angular, or similar webapp to native Flutter, especially when the user wants an incremental migration that keeps the web version alive during the transition.
Hard Rules
- Do not treat the migration as a rewrite; migrate feature by feature and keep the webapp working.
- Analyze user-facing features before files; a feature may span domain, state, UI, and API code.
- Migrate domain models and pure logic before UI widgets.
- Keep backend APIs and data contracts unchanged unless the user explicitly asks otherwise.
- Use a WebView shell only when the webapp is already deployed and the user needs a working app from day one.
- For each migrated feature, hide the duplicated web section in the WebView and show the native Flutter version.
- Keep
domain/free of Flutter imports; UI belongs infeatures/orwidgets/. - Prefer simple
StatefulWidgetstate; do not add Provider, Riverpod, BLoC, or Redux unless the app clearly needs it.
Decision Gates
| Situation | Action |
|---|