Machine Learning integration for Flutter using TensorFlow Lite and Firebase ML
日本語の概要は準備中です。原文の説明を表示しています。
Instructions for translating Google Stitch designs (HTML/Tailwind) into production-ready Flutter/Dart code.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
This skill documents how to translate UI designs generated by Google Stitch (which come as HTML and Tailwind CSS) into Flutter widgets, ensuring alignment with your Flutter project architecture and design system.
Structure Mapping:
<div> with flex -> Column, Row, or Flex.<div> with max-w-md mx-auto -> Center + ConstrainedBox or Container with maxWidth.padding (p-4, px-6) -> Padding widget or padding property in Container/ListView.space-y-4 -> ListView with gap (if available) or Column with SizedBox between items.Style Mapping:
Theme.of(context).colorScheme for dynamic colors. Map Tailwind custom colors (e.g., primary: "#F97316") to the project's brand colors in lib/core/theme/.font-bold) and sizes (text-3xl) to TextTheme scale tokens.
fontSize. Always use Theme.of(context).textTheme.| Tailwind / Style | M3 Type Scale Token | Usage |
|---|---|---|
text-4xl, text-5xl | displayLarge/Medium/Small | Large hero text, brand elements |
text-2xl, text-3xl | headlineLarge/Medium/Small | High-emphasis page headers |
text-xl, font-bold | titleLarge/Medium/Small | Section headers, card titles |
text-base, text-sm | bodyLarge/Medium/Small | Long-form reading, descriptions |
text-xs, uppercase | labelLarge/Medium/Small | Buttons, badges, captions |
* **Shadows**: Map `shadow-lg` to `BoxShadow` in `BoxDecoration`.
* **Border Radius**: Map `rounded-2xl` to `BorderRadius.circular(16)`.
3. Component Mapping:
* button -> ElevatedButton, TextButton, or custom Material + InkWell for complex cards.
* header -> SliverAppBar or a custom AppBar.
* nav -> BottomNavigationBar or a custom navigation widget.
* span.material-icons-round -> Icon(Icons.<icon_name>).
| Tailwind Class | Flutter Equivalent |
|---|---|
bg-white | color: Colors.white |
rounded-xl | borderRadius: BorderRadius.circular(12) |
shadow-md | BoxShadow(color: Colors.black12, blurRadius: 4, offset: Offset(0, 2)) |
border | border: Border.all(color: Colors.grey[200]!) |
flex items-center | Row(crossAxisAlignment: CrossAxisAlignment.center) |
flex flex-col | Column() |
For cards like "Informar de un animal vulnerable", use:
Material(
color: color,
borderRadius: BorderRadius.circular(24),
child: InkWell(
onTap: onTap,
child: Padding(
padding: const EdgeInsets.all(24),
// ... content
),
),
)
Always prioritize using Theme.of(context) to support Dark Mode automatically, as the Stitch designs often include dark: classes.
When translating designs, follow the Atomic Design methodology to ensure components are reusable and well-structured:
| Level | Definition | Stitch/HTML Example | Flutter Equivalent |
|---|---|---|---|
| Atoms | Basic building blocks. | <button>, <input>, <span>, <img> | AppButton, AppTextInput, AppBadge, Icon |
| Molecules | Simple groups functioning together. | Labeled input, Icon + Text pair. | LabeledInput, StatItem, StatusIndicator |
| Organisms | Complex UI sections. | Personal Data Grid, Header with Avatar & Name. | ProfileHeader, FormSection, ActionGrid |
| Templates | Page structure without content. | Page with Header and Sticky Footer. | ProfilePageLayout |
| Pages | Completed page. | Entire screen. | ProfilePage |
When converting designs, always use Theme.of(context).colorScheme tokens. The app uses Brand-Based Dynamic Color, meaning the entire ColorScheme is generated from the Brand Primary seed.
harmonized() extension if you need them to feel more integrated with the brand theme.bg-primary -> colorScheme.primarybg-primary-light -> colorScheme.primaryContainertext-on-primary -> colorScheme.onPrimarybg-surface -> colorScheme.surface.html file from Stitch..png screenshot to understand visual hierarchy and spacing.make dev-mobile-launch
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Machine Learning integration for Flutter using TensorFlow Lite and Firebase ML
日本語の概要は準備中です。原文の説明を表示しています。
Google Maps and Mapbox integration for Flutter applications
日本語の概要は準備中です。原文の説明を表示しています。
Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.
日本語の概要は準備中です。原文の説明を表示しています。
Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.
日本語の概要は準備中です。原文の説明を表示しています。
Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the user wants to think through something before or during a change.
日本語の概要は準備中です。原文の説明を表示しています。
Propose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to build and get a complete proposal with design, specs, and tasks ready for implementation.
日本語の概要は準備中です。原文の説明を表示しています。