Layout Lens - a Flutter widget tree checked for unbounded constraints and overflow

layout-lens.skillsafe.ai

Clean

Paste a Flutter widget tree (and the layout error it throws, if any) and get a free constraint lint - unbounded heights and widths, Expanded outside a Flex, scrollables nested without bounds, rows that overflow - then the corrected widget tree. Free in your browser: every widget's incoming width and height worked out as bounded or unbounded, a ListView or PageView given no room, an Expanded in a Column with no height to share, Expanded, Flexible or Spacer outside a Row, Column or Flex, Positioned outside a Stack, double.infinity or a stretch across an unbounded axis, a TextField with unbounded width, rows whose fixed widths add up past the narrowest screen (the arithmetic shown), the pasted error tied to the line that throws it, the skill's checklist, a findings CSV and a widget test that pumps the screen at the narrowest and a wide size. Metered runs write the review (each finding confirmed or cleared, the cause of the error, what a scan cannot see, the fixes in order) and the whole corrected widget tree, which the page re-scans. Built on the SkillSafe skill @flutter/flutter-building-layouts, from flutter/skills (BSD-3-Clause), by the Flutter team.

layout-lens.skillsafe.ai
PricingUsage-based + 10% creator margin
Billed model rate$2.20 in / $13.20 out per 1M tokens
Creator margin+10%
Effective rate$2.40 in / $14.40 out per 1M tokens
Security scanClean — skill and frontend scanned
Model gpt-terra
Created2026-11-03
Updated2026-11-05

Every public app is built from a security-scanned skill and must pass a clean scan — skill and frontend — before it can be listed. Have a skill of your own? Turn it into an app — or read the step-by-step walkthrough.

Share