/SKILL.md
Toolkit for styling Flutter apps with a theme. Apply pre-built or custom ThemeData configurations to any Flutter app — including full ColorScheme, TextTheme, component themes, and dark/light mode support. 12 pre-set themes available, or generate a custom theme on-the-fly.
npx skillsauth add syeduzaif/flutter-theme-factory flutter-theme-factoryInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill provides a curated collection of professional Flutter ThemeData configurations, each with carefully selected color palettes, Google Fonts pairings, and component-level theming. Once a theme is chosen, it generates production-ready Dart code.
To apply consistent, professional styling to any Flutter application. Each theme includes:
ColorScheme with light and dark variantsAppBarTheme, CardTheme, ElevatedButtonTheme, InputDecorationTheme, etc.)themes/ and generate complete Dart codeapp_theme.dart, app_colors.dart, app_typography.dart ready to drop into their project| # | Theme | Vibe | Best For | |---|-------|------|----------| | 1 | Ocean Depths | Professional & calming maritime | Finance, consulting, corporate | | 2 | Sunset Boulevard | Warm & vibrant energy | Social, lifestyle, food delivery | | 3 | Forest Canopy | Natural & grounded earth tones | Wellness, sustainability, outdoor | | 4 | Modern Minimalist | Clean & contemporary grayscale | Productivity, SaaS, developer tools | | 5 | Golden Hour | Rich & warm autumnal | Photography, luxury, premium | | 6 | Arctic Frost | Cool & crisp winter-inspired | Healthcare, fintech, analytics | | 7 | Desert Rose | Soft & sophisticated dusty tones | Fashion, beauty, lifestyle | | 8 | Tech Innovation | Bold & modern tech aesthetic | Startups, AI/ML, developer | | 9 | Botanical Garden | Fresh & organic garden colors | Health, organic food, plants | | 10 | Midnight Galaxy | Dramatic & cosmic deep tones | Gaming, entertainment, music | | 11 | Neon Tokyo | Cyberpunk, high contrast neon | Gaming, nightlife, tech | | 12 | Terracotta Studio | Warm clay, artisan craft | Art, handmade, interior design |
Each theme generates:
lib/core/theme/
├── app_theme.dart # ThemeData for light & dark mode
├── app_colors.dart # Color constants & ColorScheme
├── app_typography.dart # Google Fonts TextTheme
└── app_spacing.dart # Consistent spacing scale
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'app_colors.dart';
import 'app_typography.dart';
class AppTheme {
static ThemeData get light => ThemeData(
useMaterial3: true,
brightness: Brightness.light,
colorScheme: AppColors.lightScheme,
textTheme: AppTypography.textTheme,
appBarTheme: AppBarTheme(...),
cardTheme: CardTheme(...),
elevatedButtonTheme: ElevatedButtonThemeData(...),
inputDecorationTheme: InputDecorationTheme(...),
bottomNavigationBarTheme: BottomNavigationBarThemeData(...),
floatingActionButtonTheme: FloatingActionButtonThemeData(...),
chipTheme: ChipThemeData(...),
dividerTheme: DividerThemeData(...),
// ... all component themes
);
static ThemeData get dark => ThemeData(
useMaterial3: true,
brightness: Brightness.dark,
colorScheme: AppColors.darkScheme,
textTheme: AppTypography.textTheme,
// ... dark variants
);
}
import 'package:flutter/material.dart';
class AppColors {
// Brand colors
static const Color primary = Color(0xFF...);
static const Color secondary = Color(0xFF...);
static const Color accent = Color(0xFF...);
static const Color surface = Color(0xFF...);
// Semantic colors
static const Color success = Color(0xFF...);
static const Color warning = Color(0xFF...);
static const Color error = Color(0xFF...);
static const Color info = Color(0xFF...);
// Gradients
static const LinearGradient primaryGradient = LinearGradient(...);
static const LinearGradient backgroundGradient = LinearGradient(...);
// Light scheme
static const ColorScheme lightScheme = ColorScheme(
brightness: Brightness.light,
primary: ...,
onPrimary: ...,
secondary: ...,
onSecondary: ...,
surface: ...,
onSurface: ...,
error: ...,
onError: ...,
// ... all 30+ ColorScheme properties
);
// Dark scheme
static const ColorScheme darkScheme = ColorScheme(
brightness: Brightness.dark,
// ... dark variants
);
}
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
class AppTypography {
static String get _displayFont => GoogleFonts.playfairDisplay().fontFamily!;
static String get _bodyFont => GoogleFonts.sourceSansPro().fontFamily!;
static TextTheme get textTheme => TextTheme(
displayLarge: TextStyle(fontFamily: _displayFont, fontSize: 57, fontWeight: FontWeight.w700),
displayMedium: TextStyle(fontFamily: _displayFont, fontSize: 45, fontWeight: FontWeight.w600),
displaySmall: TextStyle(fontFamily: _displayFont, fontSize: 36, fontWeight: FontWeight.w600),
headlineLarge: TextStyle(fontFamily: _displayFont, fontSize: 32, fontWeight: FontWeight.w600),
headlineMedium: TextStyle(fontFamily: _displayFont, fontSize: 28, fontWeight: FontWeight.w500),
headlineSmall: TextStyle(fontFamily: _displayFont, fontSize: 24, fontWeight: FontWeight.w500),
titleLarge: TextStyle(fontFamily: _bodyFont, fontSize: 22, fontWeight: FontWeight.w600),
titleMedium: TextStyle(fontFamily: _bodyFont, fontSize: 16, fontWeight: FontWeight.w600),
titleSmall: TextStyle(fontFamily: _bodyFont, fontSize: 14, fontWeight: FontWeight.w500),
bodyLarge: TextStyle(fontFamily: _bodyFont, fontSize: 16, fontWeight: FontWeight.w400),
bodyMedium: TextStyle(fontFamily: _bodyFont, fontSize: 14, fontWeight: FontWeight.w400),
bodySmall: TextStyle(fontFamily: _bodyFont, fontSize: 12, fontWeight: FontWeight.w400),
labelLarge: TextStyle(fontFamily: _bodyFont, fontSize: 14, fontWeight: FontWeight.w600),
labelMedium: TextStyle(fontFamily: _bodyFont, fontSize: 12, fontWeight: FontWeight.w500),
labelSmall: TextStyle(fontFamily: _bodyFont, fontSize: 11, fontWeight: FontWeight.w500),
);
}
After a preferred theme is selected:
themes/ directoryapp_theme.dart, app_colors.dart, app_typography.dart, app_spacing.dartpubspec.yaml dependency additions (google_fonts, etc.)main.dart:MaterialApp(
theme: AppTheme.light,
darkTheme: AppTheme.dark,
themeMode: ThemeMode.system,
...
)
For cases where none of the existing themes work:
When showing a theme preview, generate a ThemePreview widget that displays:
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.