Skip to content

Skills

The AI skills behind the ingredient work on this site: one router, ingredient-studio, in front of a set of specialists. The router holds no chemistry. It checks each request against the ingredient registry, proposes who should do the work and in which mode, waits for approval, then runs the specialists and combines what they return. Each specialist has its own guide (listed at the bottom of this page) for the detail.

Download the router · v2.0 · CC0 · specialists: Maillard v7, Treatments v1. Installing them is covered at the end of this page. Specialists also run on their own, without the router.

How it fits together

Three layers: you, the router, and the specialists. The router decides and records; specialists do the work; nothing writes to a shared file except you.

flowchart LR
    U(["You"]) -- "request" --> R["ingredient-studio<br/>router"]
    RD[("registry<br/>specialist register<br/>batch log")] -.-> R
    R -- "preflight, proposal" --> U
    R -- "specialist(s) request" --> S["Specialist(s)"]
    SD[("own catalogue,<br/>references, setup,<br/>calculator")] -.-> S
    S -- "results, blocks" --> R
    R -- "combined answer,<br/>blocks to paste" --> U
Step Who Takes in Gives back
1. Check and propose Router Your request (free-form or a directive); registry.yaml (IDs, aliases, hazards, house preferences, design links); specialists.yaml (who is installed, their modes and roles); batch-log.md (batch context) A preflight (IDs, hazards, blockers, design number); for a free-form request, a routing proposal, then it waits for go or amend
2. Call Router Your approval, or your directive A specialist request: mode, resolved ingredient IDs, the registry hazards (including those of parts), house preferences, design number, batch and beer volume
3. Work Specialist The request; its own catalogue keyed by registry ID, references, data/setup.md and calculator What the mode produces: directions, a design (design-NNN-….md), a critique, a dossier with its catalogue row and registry block, a log block, a debrief. Every hazard gets the specialist's own verdict
4. Combine Router Each specialist's output One answer: disagreements shown, lowest confidence tag kept; for a batch, the whole-beer envelope with summed sugar, acid, alcohol, cyanide and CO₂, allergens and the hazard ledger
5. Record You The blocks in the reply Pasted into registry.yaml, batch-log.md or a catalogue; then studio:check. Designs go to the wiki by hand-over

The registry holds facts about an ingredient; each specialist owns the verdict on its own process. The router never overrides a verdict.

Two ways to call it

Free-form: the router proposes, you approve

Start with /ingredient-studio and say what you want in your own words:

/ingredient-studio I've got 2 kg of quince, what are my options?

The router runs its checks, then replies with a preflight and a routing proposal, and stops:

Preflight
- Ingredients: quince (quince)
- Hazards: quince: patulin [handle]; seeds, amygdalin [note]
- House: quince = shortlist
- Specialists: maillard v7, treatments v1 (sensory, precedent: not installed)
- Design number: 006 (if a design is written)
- Blockers: none

Proposed route: R3 Explore
1. treatments:1 (Options): quince, 2 kg                        → 2-4 directions
2. maillard:1 (Ingredients-first, directions only): quince     → 2-4 directions
3. Router combines and recommends; the owner builds your choice as design 006
Proceed? go / amend

Reply go, or amend it: change the route, drop or add a specialist, change a mode, add inputs. Nothing is designed, calculated or written until you approve.

Directed: you choose, the router checks and runs

Name the specialist and mode, or the route. The router runs the same checks, shows the preflight, and proceeds without proposing a routing choice.

Directive Meaning Example
<short>:<n> Run that specialist's mode n maillard:5 medlar
<short>:<n> + <short>:<n> Run several in that order; the router combines maillard:5 + treatments:4 medlar
<short> A plain question to that specialist treatments: how long can dates sit vacuum-bagged?
R1R6 Run a route with its standard specialists and modes R2 sea buckthorn
studio:check Run the registry and specialist checks and report studio:check

A directed request still stops on a blocker, and asks, without suggesting another route:

  • an ambiguous ingredient name (marigold, elder, laurel, cherry);
  • a registry hazard that excludes the material asked for (rhubarb leaves);
  • an unregistered ingredient going into a design, critique or log;
  • a batch log without the beer's volume.

Calling a specialist directly (/fruit-maillard-prep, /ingredient-treatments) skips the router and its checks; the specialist then works standalone.

