flutter-animations
Flutterにおけるアニメーションやモーションエフェクトの追加・修正・リファクタリング・デバッグ・テスト・解説を行います。AnimatedContainerやAnimatedOpacity、TweenAnimationBuilderなどの暗黙的アニメーション、AnimationControllerやCurvedAnimationを用いた明示的アニメーション、Heroによる画面遷移、スタガードアニメーション、物理ベースのモーション・ジェスチャー・スクロール物理、パフォーマンス最適化、アクセシビリティ対応、アニメーションライフサイクルのバグ修正まで幅広く対応します。
description の原文を見る
>- Add, fix, refactor, debug, test, or explain Flutter animations and motion effects. Use when working with implicit animations such as AnimatedContainer, AnimatedOpacity, AnimatedSwitcher, and TweenAnimationBuilder; explicit animations using AnimationController, Tween, CurvedAnimation, AnimatedWidget, AnimatedBuilder, and built-in transitions; Hero/shared-element route transitions; staggered or sequenced animations; physics-based motion, gestures, springs, flings, scroll physics, curves, performance, accessibility, reduced motion, and animation lifecycle bugs.
SKILL.md 本文
Flutter Animations
Flutter のモーション実装スペシャリストです。アプリの既存のウィジェット構造、状態モデル、ナビゲーション、テーマ、パフォーマンス制約に適したアニメーション変更を構築します。
原則 0
モーションは隠れた状態やベリファイされていないデモコードになってはいけません。アニメーションロジックを追加または変更する前に、ターゲットウィジェット、ライフサイクル、ルート構造、既存パターンを検査してください。変更後、アナライザで Dart がクリーンであることを確認し、実行またはビジュアル確認ができないアニメーション動作を指摘してください。
ワークフロー
- ユーザーの実際のリクエストを特定する:新しいアニメーション追加、破損アニメーションの修正、アニメーションコードのリファクタリング、ジャンク/ライフサイクル動作のデバッグ、パターン説明、またはスタンドアロン例の提供。
- コードが利用可能な場合、ローカル Flutter コンテキストを最初に検査する:ウィジェットツリー、状態管理、ナビゲーション手法、アセット、テスト、テーミング、アクセシビリティヘルパー、既存アニメーション抽象化。
- 動作を満たす最小のアニメーションモデルを選択する:
- 簡単な状態駆動プロパティ変更には暗黙的アニメーションを使用する。
- ライフサイクル制御、反復/可逆モーション、ジェスチャ、複数の協調プロパティ、またはカスタム遷移には明示的アニメーションを使用する。
- ルート遷移間の共有要素には Hero を使用する。
- 複数の要素がシーケンスまたはオーバーラップするタイミングが必要な場合は段階的アニメーションを使用する。
- 速度、スプリング、ドラッギング、フリング、またはスクロールのようなモーションに依存する場合は物理を使用する。
- アプリのスタイルで実装する。ユーザーがリファクタリングをリクエストした場合を除き、既存のパブリック API を保持する。ライフサイクルを所有している状態オブジェクトでコントローラを所有し、それらを破棄し、ビルドメソッド内でアニメーション状態を作成しないでください。
- 本番アニメーションパターンを優先する:
AnimatedBuilder、AnimatedWidget、組み込み遷移、子キャッシング、安定したキー、小さい再構築領域。アニメーションリスナーでsetState()を使用するのは最小限の例またはより狭い再構築パスが実用的でない場合のみ。 - アクセシビリティとユーザー設定を尊重する。
MediaQuery.disableAnimationsまたは既存の削減モーション方針を非必須モーション用にチェックし、モーションが使いやすさを損なう可能性がある場合は高速/静的パスを提供する。 - 利用可能な最も強力なローカルチェックで検証する。最小限、タッチされた Dart ファイルまたは関連する Flutter プロジェクトでアナライザを実行する。アニメーション動作、ナビゲーション、またはジェスチャがリクエストされた変更の一部である場合、ウィジェット/ゴールデンまたはインテグレーションテストを実行する。
決定ガイド
| 必要性 | デフォルトアプローチ |
|---|---|
| 1 つのプロパティまたは少数の状態駆動ビジュアル変更 | AnimatedContainer、AnimatedOpacity、AnimatedAlign、AnimatedPadding、AnimatedSwitcher、または TweenAnimationBuilder |
| 完全なライフサイクル制御、反復/反転/状態、またはジェスチャ駆動値 | Tween、CurvedAnimation、AnimatedBuilder、または AnimatedWidget を伴う AnimationController |
| ルート間の共有ビジュアル要素 | 安定した一意のタグと互換性のあるソース/デスティネーションウィジェットツリーを持つ Hero |
| リスト/メニュー/カード表示とオフセットタイミング | 1 つのコントローラと Interval、またはライフサイクルが本当に異なる場合のみ項目ごとのアニメーション |
| スプリング/フリング/ドラッグまたはプラットフォームスクロールフィール | fling、animateWith、SpringSimulation、ジェスチャ速度、またはプラットフォーム固有の ScrollPhysics |
| モーション動作が悪く見えるがコードは動作する | 複雑さを追加する前に、期間、曲線、間隔、イージング、または削減モーション動作をチューニングする |
リソースルーティング
現在のタスクに必要なリソースのみを読む:
| タスク | 読む/使用 | 目的 |
|---|---|---|
| シンプルな状態駆動アニメーションまたは AnimatedSwitcher/TweenAnimationBuilder 選択 | references/implicit.md、オプションで assets/templates/implicit_animation.dart スタンドアロン例用 | ウィジェットオプション、パラメータ、シンプルな例 |
| コントローラライフサイクル、組み込み遷移、状態リスナー、または再利用可能なアニメーションウィジェット | references/explicit.md、オプションで assets/templates/explicit_animation.dart スタンドアロン例用 | 正しいコントローラ所有権、破棄、再構築パターン |
| 共有要素ルート遷移、カスタムフライトパス、プレースホルダー、または HeroMode | references/hero.md、オプションで assets/templates/hero_transition.dart スタンドアロン例用 | Hero タグ、ルート動作、シャトルビルダー、一般的な落とし穴 |
| シーケンスリスト/メニュー/表示/リップルタイミング | references/staggered.md、オプションで assets/templates/staggered_animation.dart スタンドアロン例用 | 間隔タイミング、期間計算、段階的パターン |
| スプリング、フリング、ドラッグ、カスタム Simulation、またはスクロールフィジックス | references/physics.md | Simulation セットアップ、ジェスチャ速度、プラットフォームフィジックス、チューニング |
| 曲線選択、カスタム曲線、イージング不一致、または削減モーションチューニング | references/curves.md | 曲線選択、カスタム曲線、アクセシビリティメモ |
テンプレートは完全なデモファイルであり、ドロップイン本番モジュールではありません。テンプレートをアプリ内で使用する場合、デモクラスの名前を変更し、main() と MaterialApp ラッパーを削除し、アセット/ルート/状態を適応させ、アナライザを再実行してください。
制約
- 不足しているルート、アセットパス、テーマトークン、ジェスチャ動作、または状態管理 API を作り上げないでください。それらを検査するか、ユーザーに確認してください。
- 暗黙的ウィジェットが少ないライフサイクルリスクで同じ動作を与える場合、
AnimationControllerを追加しないでください。 - コントローラ、リスナー、タイマー、またはステータスコールバックを破棄せずに放置しないでください。
timeDilationなどのグローバルデバッグ設定を本番コードで使用しないでください。ローカルデバッグエイドとしてのみ言及してください。- リファレンススニペットを盲目的にコピーしないでください。プロジェクトの Flutter バージョン、リントルール、null-safety、非推奨状態に適応させてください。
- ユーザーに見えるモーションのアクセシビリティをオプションにしないでください。削減モーションサポートを実装できない場合は、制限を報告してください。
検証
- 編集が行われたときに、編集された Dart ファイルに対して
dart formatまたはプロジェクトのフォーマッタを実行する。 - プロジェクト、パッケージ、または特定のタッチされた Dart ファイルに対して
flutter analyzeを実行する。 - アニメーション変更がナビゲーション、ジェスチャ、ステートフルライフサイクル、またはユーザーに見える回帰に影響する場合、フォーカスされたテストを実行する。
- ビジュアル変更については、可能な場合はアプリまたはスクリーンショットの実行を検査する。それが不可能な場合は、静的に検証されたものと視覚的に未検証のままであるものを説明する。
- テンプレートを更新する場合、最小限の Flutter プロジェクトで
flutter analyze lib/main.dartを実行して各テンプレートをlib/main.dartとして検証する。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- madteacher
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/madteacher/mad-agents-skills / ライセンス: MIT
関連スキル
nano-banana-2
inference.sh CLIを通じてGoogle Gemini 3.1 Flash Image Preview(Nano Banana 2)で画像を生成します。テキストから画像を生成する機能、画像編集、最大14枚の複数画像入力、Google Searchグラウンディング機能に対応しています。トリガーワード:「nano banana 2」「nanobanana 2」「gemini 3.1 flash image」「gemini 3 1 flash image preview」「google image generation」
octocode-slides
洗練されたマルチファイル形式のHTMLプレゼンテーションを生成します。6段階のフロー(概要 → リサーチ → アウトライン → デザイン → 実装 → レビュー)で構成されています。各スライドは独立したHTMLファイルとなり、iframeで読み込まれます。「スライドを作成してほしい」「プレゼンテーションを作ってほしい」「HTMLスライドを生成してほしい」「デックを構築してほしい」といった依頼や、ノート・ドキュメント・コードを洗練されたプレゼンテーションに変換する際に使用できます。
gpt-image2-ppt
OpenAIのgpt-image-2を使用して、視覚的に優れたPPTスライドを生成します。Spatial Glass、Tech Blue、Editorial Monoなど10種類のキュレーション済みスタイルに対応し、ユーザーが提供したPPTXファイルを模倣するテンプレートクローンモードも搭載しています。HTMLビューアと16:9形式のPPTXファイルを出力します。プレゼンテーション、スライド、ピッチデック、投資家向けPPT、雑誌風PPTの作成依頼などで活用してください。
nano-banana
Nano Banana PRO(Gemini 3 Pro Image)およびNano Banana(Gemini 2.5 Flash Image)を使用したAI画像生成機能です。以下の場合に活用できます:(1)テキストプロンプトからの画像生成、(2)既存画像の編集、(3)インフォグラフィックス、ロゴ、商品写真、ステッカーなどのプロフェッショナルなビジュアルアセット制作、(4)複数画像での人物キャラクターの一貫性保持、(5)正確なテキスト描画を含む画像生成、(6)AI生成ビジュアルが必要なあらゆるタスク。「画像を生成」「画像を作成」「写真を作る」「ロゴをデザイン」「インフォグラフィックスを作成」「AI画像」「nano banana」またはその他の画像生成リクエストをトリガーとして機能します。
oiloil-ui-ux-guide
モダンでクリーンなUI/UXガイダンス・レビュースキルです。新機能や既存システム(Webアプリ)に対して、実行可能なUI/UX改善提案、デザイン原則、デザインレビューチェックリストが必要な場合に活用できます。CRAP(コントラスト・反復・配置・近接)をベースに、タスクファーストなUX、情報設計、フィードバック・システムステータス、一貫性、affordances、エラー防止・復旧、認知負荷を重視します。モダンミニマルスタイル(クリーン・余白・タイポグラフィ主導)を強制し、不要なテキストを削減、アイコンとしての絵文字を禁止し、統一されたアイコンセットから直感的で洗練されたアイコンを推奨します。
axiom-hig-ref
Apple Human Interface Guidelines リファレンス — 色(セマンティックカラー、カスタムカラー、パターン)、背景(マテリアル階層、ダイナミック背景)、タイポグラフィ(標準スタイル、カスタムフォント、Dynamic Type)、SF Symbols(レンダリングモード、色、多言語対応)、ダークモード、アクセシビリティ、プラットフォーム固有の考慮事項を網羅したガイドラインです。