shiny-maui-shell

Generate .NET MAUI Shell pages, ViewModels, and navigation infrastructure.

4|Updated Feb 2, 2026
One-click install
npx skills add https://github.com/shinyorg/skills --skill shiny-maui-shell
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: shiny-maui-shell
Source: https://github.com/shinyorg/skills/tree/main/skills/shiny-maui-shell
Command: npx skills add https://github.com/shinyorg/skills --skill shiny-maui-shell

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill simplifies and standardizes the development of .NET MAUI applications by providing robust MVVM support, streamlined navigation, and automated code generation, reducing boilerplate and improving maintainability.

Core Features & Use Cases

  • MVVM Implementation: Enforces MVVM patterns with ViewModel lifecycle management and dependency injection.
  • Navigation Services: Offers a testable INavigator for all navigation operations and IDialogs for UI interactions.
  • Source Generation: Automates route registration and navigation method creation using attributes like [ShellMap] and [ShellProperty].
  • Use Case: Quickly scaffold new pages and their corresponding ViewModels, set up navigation between them, and implement common UI patterns like alerts and prompts, all while adhering to best practices.

Quick Start

Use the shiny-maui-shell skill to generate a new page and ViewModel for a 'UserProfile' feature.

Frequently Asked Questions about shiny-maui-shell

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up .NET MAUI Shell navigation with MVVM?

To set up .NET MAUI Shell navigation with MVVM, you can use source generation attributes like [ShellMap] and [ShellProperty] to automatically register routes and create navigation methods, reducing boilerplate. This enforces proper ViewModel lifecycle management.

How do I reduce boilerplate code when generating ViewModels for .NET MAUI?

You can reduce boilerplate when generating ViewModels for .NET MAUI by using source generators to automate route registration and navigation method creation. This approach standardizes MVVM implementation and handles dependency injection automatically.

Can I use INavigator for testable navigation in .NET MAUI apps?

Yes, you can use INavigator for testable navigation in .NET MAUI apps. It handles all navigation operations, while IDialogs manages UI interactions like alerts and prompts, ensuring your navigation logic remains decoupled and testable.

What is the best way to pass navigation parameters between pages in .NET MAUI?

The best way to pass navigation parameters between pages in .NET MAUI is by using source-generated navigation methods. This approach handles parameter passing seamlessly while adhering to Shiny MAUI Shell conventions and lifecycle hooks.

Does .NET MAUI MVVM navigation support lifecycle hooks and shell switching?

Yes, .NET MAUI MVVM navigation supports lifecycle hooks and shell switching. This Skill facilitates ViewModel lifecycle management and allows for enhanced application architecture through dynamic shell switching during navigation operations.

When do I need source-generated routes for .NET MAUI Shell?

You need source-generated routes for .NET MAUI Shell when you want to eliminate manual route registration and enforce strict MVVM patterns. This approach automates route mapping and navigation infrastructure creation, improving overall maintainability.