.cursor/skills/theme/SKILL.md
Resolves theme-related tasks in the Flight Booking Flutter app. Use when changing colors, padding, radius, text styles, theme extension, or when the user asks about theme, design system, AppTheme, AppColors, AppPadding, AppRadius, context.appTheme, or MaterialApp theme.
npx skillsauth add VB10/flight_booking flight-booking-themeInstall 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.
Tema ile ilgili her noktada hızlıca doğru API kullan. Tek referans: theme.md (proje kökü).
import 'package:flight_booking/core/theme/theme.dart';Theme.of(context).colorScheme.primary veya context.appTheme.success — asla Colors.blue gibi ham renk kullanma (tema renkleri kullan).AppPadding.p16, AppPadding.horizontal16, AppPadding.vertical8 — sabit sayı yerine AppPadding.AppPagePadding extends EdgeInsets; const constructor kullan (getter yok). Örn: AppPagePadding.all20(), AppPagePadding.horizontalSymmetric(), AppPagePadding.marginBottom15(), AppPagePadding.horizontalSymmetricFree(24).AppRadius.circular12, AppRadius.top8 — sabit sayı yerine AppRadius.Theme.of(context).textTheme.titleLarge veya AppTextStyles.bodyMedium.AppSizes.iconMedium, AppSizes.buttonHeightMedium.context.appTheme.success, context.appTheme.cardBackground, context.appTheme.shimmerBase / shimmerHighlight.context.appTextTheme.displayLarge, context.appTextTheme.bodyMedium vb.ProductText.h1(context, 'Başlık'), ProductText.bodyMedium(context, 'Metin') — context + metin, tema stili otomatik.| İstek / Bağlam | Kullan |
|----------------|--------|
| Primary/error/surface rengi | Theme.of(context).colorScheme.* |
| Başarı/uyarı/bilgi/kart/divider/shimmer | context.appTheme.* |
| Boşluk | AppPadding.* |
| Sayfa boşluk / margin | AppPagePadding.all20(), AppPagePadding.marginBottom15() |
| Köşe yuvarlama | AppRadius.* |
| İkon/buton yüksekliği | AppSizes.* |
| Metin stili | context.appTextTheme.* veya Theme.of(context).textTheme.* |
| Metin widget (başlık/gövde) | ProductText.h1(context, '...'), ProductText.bodyMedium(context, '...') |
lib/core/theme/app_theme_extension.dart — alan ekle, light/dark static’lere değer ver, copyWith ve lerp güncelle.app_padding.dart / app_radius.dart — static getter ekle.app_page_padding.dart — const constructor ekle (EdgeInsets extend), getter kullanma.app_sizes.dart — static const double ekle.app_text_styles.dart — getter ekle ve textTheme’e ekle.Değişiklikten sonra theme.md ve gerekirse bu skill’i güncelle.
lib/core/theme/lib/core/theme/theme.darttheme.mdDetaylı liste ve tüm sabitler için her zaman theme.md dosyasına bak.
tools
Adds or refactors a Flutter feature screen using Cubit (flutter_bloc), Equatable states with copyWith, BlocSelector for single-field listening, BlocBuilder/BlocListener, StatefulWidget + PageMixin for shared controllers, and ValueListenableBuilder for widget-local UI without setState. Registers services via ProductContainer (get_it). Use when the user runs /cubit-add, asks for Cubit + mixin + ValueListenable pattern, or points to docs/prompt/flutter_cubit_feature_prompt.md.
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? | | ------------------------------------------------------ | --------------------------