Anti-slop mobile UI design, ergonomics, chiaroscuro theming, haptics, and fluid micro-animations for Flutter.
Caravaggio is an open-source agentic AI skill for Flutter and Mobile UI development. Inspired by Caravaggio's dramatic mastery of light and shadow (chiaroscuro), this skill enforces high-end mobile usability heuristics, physical touch ergonomics, tactile feedback, and fluid motion—preventing AI coding tools (Claude Code, Cursor, Gemini, Antigravity) from generating generic, unpolished "Material slop".
Install Caravaggio in your AI agent workspace using npx skills:
npx skills add <your-github-username>/caravaggio- Zero Hardcoded Colors: Always consumes
Theme.of(context).colorScheme. - WCAG AA Contrast: Enforces minimum 4.5:1 contrast ratios in both Light and Dark themes.
- Minimum Touch Target: 48x48 dp (Material) / 44x44 pt (iOS HIG) minimum tap target for all interactive elements.
- Thumb Zone Layout: Primary actions concentrated in the lower 1/3 of the viewport.
- Immediate Feedback: Taps provide instant visual scaling (
0.96) or opacity changes. - Haptic Triggers:
HapticFeedback.lightImpact(),selectionClick(), andmediumImpact().
- Implicit Animations: 200–300ms transitions (
AnimatedContainer,AnimatedSwitcher,Hero). - Floating UI: Bottom sheets and modals slide in softly from below, never popping instantly.
- Keyboard Evasion: Automatic
SingleChildScrollView+viewInsetshandling to prevent active input overlap. - Tap-Outside Dismiss: Auto-unfocus keyboard when tapping empty space.
- Optical Alignment: Adjusts icons and text optically, avoiding raw mathematical misalignments.
-
Subtle Shadows: Black shadows with
$\le 10%$ opacity and blur radius at least$2\times$ the offset. -
Cached Images: Enforces
CachedNetworkImage/expo-imagewith disk caching and BlurHash. -
Pure Widgets: Forbids nested helper render functions; extracts standalone
constwidgets.
- Empty & Skeleton States: Requires illustrations + CTA for empty lists, and Shimmer loaders for loading states.
- System Design Respect: Preserves native iOS swipe-back gestures and Android system bars without unauthorized overrides.
| Command | Action |
|---|---|
/caravaggio build |
Generates a new Flutter screen enforcing all Caravaggio heuristics |
/caravaggio audit |
Evaluates existing Flutter code for mobile ergonomics and UI anti-patterns |
/caravaggio redesign |
Upgrades generic Flutter widgets into polished, tactile, anti-slop mobile interfaces |
Apache-2.0 License © Diego22rct