Skip to content
Agent Orchestration
Skill

/roles

Roles in custom claims, granted only by an admin-only callable function; the first admin by a one-off script.

BOOST
From plugin
mulmoterminal
24574 skills
Install
$ npx -y skills add receptron/mulmoterminal --skill roles --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/roles

Context preview

The summary Claude sees to decide when to auto-load this skill.

Roles in custom claims, granted only by an admin-only callable function; the first admin by a one-off script.

SKILL.md

roles.SKILL.md
name: blueprint-internal-roles
description: "Roles in custom claims, granted only by an admin-only callable function; the first admin by a one-off script."

Roles and permissions

1. Roles are the ones in the spec. Store them as `roles: string[]` in custom claims. 2. A callable function `setRoles({ uid, roles })`, declared `onCall({ enforceAppCheck: true }, …)` with that option first and on the `onCall(` line (the protect check reads it line by line): refuses unless the CALLER's token has `admin`, refuses unknown roles, sets the claims, writes an audit entry (see audit-log), and returns. 3. The first admin: `scripts/grant-first-admin.ts`, run once by the user with their own gcloud credentials (`GOOGLE_APPLICATION_CREDENTIALS` is NOT needed — use Application Default Credentials). Do not expose it as a function. 4. Update the collection rules from the spec's role table to use `hasRole(...)`. 5. Write `test/blueprint/roles.spec.ts`: a non-admin calling `setRoles` is refused; an admin succeeds; each role can do exactly what its row of the table says, in both directions.

Done when the check passes: `emulator-test.sh roles`.

Always

  • Read `.blueprint/spec.md` first. It is the agreed specification; do not widen it.
  • When you need a decision, ask it through the blueprint question tool and stop. Do not guess.
  • Never enable billing, deploy to production, delete data or handle a credential unless this step's gates say the

user approved exactly that.

  • Say you are done by stopping; the executor runs the check. Do not claim success yourself.
Read more
Ships withmulmoterminal

Run multiple coding-agent sessions in parallel — and see which one needs you. A browser terminal for parallel AI coding agents: several sessions side by side, each in its own cell, with the one that needs you marked in colour.

Get the whole plugin
Stats
255
Stars
32
Forks
Active
Maintenance
TypeScript
Language
MIT
License
4h ago
Last commit
4mo ago
Created
18h ago
Added

Repo: receptron/mulmoterminal

Other skills on mulmoterminal.