flutter-design-system | Skill Performance & Reviews | TopRankSkills

TopRank Skills

Home / Skills / tools / flutter-design-system

flutter-design-system

maintained by HoangNguyen0403

star 305 account_tree 90 verified_user MIT License
bolt View GitHub

name: Flutter Design System description: Enforce Design Language System adherence in Flutter. Use when enforcing design tokens, preventing hardcoded colors/spacing, or implementing a DLS in Flutter. metadata: labels: [flutter, dls, design-tokens, theme, styling] triggers: files: [ '/theme/', '/*_theme.dart', '/_colors.dart', '**/_dls/', '/foundation/**', ] keywords: [ ThemeData, ColorScheme, AppColors, VColors, VSpacing, AppTheme, design token, ]

Flutter Design System Enforcement

Priority: P0 (CRITICAL)

Zero tolerance for hardcoded design values.

Phase 0: Context Discovery (MANDATORY)

Before any UI refactoring, you MUST identify the project's Theme Archetype:

  1. Check main.dart: Look for MaterialApp theme configuration.
  2. Determine Pattern:
    • Theme-Driven (Adaptive): If you see VThemeData(...).toThemeData() or extensive ThemeData overrides, you MUST use Theme.of(context).textTheme or theme.textTheme for feature code.
    • Token-Driven (Static): Only use static tokens (VTypography.*) if there is no global theme bridge or if you are defining the theme itself.

Guidelines

  • Colors: Use tokens (VColors.*, AppColors.*), never Color(0xFF...) or Colors.red.
  • Spacing: Use tokens (VSpacing.*), never magic numbers like 16 or 24.
  • Typography: Prioritize theme.textTheme.* for adaptive UI. Use VTypography.* tokens only for theme definitions or non-contextual logic. Never use inline TextStyle.
  • Borders: Use tokens (VBorders.*), never raw BorderRadius.
  • Components: Use DLS widgets (VButton) over raw Material widgets (ElevatedButton) if available.

Detailed Examples

Anti-Patterns

  • No Hex Colors: Color(0xFF...) is strictly forbidden.
  • No Color Enums: Colors.blue is forbidden in UI code.
  • No Magic Spacing: SizedBox(height: 10) is forbidden.
  • No Inline Styles: TextStyle(fontSize: 14) is forbidden.
  • No Raw Widgets: Don't use ElevatedButton when VButton exists.

Related Topics

mobile-ux-core | flutter/widgets | idiomatic-flutter

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!

Skill Details

GitHub Stars 305
GitHub Forks 90
Created Mar 2026
Last Updated 3 months ago
tools tools ide plugins

Related Skills

writing-skills
chevron_right
codex
chevron_right
smart-illustrator
chevron_right
collaborating-with-codex
chevron_right
code-review-router
chevron_right

Build your own?

Join 12,000+ developers contributing to the Claude ecosystem.