Agent skill · software engineering · aiskillstore
extension-authorization
Authorization system with role-based access control. Must-have for all apps that manage personal or access-restricted data.
Why this skill is useful
Provides a role-based access control system with specific API commands and patterns that the AI wouldn't reliably generate on its own.
What it needs
Requires npm installed locally. About 6k tokens when loaded. Last updated 2026-08-07. 405 stars on the source repository.
What this skill does
Authorization Authorization extendsion for Caffeine AI. Overview This skill adds an authentication and authorization system with role-based access control using the mixin pattern. The MixinAuthorization mixin provides standard authorization endpoints automatically. Backend Authentication system with role-based access control. There is a prefabricated library mo:caffeineai-authorization/access-control.mo. It provides core authentication with role-based access control. Module API Initialization is handled internally by MixinAuthorization -- do not call initialize directly. The first authenticated user to log in automatically becomes admin; no token or secret is required. IMPORTANT: The include MixinAuthorization(accessControlState) line MUST be placed in main.mo, not in a custom mixin file. Opting out / custom authentication If the user asks to replace this authorization system with custom authentication (for example username/password auth, no Internet Identity, or no MixinAuthorization), remove the caffeineai-authorization mops package from the project. This is the only supported way to remove the include-authorization lint requirement, because that lint rule is shipped by the package. Do not add suppression comments or leave the package installed while omitting include MixinAuthorization(accessControlState). When removing the package, also remove all mo:caffeineai-authorization/ imports, the accessControlState initialization, include MixinAuthorization(accessControlState), and any AccessControl guard calls that belonged to this component. Replace them with the custom authentication and authorization checks requested by the user. Setup in main.mo Type Definitions in types.mo Custom Mixin Example (mixins/Profile.mo) The frontend requires getCallerUserProfile, saveCallerUserProfile, and getUserProfile. Pass accessControlState to your mixin so it can check permissions. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills aiskillstore/extension-authorization