How to write, run and debug automated UI tests for the Nalu.Maui component libraries using .NET MAUI DevFlow (in-app agent + Driver + CLI + MCP). Use this skill whenever the task involves UI tests, UITests.DevFlow, the Nalu.Maui.TestApp, DevFlow, AgentClient, the maui devflow CLI, MCP-driven app automation…
Nalu.Maui.Controls: InteractableCanvasView (touch-enabled SkiaSharp) and DurationWheel (TimeSpan? picker). Use when adding touch handling to a canvas or a duration input control.
Nalu.Maui.Core utilities for soft keyboard handling and background iOS HTTP. Use when configuring soft keyboard (Resize/Pan), binding to keyboard state, or handling HTTP when the app is backgrounded on iOS.
Nalu.Maui.Navigation: type-safe MVVM navigation with Shell, lifecycle events, intents, and guards. Use when setting up navigation, passing parameters, preventing navigation (unsaved changes), custom tab bar, or testing navigation in MAUI.
Nalu.Maui.VirtualScroll: high-performance virtualized list (RecyclerView/UICollectionView). Use when building lists, carousels, sectioned data, pull-to-refresh, drag-and-drop reorder, or replacing MAUI CollectionView for performance.
Claude Code instructions for nalu-development/nalu, covering nalu.maui — ai agent guide, ui testing architecture (devflow), testapp harness conventions, dev loop: writing and verifying a test autonomously and current status / open points.
Nalu.Maui.Navigation in a Scaffold app — AddPages() generator rules, INavigationService/GoToAsync, the Nav builder (Push/Pop/Root/Add, intents, behaviors), guards, view-only pages, tab roots and DI scopes; load when adding pages or navigating.
Soft keyboard under Nalu.Maui.Scaffold — Scaffold.KeyboardMode (Resize/Pan/None) for pages, sheets and popups, keyboard ownership, {nalu:KeyboardBinding} to KeyboardState (IsVisible/Height), MAUI SafeAreaEdges interplay, NALU0104. Load for any input/keyboard layout work.
Popups, bottom sheets and tab bar panels in Nalu.Maui.Scaffold — ShowAsync APIs, options/attached properties, placement, detents, dismissal, and MVVM overlays via IOverlayService/AddOverlays(). Load when presenting or closing any overlay.
Nalu.Maui.Scaffold scroll-driven effects — Scaffold.ScrollTracker + ramp, {nalu:ScrollValue}/{nalu:ThemeScrollValue} bindings for parallax headers, materializing nav bars, fading titles, and {nalu:ScrollDirectionValue} for hide-on-scroll-down/show-on-scroll-up chrome; load when a value must follow the page scroll…
Nalu.Maui.Scaffold app shell — Scaffold/areas/roots, tab bar (icons, badges, overflow, visibility), flyout drawers, nav bar (title/TitleView, appearance, custom bar), safe areas & system bars; load when editing AppScaffold.xaml or page chrome (tab bar, nav bar, drawer).
Nalu.Maui.Scaffold page transitions, shared elements (TransitionName), modal pages (PageMode), iOS/Android back gestures and Shell/NavigationPage migration; load when styling how pages enter/leave.