スキル一覧に戻る
luvi-team

figma-to-flutter

by luvi-team

LUVI – Femtech Flutter App (Flutter + Supabase + DSGVO)

0🍴 0📅 2026年1月25日
GitHubで見るManusで実行

SKILL.md


name: figma-to-flutter description: Use when you need to convert a Figma design or screenshot into Flutter code with design tokens

Figma → Flutter Skill

Overview

Converts Figma designs into Flutter code using LUVI's design token system (DsColors, Spacing, Sizes).

When to Use

  • You have a Figma screenshot or design to implement
  • You're building a new screen or component from a visual reference
  • Keywords in request: "Figma", "Screenshot", "recreate from", "implement screen", "UI-Design", "Mockup"

When NOT to Use

  • Pure logic/backend changes without UI
  • Refactoring existing screens (no new design)
  • Bug fixes in existing UI

Workflow

1. Extract Colors

grep -n "Figma: #HEXCODE" lib/core/design_tokens/colors.dart
  • Found → Use existing token
  • Not found → Create new token with /// Figma: #HEXCODE

2. Extract Spacing

grep -n "Figma: XXpx" lib/core/design_tokens/spacing.dart

3. Extract Sizes

grep -n "Figma: XXpx" lib/core/design_tokens/sizes.dart

4. Token Creation (if not found)

When adding new tokens, follow these patterns:

Color Token (lib/core/design_tokens/colors.dart):

/// Figma: #E91E63 (Primary CTA Pink)
static const Color primaryCtaPink = Color(0xFFE91E63);

Spacing Token (lib/core/design_tokens/spacing.dart):

/// Figma: 24px (Screen padding)
static const double screenPadding = 24.0;

Size Token (lib/core/design_tokens/sizes.dart):

/// Figma: 56px (Large button height)
static const double buttonHeightL = 56.0;

Naming Convention:

  • Use camelCase for all token names
  • Include context in name: cardBackgroundNeutral, not just neutral
  • Comment format: /// Figma: #HEXCODE (Context) or /// Figma: XXpx (Context)

5. Find Reference Screen

  • Glob: lib/features/*/screens/*.dart
  • Auth: lib/features/auth/screens/
  • Onboarding: lib/features/onboarding/screens/

6. Implement with:

  • DsColors.* for colors
  • Spacing.* for spacing
  • Sizes.* for dimensions
  • Semantics(label: AppLocalizations.of(context)!.xxx) for A11y

7. Create Widget Test

  • Under test/features/{feature}/
  • Use buildTestApp from test/support/test_app.dart

8. Verify

scripts/flutter_codex.sh analyze

Quick Reference

See TOKEN_MAPPING.md for Figma Hex → Flutter Token mappings.

Common Mistakes

MistakeFix
Hardcoded colors Color(0xFF...)Use DsColors.* token
Hardcoded spacing EdgeInsets.all(16)Use Spacing.m
Missing SemanticsAdd Semantics(label: l10n.xxx)
Forgot Widget TestAlways create test under test/features/
fontWeight: FontWeight.w400 for Variable FontsUse fontVariations: [FontVariation('wght', 400)]
Variable Font without fontVariationsFigtree/Playfair always require fontVariations

スコア

総合スコア

50/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です