{
  "id": "routing-navigation-review",
  "name": "Routing & Navigation Review",
  "type": "skill",
  "provider": "frontend",
  "harnesses": [
    "claude-code",
    "cursor",
    "codex",
    "gemini",
    "kiro",
    "other"
  ],
  "summary": "Reviews route-tree structure, loader/action placement, code-splitting, and navigation-blocking/focus-management for correctness, security enforcement, and accessibility conformance.",
  "source_type": "original",
  "official_docs": [
    "https://reactrouter.com/start/framework/route-module",
    "https://reactrouter.com/start/data/actions",
    "https://nextjs.org/docs/app/building-your-application/routing/dynamic-routes",
    "https://www.w3.org/WAI/ARIA/apg/patterns/"
  ],
  "security_notes": "Client-side-only route guards (hiding a nav link, redirecting in a component) are UX only; treat any route lacking a paired server-side enforcement point (loader auth check, middleware, or BFF authorization) as a blocking security finding. Static-review-only skill: it reads and greps route source but never executes, builds, or runs application code.",
  "last_verified": "2026-07-02",
  "path": "skills/frontend/routing-navigation-review",
  "author": "github: VincentChuWaiChow",
  "version": "0.1.0"
}
