Handmade Soap Recipe Design, Now This Smart?
To be honest, when I first saw this skill, I was a bit confused — Handmade soap recipe design? Isn't that just flipping through a book and calculating the lye amount? But after I carefully studied this skill called "Formulate — design one batch," I realized my perspective was too narrow.
This isn't just a simple recipe template; it's a complete recipe design workflow. It's specifically built to help handmade soap makers, when starting a new batch, generate a precisely calculated draft recipe through a structured conversation. The entire process is so rigorous it nearly broke me — it even mandates that "Claude never does lye math." All numbers must come from dedicated tools, and the final recipe must undergo external cross-verification with SoapCalc before it can transition to a "Ready" status.
What Can It Actually Do?
Simply put, this skill serves as the entry point for the handmade soap-making process. Every time you plan to create a new batch of soap, it guides you through the following steps:
- Read Project Documentation: This includes the root-level CLAUDE.md (hard rules), recipe guidelines, method documents, and current inventory (molds, fragrances, base oils) — note, this is read-only access.
- Lock Down the Design Brief: It confirms details with you through conversation, including the mold (determining batch size), purpose (hand soap, bath soap, gifts, etc., determining recipe and superfat ratio), fragrance (checking remaining inventory, vanillin content, etc.), and any special oils or intentions.
- Invoke the Calculator: It uses tools/lye.py to calculate all figures — lye amount, water amount, fragrance amount, etc. Manual calculation or "fine-tuning" is strictly forbidden.
- Generate Draft Recipe: It creates a numbered Markdown file in the recipes/ directory, complete with a full kitchen operation table.
- Await Verification: It marks the recipe as "Draft" and prompts the user to cross-verify the lye amount on SoapCalc. Only after verification passes does it transition to "Ready."
Installation Is Actually Quite Simple
If, like me, you're using an environment that supports Skills (such as Claude Code), installing this skill only requires a single command:
npx skills add https://github.com/bstaruk/soap.git --skill formulate
This command pulls the skill files from the GitHub repository bstaruk/soap, authored by bstaruk. Once installed, you can simply tell it, "Help me design a new batch of handmade soap," and it will automatically enter the recipe design workflow.
If your environment doesn't support npx, you can also directly download the ZIP package, extract it, and place the .skills/formulate directory in the appropriate location — it works just the same.
My User Experience
I tried using this skill to design a simple bath soap batch. At first, it asked me what mold I was using. I mentioned a rectangular one, and it automatically calculated the batch size, even suggesting a fill level between 92-95% — that detail was really thoughtful, because anyone who makes soap knows that filling too much causes overflow, while filling too little wastes space.
Next, it asked about the purpose. I said it was for bath soap, and it recommended the default oil blend and superfat ratio from the recipe. Then it asked about fragrance. I mentioned I had a bottle of lavender essential oil that was almost empty, and it actually reminded me: "This bottle only has 30 grams left. If you want to use it, the batch size needs adjustment, or consider blending with other fragrances." — This is the benefit of reading inventory; it avoids designing a recipe you can't actually produce.
Finally, it generated a draft recipe, listing all the numbers, including lye amount, water amount, fragrance amount, fill rate, and so on. It also specifically reminded me: "This is a draft. Please cross-verify the lye amount on SoapCalc. If it matches, set soapcalc_confirmed to true and status to ready." This level of rigor is truly reassuring.
A Few Notable Details Worth Mentioning
After using it several times, I noticed a few design features of this skill that are particularly clever:
- Read-Only Inventory: It never modifies inventory files. Inventory changes are handled by other skills, preventing accidental modifications.
- No Overstepping: It absolutely never marks a recipe as "Ready" on its own. The status must be changed by the user (or through user manual action) after verification on SoapCalc.
- Built-in Guardrails: If the calculator shows "OVERFLOWS" (exceeding mold capacity), it directly tells you the batch is too large and needs adjustment, rather than letting you force it.
- No Fabricated Data: If it encounters an oil without a SAP value, it stops rather than guessing a number.
These design principles make this skill more than just a tool; it's like having an experienced soap-making master guiding you, ensuring safety and compliance at every step.
Practical Application Scenarios
This skill is best suited for the following scenarios:
- Beginner Soap Making: No need to worry about calculating lye amounts incorrectly — all calculations are automated, with a secondary verification step.
- Inventory Management: It automatically checks existing raw materials each time you design a recipe, preventing duplicate purchases or waste.
- Batch Production: If you make soap frequently, this skill helps maintain recipe consistency, with complete records for every batch.
- Experimentation: Want to try new oils or new fragrances? It helps design experimental recipes within safe parameters.
A Minor Grievance
To be honest, this skill has a strong dependency on the environment. If the project documentation (such as formulation.md) is incomplete, it might ask a few extra questions. Additionally, it requires the use of absolutely precise calculation tools, so if you don't have a Python environment installed, you might need to set that up first. But these are minor issues — compared to the risk of manually calculating lye amounts, this bit of hassle is completely worth it.
In conclusion, if you're a handmade soap enthusiast, or if you're considering building a soap-making management project, this skill is absolutely worth trying. It transforms recipe design from "going by feel" to "going by data," while still retaining the flexibility of conversation. It's absolutely fantastic!