Use when building any Flutter screen or component to choose responsive Row, Column, Expanded, Flexible, and Spacer layouts before fixed-size or coordinate-based alternatives.
npx skills add https://github.com/evanca/flutter-ai-rules --skill flutter-use-column-row-first
Build responsive Flutter layouts from the constraint system outward. Prefer simple flex composition and introduce fixed dimensions or overlays only when the design requires them for a concrete purpose.
Column and horizontal groups with Row.build method.Expanded, Flexible, and Spacer to distribute bounded free space.Column for vertical flow and Row for horizontal flow.mainAxisAlignment, crossAxisAlignment, and mainAxisSize.Expanded when a child must fill its allocated share of remaining main-axis space.Flexible when a child may use less than its allocated share.flex only to express proportional allocation. A child with flex: 2 receives twice the free-space share of a sibling with flex: 1.Spacer for flexible separation between siblings. Use SizedBox for deliberate, fixed gaps.Expanded or Flexible inside a Row when it must yield space to siblings.ListView or another scrollable when vertical content can exceed the viewport; Column does not scroll.Wrap when horizontal children should move onto another run instead of shrinking or overflowing.LayoutBuilder, breakpoints, or adaptive widgets when the composition itself must change with available space.SafeArea when content must avoid system intrusions.Avoid these as default layout mechanisms:
Stack with hardcoded Positioned coordinatesContainer, SizedBox, or ConstrainedBox with hardcoded screen-like width or heightUse them when they serve a concrete purpose, such as:
State the purpose in the code structure or a brief comment when it is not obvious.
Expanded and Flexible only under Row, Column, or Flex.Expanded or Flexible, or establish a meaningful finite constraint.Column that needs the outer column's remaining height by wrapping the inner column in Expanded.Padding(
padding: const EdgeInsets.all(16),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
const Header(),
const SizedBox(height: 16),
Expanded(
child: Row(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
const Flexible(flex: 2, child: PrimaryContent()),
const SizedBox(width: 16),
const Flexible(child: SecondaryContent()),
],
),
),
const SizedBox(height: 16),
const Actions(),
],
),
)
Change this composition at a breakpoint if the horizontal content cannot remain usable on a narrow screen; do not merely squeeze it.
Inspect these diagrams when decomposing a mockup into nested flex layouts:
Row containing a vertical content Column and an image.Row and Column widgets.Use the diagrams as structural references, not as fixed pixel templates.
Stack or Positioned usages have a concrete design reason.Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.
Set up Tailwind CSS v4 in Expo with react-native-css and NativeWind v5 for universal styling
Use Expo DOM components to run web code in a webview on native and as-is on web. Migrate web code to native incrementally.
Take evanca/flutter-use-column-row-first from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.