What problem does it solve? It prevents authentication and authorization bugs in the Nuxt front-end by documenting the exact localStorage contract, the single active-role model, route middlewares, and teacher confinement rules that govern access, redirection, and conditional display. ## Core Features & Use Cases - localStorage contract: Defines every key (auth.token, current_school_roles, current_school_active_role, etc.), who writes it, and when it is purged. - Active-role permission model: Explains utils/schoolRoles.js helpers such as readActiveSchoolRoles(), hasAnyRole(), and isTeacherOnly() so permissions are computed on the active role only, never on the union of roles or French labels. - Middleware and redirection rules: Covers auth.global.js, admin-director.js, super-admin.js, teacher confinement to /professeur/, post-login redirection logic, and school invitation handling. - Use Case: When adding a new page for teachers outside /professeur/, consult this Skill to learn it must be added to the teacherAllowed list or teachers will be redirected in a loop. ## Quick Start Ask the AI to explain how to gate a new Nuxt page by active role and which middleware or localStorage keys are involved.