What the router checks, every time

  1. Which ingredient. Names and aliases are matched to registry IDs; ambiguous names are resolved before anything else.
  2. What is intrinsically risky. Registry hazards, including those of parts (the stones inside whole fruit). Excluded parts stop there.
  3. House preferences. First picks win when two ingredients serve equally; it never asks what is in stock.
  4. Which specialists are available, and their versions.
  5. The design number, when a design will be written: design NNN is WB-ING-YYYY-NNN.
  6. Batch context: which batch the work belongs to and whether the beer volume is known.

Facts are shared, verdicts are owned. The registry says what a hazard is and how it behaves under heat, drying, freezing, alcohol or fermentation. Each specialist decides whether its own process is safe with it. The router never overrides a specialist's verdict; it adds only what no single specialist can see: totals across preparations in the same beer, allergens, interactions.

Routes

Routes pick specialists by the roles their modes carry, so a new specialist joins a route as soon as it is registered.

Route Use it for Who runs, in which mode You get
R1 Question One factual question The specialist that owns the topic, no mode Its answer, with its confidence tags
R2 Dossier Everything about one ingredient Every specialist, its analysis mode One combined dossier; the registry entry and each catalogue row to paste
R3 Explore Options from ingredients, a flavour target or a beer Router intake if a beer is involved; every specialist's options mode; then the chosen owner's design mode 2-4 directions across specialists, a recommendation, then a full design
R4 Existing design or formula Critique, log or debrief of one design; critique of your own formula The design's own specialist, critique, log or debrief; your formula is split by process and each part goes to its owner That specialist's output; parts no specialist owns are marked not assessed
R5 Batch Log or debrief a whole beer Router writes the batch entry and the totals; each preparation's owner writes its own block One entry per beer: combined sugar, acid, alcohol, cyanide and CO₂, allergens; at debrief, each miss routed to the skill that made it
R6 Registry Add, correct or check ingredients and preferences Router only The YAML block to paste, then the check to run

Specialists and modes

The two tables below are generated from the specialist register. Use the short name and mode number as a directive: maillard:5, treatments:2. Modes are grouped by specialist.

Generated from ingredient-studio/data/specialists.yaml by specialists_check.py --render-guide. Edit the register, not this table.

Specialists

Specialist Short name Owns Version Status Guide
fruit-maillard-prep maillard Cooked jars at up to 121 °C (A1, A2, B, C), raw fruit into the beer (D), botanical spirit tinctures (T), kernels and cyanide, beer-side sugar, acid, K+ and FAN, dose arithmetic v7 in use, published v7 Maillard Skill
ingredient-treatments treatments Freeze-thaw; cold, vacuum and warm maceration; oleo-saccharum and sugar maceration; low-temperature drying; dry toasting at 140 °C or below; lacto pre-ferment; fat-washing; hydrosol; oak and other woods (no smoking) v1 in use, published v1 Treatments Skill
ingredient-sensory sensory Native aroma and flavour descriptors, impact compounds, odour thresholds and potency, persistence through fermentation, masking planned
ingredient-precedent precedent Use in beer and other drinks, culinary pairings, with sources graded planned

Modes

Directive Mode Roles What it does
fruit-maillard-prep (maillard)
maillard:1 Ingredients-first options, design 2-4 directions from ingredients you have, then a build
maillard:2 Target-first options, design From a flavour target back to compounds, stages and ingredients
maillard:3 Base beer first intake, options, design Intake on a beer, then a target-first build to its constraints
maillard:4 Critique critique What will actually happen to a formula; the top tweaks
maillard:5 Ingredient analysis analysis Chemistry verdict, catalogue row, registry entry
maillard:6 Batch-log entry log Component block with a scoreable prediction
maillard:7 Debrief debrief Scores the prediction; reference corrections; pH calibration row
ingredient-treatments (treatments)
treatments:1 Options options 2-4 treatment directions for an ingredient or target
treatments:2 Design design Full treatment plan: parameters, holds, beer-side sums, hazard verdicts
treatments:3 Critique critique What a treatment plan will do; rule breaches first
treatments:4 Ingredient analysis analysis Which treatments suit, which to avoid, hazard verdicts, facet row
treatments:5 Log block log Component block for the batch log
treatments:6 Debrief debrief Scores the prediction; corrections to its references

Files the router keeps

