Agent skill
astro-navigation
Navigation patterns for Astro sites. Header, footer, mobile menu, breadcrumbs, skip links. Use for all navigation implementation.
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/astro-navigation
SKILL.md
Astro Navigation Skill
Purpose
Provides navigation patterns for lead generation sites. Mobile-first, accessible, conversion-focused. Implements header, footer, mobile menu, breadcrumbs, and skip links with proper keyboard navigation and screen reader support.
Core Rules
- Mobile-first — Design for 375px, enhance for desktop
- Phone prominent — Click-to-call in header on mobile
- CTA visible — Primary CTA always accessible
- Accessible — Keyboard navigable, screen reader friendly
- Fast — No layout shift on menu toggle
- Sticky elements — Header fixed top, mobile CTA bar fixed bottom
- Active states — Indicate current page in navigation
- Skip link — Allow keyboard users to skip to main content
- Escape key — Close mobile menu with Escape
- Safe areas — Account for iOS notch/safe areas
Navigation Components
Header
- Sticky header with logo, desktop nav, phone, and CTA
- Mobile menu button visible only on mobile
- Logo always links to homepage
- Phone number clickable with proper tel: link
Mobile Menu
- Slide-in overlay from right
- Backdrop closes menu on click
- Escape key closes menu
- Prevents body scroll when open
- CTAs at bottom (Quote + Phone)
Footer
- Four-column grid on desktop, stacked on mobile
- Company info, services, areas, quick links
- Bottom bar with copyright and legal links
- Extra padding on mobile to clear sticky CTA bar
Breadcrumbs
- Schema.org structured data
- Current page indicated with aria-current
- Proper semantic markup with ol/li
Skip Link
- Hidden by default, visible on focus
- Fixed position with high z-index
- Jumps to #main-content
Active Link Styling
- Checks current pathname
- Applies aria-current="page"
- Visual indicator (color + font weight)
Navigation Structure
Header (sticky top)
├── Logo (links to /)
├── Desktop Nav (hidden on mobile)
├── Desktop CTA (phone + button)
└── Mobile Menu Button (hidden on desktop)
Mobile Menu (overlay)
├── Close Button
├── Navigation Links
└── CTAs (Quote + Phone)
Footer (pb-24 on mobile, pb-12 on desktop)
├── Company Info
├── Services Links
├── Areas Links
├── Quick Links
└── Bottom Bar (copyright + legal)
Sticky Mobile CTA Bar (fixed bottom, mobile only)
├── Call Button
└── Quote Button
References
Implementation details in references directory:
- Header — Desktop header with nav and mobile menu button
- Mobile Menu — Slide-in menu with animation and script
- Sticky CTA Bar — Fixed bottom bar for mobile
- Footer — Four-column footer with extra mobile padding
- Breadcrumbs — Schema.org breadcrumb navigation
- Skip Link — Accessibility skip-to-content link
- Active Link Styling — Current page indication
Key Patterns
Mobile Menu Animation:
- Hidden with
translate-x-full, visible withtranslate-x-0 - Uses
requestAnimationFramefor smooth transition - 300ms duration matches CSS transition
Sticky Elements:
- Header:
sticky top-0 z-50 - Mobile CTA:
fixed bottom-0 z-40 - Footer:
pb-24on mobile to clear CTA bar
Accessibility:
aria-expandedon menu togglearia-current="page"on active linksaria-labelon navigation landmarks- Skip link for keyboard navigation
Forbidden
- ❌ Hamburger menu on desktop
- ❌ Navigation without keyboard support
- ❌ Missing aria-expanded on toggles
- ❌ Logo without link to homepage
- ❌ Phone number not clickable on mobile
- ❌ Footer hidden by sticky mobile bar
Definition of Done
- Mobile menu works (open/close/escape)
- Phone number clickable on mobile
- CTA visible on all viewports
- Skip link present
- Keyboard navigable
- Active page indicated
- Footer above mobile sticky bar
- Breadcrumbs on inner pages
Didn't find tool you were looking for?