material3-expressive-flutter
Expert guidance for building Material 3 Expressive (M3E) Flutter apps. Use when implementing expressive motion, dynamic shapes, and premium components like FAB menus and toolbars.
Works with
---
name: material3-expressive-flutter
description: Expert guidance for building Material 3 Expressive (M3E) Flutter apps. Use when implementing expressive motion, dynamic shapes, and premium components like FAB menus and toolbars.
license: MIT
---
# Material 3 Expressive Flutter
This skill provides comprehensive patterns, scripts, and rules for implementing the **Material 3 Expressive** design system in Flutter. It focuses on physics-based motion, organic shapes, and engagement-driven components.
## How It Works
1. **Requirement Analysis**: When you ask about M3E, the agent analyzes the context (component type, state, importance).
2. **Rule Application**: It applies rules from `rules/` (Motion Physics, Shape Morphing) to ensure design compliance.
3. **Code Generation**: It uses the `scripts/component_template.dart` as a base for premium, accessible, and high-performance components.
4. **Verification**: It audits the output against M3E principles like "Spatial vs Effects Springs" and "Shape Contrast".
## When to Use
- **New Feature Development**: When creating components requiring high user engagement (promos, onboarding, key actions).
- **Design Modernization**: Updating standard M3 apps to the more fluid, expressive style.
- **Expressive Motion**: Implementing spring-based animations for a natural feel.
- **Custom Shapes**: Implementing morphing containers or non-standard rounded shapes.
## Usage
### 1. Scaffold a New Component
Use the template to create a robust, state-aware widget.
```bash
# Path to script
flutter run scripts/component_template.dart
```
### 2. Implementation Strategies
Trigger phrases:
- "Implement a [component] with M3 Expressive style"
- "Add expressive motion to this transition"
- "Modernize this standard M3 button"
- "Audit my UI against M3 Expressive principles"
## Examples
### Spatial Spring Motion (Example)
```dart
// Use for movement and position
Curves.elasticOut; // Strong, tactile response
Cubic(0.34, 1.56, 0.64, 1); // Expressive overshoot
```
### Shape Morphing Container
```dart
AnimatedContainer(
duration: const Duration(milliseconds: 500),
curve: Curves.elasticOut,
decoration: ShapeDecoration(
shape: M3ExpressiveShape.teardrop, // Custom token
color: theme.colorScheme.primaryContainer,
),
);
```
## Reference Guides
- [Motion Guide](references/motion-guide.md) - Spatial vs Effects Springs.
- [Shape System](references/shape-guide.md) - Squircels, Teardrops, and Morphing.
- [Typography Guide](references/typography-guide.md) - Editorial hierarchy.
- [Component Library](references/components/) - Patterns for all M3E components.
## Rules & Standards
1. **Physics Over Duration**: Use springs (Spatial/Effects) instead of fixed durations.
2. **Full Rounding**: Use `StadiumBorder()` for buttons and primary indicators.
3. **Meaningful Feedback**: Always include `HapticFeedback.lightImpact()` for expressive actions.
4. **Accessibility**: Ensure minimum touch targets of 48x48dp and proper `Semantics`.
## Troubleshooting
- **"Animation feels jittery"**: Ensure you aren't using `Curves.linear` or too short a duration (<200ms) with springs.
- **"Shape doesn't morph correctly"**: Ensure you are using `ShapeDecoration` with a custom `ShapeBorder` that supports interpolation.
- **"UI feels flat"**: Check color contrast and ensure you are using filled containers for primary actions.
## Present Results to User
When completing an M3E task, summarize the expressive features added:
- ✅ **Motion**: Applied [Spatial/Effects] springs for [Action].
- ✅ **Shape**: Used [Pill/Teardrop/Squircel] for [Component].
- ✅ **Haptics**: Integrated tactile feedback.
- ✅ **Color**: Dynamic M3 color tokens used.
- ✅ **Accessibility**: Verified touch targets and semantics.More Mobile skills
animation-vocabulary
emilkowalski/skills
Reverse-lookup glossary that turns a vague description of a web animation or motion effect into its exact term ("the bouncy thing when a popover opens" → Pop in; "the iOS rubber-band scroll" → Rubber-banding). Use when the user asks "what's it called when…", or describes a motion effect without knowing its name and wants the right word to prompt an AI or designer with. For naming an effect, not designing or building one.
cross-border-ecommerce
nexscope-ai/ecommerce-skills
Cross-border e-commerce expansion advisor. Scores target markets on 8 weighted dimensions (market size, ecommerce penetration, competition, regulatory complexity, logistics infrastructure, payment ecosystem, cultural distance, IP protection), compares 5 fulfillment models with cost and transit data, provides country-by-country tax/duty compliance guides (EU VAT/IOSS, UK VAT, US sales tax, CA GST, AU GST, JP consumption tax), maps local payment preferences by market, and builds a phased expansion roadmap. No API key required.
developing-genkit-dart
firebase/agent-skills
Generates code and provides documentation for the Genkit Dart SDK. Use when the user asks to build AI agents in Dart, use Genkit flows, or integrate LLMs into Dart/Flutter applications.

