flutter/flutter-fix-layout-issues

Flutterのレイアウトエラー(オーバーフロー、無制約の制約)をDartとFlutter MCPツールを使って修正します。「RenderFlex overflowed」や「Vertical viewport was given unbounded height」などのレイアウト問題に対処する際に使用します。

flutter-fix-layout-issues とは?

このスキルは、Flutterアプリケーションでよく発生するレイアウトエラー(オーバーフローや無制約の制約)を自動的に修正するためのものです。具体的には、「RenderFlex overflowed」や「Vertical viewport was given unbounded height」といった一般的なエラーメッセージに対応し、問題の原因を特定して適切な修正を提案・適用します。このスキルは、DartとFlutter MCPツールを活用し、Flutter開発環境(Android Studio、VS Code、IntelliJ IDEAなど)と連携して動作します。開発者は、手動でレイアウトの問題をデバッグする代わりに、このスキルを使用することで迅速かつ効率的に問題を解決できます。スキルの仕組みとしては、Flutterアプリのビルドログやエラーメッセージを解析し、問題のあるウィジェットを特定した後、適切なレイアウトウィジェット(Expanded、Flexible、ConstrainedBoxなど)やサイズ調整ロジックをコードに適用します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/flutter/skills/tree/main/skills/flutter-fix-layout-issues

Installed? Explore more 生産性&コラボレーション skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

flutter-fix-layout-issues は何をしますか?

Flutterのレイアウトエラー(オーバーフロー、無制約の制約)をDartとFlutter MCPツールを使って修正します。「RenderFlex overflowed」や「Vertical viewport was given unbounded height」などのレイアウト問題に対処する際に使用します。

概要

このスキルは、Flutterアプリケーションで発生する一般的なレイアウトエラーを自動的に検出し、修正するためのものです。Flutterのレイアウトシステムは強力ですが、複雑なため、RenderFlex overflowedやVertical viewport was given unbounded heightといったエラーが頻繁に発生します。このスキルを使うことで、開発者は手動でのデバッグ作業を減らし、迅速に問題を解決できます。

対応エラー

  • RenderFlex overflowed - 子ウィジェットがFlexボックスの利用可能スペースを超えた場合
  • Vertical viewport was given unbounded height - スクロール可能なビューポートが高さの制約を受けない場合
  • その他、BoxConstraintsやRenderBoxに関連するレイアウトエラー

使用方法

  1. エラーログを取得します(通常はFlutterアプリの実行中にコンソールに表示されます)。
  2. このスキルを呼び出し、エラーメッセージを入力として提供します。
  3. スキルはエラーを解析し、修正案を生成します。
  4. 生成された修正をコードに適用します。

動作環境

  • DartおよびFlutter SDKがインストールされていること
  • Flutter MCPツールが利用可能であること
  • Flutter開発環境(Android Studio、VS Code、IntelliJ IDEAなど)

例

エラーメッセージ:

RenderFlex overflowed: 200 pixels on the bottom.

修正案:

// 該当のRowまたはColumnをExpandedまたはFlexibleでラップする
Row(
  children: [
    Expanded(
      child: Container(
        // 元のウィジェット
      ),
    ),
  ],
)

注意事項

  • このスキルはあくまで修正案を提供するものであり、すべてのケースで完璧な修正を保証するものではありません。
  • 修正を適用する前に、必ず手動でコードを確認し、テストを行ってください。
  • Flutterのバージョンによっては、エラーの解釈が異なる場合があります。

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

flutter/flutter-accessibility

Configure your Flutter app to support assistive technologies like Screen Readers

flutter/flutter-accessibility-audit

Triggers an accessibility scan through the widget_inspector and automatically adds Semantics widgets or missing labels to the source code.

flutter/flutter-adding-home-screen-widgets

Adds home screen widgets to a Flutter app for Android and iOS. Use when providing glanceable app information or quick actions on the device home screen.

flutter/flutter-add-integration-test

Configures Flutter Driver for app interaction and converts MCP actions into permanent integration tests. Use when adding integration testing to a project, exploring UI components via MCP, or automating user flows with the integration_test package.

flutter/flutter-add-widget-preview

Adds interactive widget previews to the project using the previews.dart system. Use when creating new UI components or updating existing screens to ensure consistent design and interactive testing.

flutter/flutter-add-widget-test

Implement a component-level test using `WidgetTester` to verify UI rendering and user interactions (tapping, scrolling, entering text). Use when validating that a specific widget displays correct data and responds to events as expected.

flutter/flutter-animating-apps

Implements animated effects, transitions, and motion in a Flutter app. Use when adding visual feedback, shared element transitions, or physics-based animations.

flutter/flutter-animation

Add animated effects to your Flutter app

flutter/flutter-apply-architecture-best-practices

Architects a Flutter application using the recommended layered approach (UI, Logic, Data). Use when structuring a new project or refactoring for scalability.

flutter/flutter-app-size

Measure and reduce the size of the Flutter app bundle, APK, or IPA

flutter/flutter-architecting-apps

Architects a Flutter application using the recommended layered approach (UI, Logic, Data). Use when structuring a new project or refactoring for scalability.

flutter/flutter-architecture

Use the Flutter team's recommended app architecture

flutter/flutter-building-forms

Builds Flutter forms with validation and user input handling. Use when creating login screens, data entry forms, or any multi-field user input.

flutter/flutter-building-layouts

Builds Flutter layouts using the constraint system and layout widgets. Use when creating or refining the UI structure of a Flutter application.

flutter/flutter-building-plugins

Builds Flutter plugins that provide native interop for other apps to use. Use when creating reusable packages that bridge Flutter with platform-specific functionality.

flutter/flutter-build-responsive-layout

Use `LayoutBuilder`, `MediaQuery`, or `Expanded/Flexible` to create a layout that adapts to different screen sizes. Use when you need the UI to look good on both mobile and tablet/desktop form factors.

flutter/flutter-caching

Cache data in a Flutter app

flutter/flutter-caching-data

Implements caching strategies for Flutter apps to improve performance and offline support. Use when retaining app data locally to reduce network requests or speed up startup.

flutter/flutter-concurrency

Execute long-running tasks in a background thread in Flutter

flutter/flutter-databases

Work with databases in a Flutter app

関連スキル