npx skills add https://www.modelscope.cn/skills/@majiayu000/flutter-ui-design
k9i-0/flutter_claude_sandbox · Archived
flutter-ui-design
FlutterアプリのモダンUIデザインガイドライン。Material Design 3をベースに、洗練されたビジュアルを実現。
Installation
npx skills add k9i-0/flutter_claude_sandbox --skill flutter-ui-design
Stronger alternatives
This repository is archived — consider an actively maintained alternative.
Architects a Flutter application using the recommended layered approach (UI, Logic, Data). Use …
34.4K installsUse `LayoutBuilder`, `MediaQuery`, or `Expanded/Flexible` to create a layout that adapts to dif…
33.3K installsFixes Flutter layout errors (overflows, unbounded constraints) using Dart and Flutter MCP tools…
31.9K installsImplement a component-level test using `WidgetTester` to verify UI rendering and user interacti…
31.1K installsSimilar popular skills
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Guidance for distinctive, intentional visual design when building new UI or reshaping an existi…
866.4K installsBrowser automation CLI for AI agents. Use when the user needs to interact with websites, includ…
810.4K installsReview UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "chec…
617.3K installsBuild, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and …
576.5K installsDebug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe …
568.9K installsMore details
Agent compatibility
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
Also listed on
Alternate registries and mirrors of this skill.
Repository health
main
Package contents
Files included with this skill beyond the listing page.
-
skill md
SKILL.md8,023 B -
docs
SUMMARY.md165 B
History
- First seen on skills.sh
- First recorded snapshot · 1 installs
SKILL.md
Flutter UI Design Guidelines
Purpose
このスキルは、FlutterアプリのUIを「ありきたりなデフォルト」から脱却させ、プロフェッショナルで印象的なデザインを実現するためのガイドラインを提供します。
Typography(タイポグラフィ)
避けるべきパターン
- デフォルトの
Robotoのみの使用 - 単調なフォントウェイト(Regular/Boldのみ)
- 均一なテキストサイズ
推奨アプローチ
// Google Fontsでモダンなフォントを使用
import 'package:google_fonts/google_fonts.dart';
// タイトル用: 個性的なディスプレイフォント
GoogleFonts.poppins(fontWeight: FontWeight.w700)
GoogleFonts.inter(fontWeight: FontWeight.w800)
GoogleFonts.plusJakartaSans()
// 本文用: 読みやすいサンセリフ
GoogleFonts.inter()
GoogleFonts.dmSans()
// コントラストを意識したサイズ階層
headlineLarge: 32sp, weight: 800
headlineMedium: 24sp, weight: 700
titleLarge: 20sp, weight: 600
bodyLarge: 16sp, weight: 400
labelSmall: 12sp, weight: 500
フォントウェイトの活用
- 極端なコントラスト:
w300とw800を組み合わせる - 見出しは太く(w600-w800)、本文は通常(w400)
Color & Theme(カラー・テーマ)
避けるべきパターン
- Material Design のデフォルト青/紫
- 控えめで均等なカラーパレット
- 灰色ばかりの無難なUI
推奨アプローチ
// ダークテーマ: 深みのある背景 + 鮮やかなアクセント
ColorScheme.dark(
surface: Color(0xFF0F0F14), // 深いダークグレー
surfaceContainerHighest: Color(0xFF1A1A23),
primary: Color(0xFF6366F1), // 鮮やかなインディゴ
secondary: Color(0xFF22D3EE), // シアンアクセント
tertiary: Color(0xFFF472B6), // ピンクアクセント
)
// ライトテーマ: クリーンな白 + ビビッドなアクセント
ColorScheme.light(
surface: Color(0xFFFAFAFC),
surfaceContainerHighest: Color(0xFFF1F5F9),
primary: Color(0xFF4F46E5), // インディゴ
secondary: Color(0xFF0EA5E9), // スカイブルー
tertiary: Color(0xFFEC4899), // ピンク
)
カラー活用のポイント
- Dominant Color: 1つのプライマリカラーを大胆に使用
- Sharp Accents: セカンダリカラーはアクセントとして控えめに
- Semantic Colors: 成功=緑、エラー=赤、警告=黄は直感的に
Elevation & Depth(立体感)
避けるべきパターン
- フラットすぎるデザイン
- 均一なelevation
- 影の乱用
推奨アプローチ
// カードに微妙な立体感
Card(
elevation: 0,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(16),
),
color: theme.colorScheme.surfaceContainerHighest,
child: ...
)
// ソフトシャドウ(コントラスト控えめ)
BoxDecoration(
borderRadius: BorderRadius.circular(16),
boxShadow: [
BoxShadow(
color: Colors.black.withOpacity(0.04),
blurRadius: 10,
offset: Offset(0, 4),
),
],
)
// グラスモーフィズム効果
ClipRRect(
borderRadius: BorderRadius.circular(16),
child: BackdropFilter(
filter: ImageFilter.blur(sigmaX: 10, sigmaY: 10),
child: Container(
color: Colors.white.withOpacity(0.1),
child: ...
),
),
)
Motion & Animation(アニメーション)
避けるべきパターン
- アニメーションなしの硬いUI
- 過剰で散漫なアニメーション
- 一貫性のないタイミング
推奨アプローチ
// ページ遷移: スムーズなフェード+スライド
PageRouteBuilder(
transitionDuration: Duration(milliseconds: 300),
pageBuilder: (_, __, ___) => DestinationPage(),
transitionsBuilder: (_, animation, __, child) {
return FadeTransition(
opacity: animation,
child: SlideTransition(
position: Tween<Offset>(
begin: Offset(0, 0.05),
end: Offset.zero,
).animate(CurvedAnimation(
parent: animation,
curve: Curves.easeOutCubic,
)),
child: child,
),
);
},
)
// リスト項目: Staggered Animation
AnimatedList + interval-based delays
// タップフィードバック: 微細なスケール
Transform.scale(
scale: isPressed ? 0.98 : 1.0,
child: AnimatedContainer(
duration: Duration(milliseconds: 100),
...
),
)
タイミングの指針
- 短い操作(タップ): 100-150ms
- 画面遷移: 250-350ms
- 複雑なアニメーション: 400-600ms
- Curve:
easeOutCubic、easeInOutCubicを基本に
Layout & Spacing(レイアウト・余白)
避けるべきパターン
- 詰まりすぎたUI
- 不規則なパディング
- 要素間の余白不足
推奨アプローチ
// 8px基準のスペーシングシステム
const spacing = (
xs: 4.0,
sm: 8.0,
md: 16.0,
lg: 24.0,
xl: 32.0,
xxl: 48.0,
);
// コンテンツエリアの余白
Padding(
padding: EdgeInsets.symmetric(horizontal: 20, vertical: 16),
child: ...
)
// カード内の余白は外より大きく
Card(
child: Padding(
padding: EdgeInsets.all(20),
child: ...
),
)
// 要素間のギャップ
SizedBox(height: 16) // 関連要素間
SizedBox(height: 32) // セクション間
Components(コンポーネント)
ボタン
// プライマリボタン: 角丸 + 十分なパディング
FilledButton(
style: FilledButton.styleFrom(
padding: EdgeInsets.symmetric(horizontal: 24, vertical: 16),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12),
),
),
child: Text('Action'),
)
// アウトラインボタン
OutlinedButton(
style: OutlinedButton.styleFrom(
side: BorderSide(color: theme.colorScheme.outline, width: 1.5),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12),
),
),
)
入力フィールド
TextField(
decoration: InputDecoration(
filled: true,
fillColor: theme.colorScheme.surfaceContainerHighest,
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(12),
borderSide: BorderSide.none,
),
focusedBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(12),
borderSide: BorderSide(
color: theme.colorScheme.primary,
width: 2,
),
),
contentPadding: EdgeInsets.symmetric(horizontal: 16, vertical: 16),
),
)
FAB
FloatingActionButton(
elevation: 2,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(16),
),
child: Icon(Icons.add),
)
Background(背景)
推奨テクニック
// グラデーション背景
Container(
decoration: BoxDecoration(
gradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
theme.colorScheme.surface,
theme.colorScheme.surface.withOpacity(0.95),
],
),
),
)
// サブトルなパターン(ドット、グリッド)
CustomPaint(
painter: DotPatternPainter(
color: theme.colorScheme.outline.withOpacity(0.05),
spacing: 20,
),
)
Checklist
UIを実装する際のチェックリスト:
- デフォルトフォント以外を使用しているか
- カラーパレットにアクセントカラーがあるか
- 適切な余白・パディングが設定されているか
- インタラクションにフィードバック(アニメーション)があるか
- コンポーネントの角丸が統一されているか(12-16px推奨)
- テキストの階層(サイズ・ウェイト)が明確か