File What it is You
ingredient-studio/data/registry.yaml Every ingredient: ID, aliases, hazards and their behaviour, house preferences, the designs that used it Paste the blocks the skills give you
ingredient-studio/data/specialists.yaml The specialist register: short names, versions, what each owns, modes and roles, guide pages Changed only when a specialist is added or updated
ingredient-studio/data/batch-log.md The batch log: one entry per beer, one block per preparation Paste the blocks
ingredient-studio/scripts/registry_check.py Checks the registry against every specialist's catalogue Run after pasting; --render refreshes the index
ingredient-studio/scripts/specialists_check.py Checks the register against the skill folders; renders the tables on this page Run after a specialist changes
ingredient-studio/evals/issues.md Errors found in use and how they were fixed Add to it when something goes wrong
ingredient-studio/evals/routing-cases.md Worked examples of the route the router should propose Reference only

Typical flows

  • New ingredient: R2 <ingredient> → paste the registry entry and catalogue rows → studio:check.
  • New preparation: free-form request → approve the R3 proposal → pick a direction → design → maillard:6 or treatments:5 for the log block → cook or treat → debrief at 6 and 18 months.
  • Two preparations in one beer: design each, then R5 to log them as one batch so the totals are summed.
  • Hand a design to the wiki: "send to the wiki" → wiki-intake → wiki-publish.

Choosing the model

Job Default Why
Design, critique, debrief, dossier Opus 5, high effort Arithmetic and safety verdicts; a missed hazard is costly
Directed question, registry update, studio:check Sonnet 5, medium Short, and checked by the scripts

Adding or updating a specialist

Every specialist meets the contract in ingredient-studio/references/specialist-contract.md: numbered modes with roles, a catalogue keyed by registry ID with hazard verdicts, a log block the router can sum, standalone use, and a guide page here. The steps for adding, updating or retiring one, including the wiki guide and this page's tables, are in ingredient-studio/references/specialist-lifecycle.md.

Versions

Skill Version Date Download Change
ingredient-studio 2.0 2026-09-23 ingredient-studio-2.0.zip First release: preflight checks, routing proposals, directives, routes R1–R6, registry r3 (58 entries), specialist register, batch log v5, both checkers
ingredient-treatments 1 2026-09-23 ingredient-treatments-1.zip First release; see its guide
fruit-maillard-prep 7 2026-09-22 fruit-maillard-prep-7.zip See its guide

Guides

Page Summary Updated
Maillard Skill How to run the fruit-maillard-prep skill: modes, the 15-point output contract, the calculator, batch life-cycle, defaults and refusals. 2026-09-23
Treatments Skill How to run the ingredient-treatments skill: its nine processes, six modes, the safety rules that bite, and its calculator. 2026-09-23

Installing the skills

For anyone downloading them. Brief by design: if something here is unclear, hand this section and the zips to your own AI.

  1. Download the router and the specialists you want (links at the top). Each zip is one skill folder, CC0.
  2. Put the folders side by side in one skills directory, names unchanged: ingredient-studio/, fruit-maillard-prep/, ingredient-treatments/. The skills find each other through relative paths (../ingredient-studio/data/registry.yaml); a specialist without the router beside it works standalone from its own data/ files.
  3. Install them where your Claude setup reads skills: upload each folder in Claude (Settings → Capabilities → Skills), or point Claude Code or Cowork at the directory. The scripts need Python 3 and PyYAML (pip install pyyaml).
  4. Make the data yours. The zips ship the ingredient registry with its entries and hazards but no house preferences or design links, an empty batch log, and each specialist's data/setup.md describing this brewery's kit. Edit setup.md to your equipment first: specialists plan only around kit listed as held. Set house: preferences in registry.yaml as you go.
  5. Check the install: python ingredient-studio/scripts/specialists_check.py and python ingredient-studio/scripts/registry_check.py, or ask the router for studio:check. Both should report no errors.
  6. Adapt: the register (data/specialists.yaml) lists which specialists exist; remove the ones you did not install, or mark them planned. To add your own specialist, follow references/specialist-contract.md and references/specialist-lifecycle.md. The guide: paths point at this wiki's pages; they are only checked with --repo.

The skills assume a mixed-fermentation home brewery working in 4.5 L carboys and UK units and rules (FSA, HMRC). The safety rules are written for that setting; read setup.md and the safety references before you rely on them.