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…
Model the collections from the spec and open each one explicitly in firestore.rules, proven by emulator tests.
$ npx -y skills add receptron/mulmoterminal --skill data-rules --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/data-rulesContext preview
The summary Claude sees to decide when to auto-load this skill.
Model the collections from the spec and open each one explicitly in firestore.rules, proven by emulator tests.
name: blueprint-firebase-data-rules description: "Model the collections from the spec and open each one explicitly in firestore.rules, proven by emulator tests."
The spec has a table per collection: who may read, create, update and delete. That table IS the rules.
1. For each collection, add a `match` block above the final deny-all. Open only what the table says. 2. On create, pin ownership (`request.resource.data.ownerUid == request.auth.uid`) and the fields a client may set (`request.resource.data.keys().hasOnly([...])`). 3. On update, forbid changing ownership and any field the table does not let that role change (`diff(resource.data).affectedKeys().hasOnly([...])`). 4. Write `test/blueprint/rules.spec.ts` with BOTH directions for every row of the table: the allowed operation succeeds (`assertSucceeds`) and every other role is refused (`assertFails`). A rule with only a success test is not tested. 5. If the table is ambiguous, ask — do not open more than it says.
Done when the check passes: `emulator-test.sh rules`.
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.