What problem does it solve? Adding a new page to OrangeHRM is not enough — it must also appear in the side panel or top menu, highlight correctly when active, and respect role-based permissions. This Skill explains how the menu system works end-to-end so new entries show up, highlight properly, and stay hidden from unauthorized users. ## Core Features & Use Cases - MenuItem entity model: Understand the ohrm_menu_item table — hierarchy via parent_id and level, ordering via order_hint, visibility via status, and screen linkage via screen_id. - Rendering pipeline: Learn how MenuService::getMenuItems() computes menus server-side, caches them, filters by screen permissions, and passes JSON to the Vue <oxd-layout> component. - MenuConfigurator hooks: Write per-screen configurators to override which menu item highlights on add/edit or polymorphic pages. - Use Case: You built a new "Widget List" admin page but it does not appear in the navigation. Use this Skill to seed the screen, permissions, and menu item in a migration, then clear the cache so it renders. ## Quick Start Ask the agent to add a menu entry for a new OrangeHRM admin page and explain why it is not appearing yet.