apply
Set chaff up in the folder: chaff.yaml for the chosen genre, today's findings shelved in .chaff-baseline.json, and, when asked, a…
Roles in custom claims, granted only by an admin-only callable function; the first admin by a one-off script.
$ npx -y skills add receptron/mulmoterminal --skill roles --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/rolesContext 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.
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."
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`.
user approved exactly that.
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.
Set chaff up in the folder: chaff.yaml for the chosen genre, today's findings shelved in .chaff-baseline.json, and, when asked, a…
Measure what chaff reports on the named documents today, as the kind the person chose, and propose the setup — changing nothing…
Answer each question from the named documents only, quoting where the answer is written, or saying plainly that the documents do…
Add the approved answers to FAQ.md when the person chose to keep them, after what it already holds; change nothing otherwise.
Build the spec's operations as the Worker's API, with validation and tests.