extension-authorization

Agent skill from caffeinelabs/skills.

caffeinelabs ↓ 8k Apache-2.0 updated 27d ago
Claude Code
View source ↗

What it does

  • Anonymous principals are treated as guests.
  • assignRole includes an admin-only guard internally.
  • Use shared({ caller }) for authenticated endpoints that modify data.
  • Use query({ caller }) for authenticated endpoints that fetch data.
  • Handle ownership verification where needed.
  • Use Runtime.trap for authorization failures.
  • getCallerUserProfile(): Promise<UserProfile | null> -- returns null if no profile exists

Requirements & configuration

  • 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.
  • The frontend requires getCallerUserProfile, saveCallerUserProfile, and getUserProfile. Pass accessControlState to your mixin so it can check permissions.
  • Note: The initialization of the first admin is done automatically in @caffeineai/core-infrastructure. The first authenticated user to log in becomes admin; no token or secret is needed.

Derived from the skill's own SKILL.md documentation · extracted 2026-07-23

extension-authorization FAQ

What does the extension-authorization skill do?

Authorization system with role-based access control. Must-have for all apps that manage personal or access-restricted data. Anonymous principals are treated as guests. assignRole includes an admin-only guard internally.

What does extension-authorization require?

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. The frontend requires getCallerUserProfile, saveCallerUserProfile, and getUserProfile. Pass accessControlState to your mixin so it can check permissions. Note: The initialization of the first admin is done automatically in @caffeineai/core-infrastructure. The first authenticated user to log in becomes admin; no token or secret is needed.

How do I install extension-authorization?

Run: npx -y skills add https://github.com/caffeinelabs/skills --skill extension-authorization --agent claude-code — the source lives at github.com/caffeinelabs/skills.

Maintain extension-authorization?

Let people know it's listed here — add the badge (live metrics, light/dark aware) or a plain link to your README or docs.

extension-authorization on getagentictools
[![extension-authorization on getagentictools](https://getagentictools.com/badge/skills/caffeinelabs-skills-extension-authorization.svg)](https://getagentictools.com/skills/caffeinelabs-skills-extension-authorization?ref=badge)
npx agentictools info skills/caffeinelabs-skills-extension-authorization

The second line is the CLI lookup for this page — handy in READMEs and docs.