plugins/content-management-system/skills/design-navigation/SKILL.md
Design navigation architecture including menus, breadcrumbs, and mega-menus. Generates structured navigation with accessibility.
npx skillsauth add melodic-software/claude-code-plugins design-navigationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Design a comprehensive navigation system with menus, breadcrumbs, and navigation APIs.
/cms:design-navigation --type primary
/cms:design-navigation --type mega --format json
/cms:design-navigation --type all
Extract navigation type and output format from command.
Use AskUserQuestion to understand:
Invoke relevant skills for analysis:
navigation-architecture - Navigation patternspage-structure-design - Page hierarchyurl-routing-patterns - URL structurePrimary Navigation:
navigation:
name: MainNav
type: primary
max_depth: 2
items:
- label: Home
url: /
icon: home
- label: Products
url: /products
children:
- label: All Products
url: /products
- label: Categories
url: /products/categories
- label: New Arrivals
url: /products/new
- label: About
url: /about
children:
- label: Our Story
url: /about/story
- label: Team
url: /about/team
- label: Careers
url: /about/careers
- label: Contact
url: /contact
settings:
mobile_breakpoint: 768
mobile_pattern: hamburger
sticky: true
transparent_on_home: true
Mega Menu:
mega_menu:
name: ProductsMega
trigger: Products
layout: columns
columns:
- heading: Shop by Category
items:
- label: Electronics
url: /products/electronics
image: /images/nav/electronics.jpg
- label: Clothing
url: /products/clothing
image: /images/nav/clothing.jpg
- label: Home & Garden
url: /products/home-garden
- heading: Featured
items:
- label: Best Sellers
url: /products/best-sellers
badge: Popular
- label: Sale Items
url: /products/sale
badge: Up to 50% off
- heading: Quick Links
items:
- label: Gift Cards
url: /gift-cards
- label: Store Locator
url: /stores
promo:
title: Summer Sale
description: Up to 50% off selected items
image: /images/promo/summer-sale.jpg
url: /products/sale
cta: Shop Now
Breadcrumb Configuration:
breadcrumbs:
separator: /
show_home: true
home_label: Home
show_current: true
max_length: 5
truncate_middle: true
schema:
enabled: true
type: BreadcrumbList
patterns:
- path: /products/:category/:product
template:
- label: Home
url: /
- label: Products
url: /products
- label: "{category.name}"
url: /products/{category.slug}
- label: "{product.name}"
url: null # Current page
- path: /blog/:year/:month/:slug
template:
- label: Home
url: /
- label: Blog
url: /blog
- label: "{year}"
url: /blog/{year}
- label: "{post.title}"
url: null
Provide EF Core model for navigation:
public class NavigationMenu
{
public Guid Id { get; set; }
public string Name { get; set; }
public string Type { get; set; } // primary, footer, mega
public List<NavigationItem> Items { get; set; }
public NavigationSettings Settings { get; set; }
}
public class NavigationItem
{
public Guid Id { get; set; }
public string Label { get; set; }
public string Url { get; set; }
public string Icon { get; set; }
public string Target { get; set; }
public int SortOrder { get; set; }
public Guid? ParentId { get; set; }
public List<NavigationItem> Children { get; set; }
public bool IsVisible { get; set; }
public string[] Roles { get; set; } // Role-based visibility
}
public class NavigationSettings
{
public int MobileBreakpoint { get; set; }
public string MobilePattern { get; set; }
public bool Sticky { get; set; }
public bool TransparentOnHome { get; set; }
}
// GET /api/navigation/{name}
[HttpGet("{name}")]
public async Task<ActionResult<NavigationDto>> GetNavigation(
string name,
[FromQuery] string locale = "en")
{
var navigation = await _navigationService
.GetByNameAsync(name, locale);
if (navigation == null)
return NotFound();
return Ok(navigation);
}
// Response structure
public class NavigationDto
{
public string Name { get; set; }
public string Type { get; set; }
public List<NavigationItemDto> Items { get; set; }
}
public class NavigationItemDto
{
public string Label { get; set; }
public string Url { get; set; }
public string Icon { get; set; }
public string Target { get; set; }
public bool IsActive { get; set; }
public List<NavigationItemDto> Children { get; set; }
}
Navigation must meet WCAG 2.1 AA:
| Requirement | Implementation |
|-------------|----------------|
| Keyboard Navigation | Tab order, arrow keys, Enter/Space |
| ARIA Labels | aria-label, aria-expanded, aria-current |
| Focus Management | Visible focus indicators |
| Skip Links | "Skip to main content" link |
| Mobile Touch | Touch target minimum 44x44px |
navigation-architecture - Navigation patternspage-structure-design - Page hierarchyurl-routing-patterns - URL patternsdevelopment
Search Milan Jovanovic's .NET blog for Clean Architecture, DDD, CQRS, EF Core, and ASP.NET Core patterns. Use for finding applicable patterns, code examples, and architecture guidance. Invoke when working with .NET projects that could benefit from proven architectural patterns.
tools
Install and configure Data API Builder (DAB) for production SQL Server MCP access with RBAC
tools
Manage MssqlMcp servers - status, rebuild, and upstream updates
tools
Developer environment setup guides for Windows, macOS, Linux, and WSL. Use when setting up development machines, installing tools, configuring environments, or following platform-specific setup guides. Covers package management, shell/terminal, code editors, AI tooling, containerization, databases, and more.