What problem does it solve? When building Connect procedures or closing admin panel sections, developers often misplace access checks — duplicating declarations, checking rights inside handlers, or hanging guards on whole route groups — causing startup failures or inconsistent menu and page access. This Skill provides the exact pattern for declaring permissions correctly. ## Core Features & Use Cases - Procedure Access Decorators: Apply exactly one of @RequiresPermission, @RequiresAuth, @PublicProcedure, or @OptionalAuthProcedure on a Connect procedure class so the interceptor enforces access before the handler runs. - Standardized Refusals: Returns Code.Unauthenticated for missing sign-in and Code.PermissionDenied for missing rights, with unknown procedures denied by default. - Admin Panel Gating: Closes a menu item and its address with a single declaration combining the user's right and a section flag, avoiding divergent duplicate declarations. - Use Case: When creating a new Connect procedure like LinkBookingProcedure, decorate it with @RequiresPermission('chat:manage') so only signed-in users with that right can invoke it, without writing any check inside handle. ## Quick Start Ask the assistant to apply the permissions pattern when creating a new Connect procedure or closing an admin panel section with a right and a flag.