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…
Measure the models with chaff, then write the style twice: chaff.yaml for what a machine checks, STYLE.md for what the writer reads — with a reason for every decision.
$ npx -y skills add receptron/mulmoterminal --skill rules --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/rulesContext preview
The summary Claude sees to decide when to auto-load this skill.
Measure the models with chaff, then write the style twice: chaff.yaml for what a machine checks, STYLE.md for what the writer reads — with a reason for every decision.
name: blueprint-style-rules description: "Measure the models with chaff, then write the style twice: chaff.yaml for what a machine checks, STYLE.md for what the writer reads — with a reason for every decision."
The style ends up in two places, and they do different jobs:
rule is, the team's own words. chaff is a linter; it never judges meaning and never rewrites.
endings, terms, structure. Everything a machine cannot measure goes here.
Read `.blueprint/answers.json` for the kind of document, the language, the audience and how strict to be. Run chaff from the folder as `sh <base pack>/checks/chaff.sh …` — the wrapper the checks use, so what you measure is what they will measure. Below it is written `chaff …` for short.
contracts (`legal/contract`), rules and regulations (`legal/statute`), manuals (`docs/manual`), FAQs, glossaries, papers and literature have genres of their own. Only when none fits, pick the closest and say so in the report. A genre chaff does not know stops every run, so copy it from the list.
recommends one. Read it rule by rule.
For each rule that fires on the models, or that `eval` recommends changing:
not the example there. The models must still pass, so this means a level they meet.
Write `chaff.yaml` with `genre`, `language` and `rules:` (`strict | normal | relaxed | off`). Add `jargon:` for the team's own words only if the models show them.
turning it off: `max-sentence-length: 260` keeps checking at 260 where `off` would check nothing. The unit is the rule's own; `chaff rules --json` shows each rule's levels as numbers to start from.
`avoid: use` pairs, and `preferred-term: normal` turns the rule on. Only pairs the models actually show.
`latin-spacing: normal` (Japanese). It does not take a side: in a document that mixes both ways, it reports the less common one.
(`oxford-comma-consistency`) and heading case (`title-case-consistency`). Like `latin-spacing`, each takes no side: where one form clearly leads, it reports the other. Turn one on when the models keep that form.
by default, and **on when named in `rules:` with a level** (or for every experimental rule, with `experimental: true` or `--experimental`). "Experimental, so it does not run" is true only while it is not named — name it, and prove it in the counter step.
lint alike. Read that output: an unknown name or an unreadable value is a setting that does nothing. A number on a rule that reads meaning (L4) is warned about too; that rule runs as `normal`. Record every level you set in `.blueprint/rule-decisions.json`:
{ "sentence-length": { "level": "relaxed", "why": "The models average long sentences on purpose: legal definitions run long." } }chaff ignores a rule name it does not know. The check compares your decisions with what chaff actually applied, so a misspelt rule shows up there rather than doing nothing.
`STYLE.md`, in the documents' language, with these sections (either name works):
the models for each point.
are written. Only what the models show.
knows which parts a machine enforces and which are theirs to keep.
`node <usecase pack>/checks/rules.mjs` (with `BLUEPRINT_BASE` and `BLUEPRINT_USECASE` set to the pack folders from your prompt) passes: the config loads, every setting has a reason and is in effect, the models raise no finding under their own style, and the guide has its sections. If a model still trips a rule, do not delete the model: relax the rule, or say in the guide why that model is not the example there and relax the rule to what it meets.
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.