Agent-skills-standard flutter-widgets
Build maintainable Flutter UI components with composition and theming. Use when building, refactoring, or reviewing Flutter widget implementations for maintainability. (triggers: **_page.dart, **_screen.dart, **/widgets/**, StatelessWidget, const, Theme, ListView)
install
source · Clone the upstream repo
git clone https://github.com/HoangNguyen0403/agent-skills-standard
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/HoangNguyen0403/agent-skills-standard "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/flutter/flutter-widgets" ~/.claude/skills/hoangnguyen0403-agent-skills-standard-flutter-widgets && rm -rf "$T"
manifest:
skills/flutter/flutter-widgets/SKILL.mdsource content
UI & Widgets
Priority: P1 (OPERATIONAL)
- State: Use
by default.StatelessWidget
only for local state/controllers.StatefulWidget - Composition: Extract UI into small, atomic
widgets.const - Theming: Use
. No hardcoded colors.Theme.of(context) - Layout: Use
+Flex
.Gap/SizedBox - Widget Keys: All interactive elements must use keys from
.widget_keys.dart - File Size: If UI file exceeds ~80 lines, extract sub-widgets into private classes.
- Specialized:
: For multi-widget text selection.SelectionArea
: For zoom/pan.InteractiveViewer
: For pickers.ListWheelScrollView
: Avoid unless strictly required.IntrinsicWidth/Height- Large Lists: Always use
.ListView.builder
class AppButton extends StatelessWidget { final String label; final VoidCallback onPressed; const AppButton({super.key, required this.label, required this.onPressed}); @override Widget build(BuildContext context) => ElevatedButton(onPressed: onPressed, child: Text(label)); }
Anti-Patterns
- No setState for server state: Server or shared state belongs in BLoC, not widget state.
- No widget file over 80 lines without extraction: Extract sub-widgets into private classes.
- No inline Key strings: All keys must constants defined in
.widget_keys.dart - No _buildXxx() helper methods: Extract to
private class.const StatelessWidget
References
- performance | testing