From soap-calc
Manage the user's soap-making supply inventory (oils, butters, fats, additives). Cross-references items against the soap-calc oil and additive JSON databases and saves a validated inventory.md file. Use when the user: (1) lists oils or additives they have on hand, (2) asks to add or remove items from their inventory, (3) asks to show, update, or clear their inventory, or (4) says things like "here's what I have" or "add castor oil to my inventory." Do NOT use for recipe formulation or lye calculations — use the soap-formulation skill for those.
How this skill is triggered — by the user, by Claude, or both
Slash command
/soap-calc:inventoryThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
When a user tells you what oils, butters, fats, and/or additives they have on hand, parse their input, validate each item against the project databases, and save a structured `inventory.md` file.
When a user tells you what oils, butters, fats, and/or additives they have on hand, parse their input, validate each item against the project databases, and save a structured inventory.md file.
Other skills (like Soap Formulation) can optionally read this file to constrain recommendations — but only when the user explicitly asks.
The skill uses a hybrid approach with priority:
./inventory.md (current directory) — project-specific inventory~/.soap_calc/inventory.md (user home) — global user inventoryReading: Checks current directory first, then falls back to user default.
Writing: When creating a new inventory or if the user asks to "save" without specifying, ask which location to use:
Updating/Removing: Modify whichever file currently exists. If both exist, modify the current directory one (higher priority).
For every item the user mentions:
soap-calc list-oils "{name}" or the Python API search_oils(query) to fuzzy-match against data/oils.json.data/additives.json and match by name (case-insensitive substring).~/.soap_calc/oils.json.For new inventories (no existing file found):
./inventory.md) or user default (~/.soap_calc/inventory.md)?"For updates (inventory already exists):
inventory.mdAlways start from the template:
assets/inventory.template.md (relative to this skill folder)last_updated in both frontmatter and body to current date (YYYY-MM-DD)*(none)* in Oils section with populated table (or keep *(none)* if empty)*(none)* in Additives section with populated table (or keep *(none)* if empty)Data formatting rules:
{min}–{max} {unit}/{per} (e.g., 1–3 tsp/lb oils). If min equals max, show just one value*(none)* instead of the tableWhen the user asks to add items:
./inventory.md first, then ~/.soap_calc/inventory.md)When the user asks to remove items:
When the user asks to show their inventory:
When the user asks to clear their inventory:
After saving, briefly summarize:
soap-calc list-oils "olive" → exact match: "Olive Oil". Add to oils table.soap-calc list-oils "coconut" → multiple matches: "Coconut Oil (76°)", "Coconut Oil (92°)", "Coconut Oil, Fractionated". Ask the user which variant(s).soap-calc list-oils "shea" → exact match: "Shea Butter". Add to oils table.data/additives.json for "sodium lactate" → match found with usage 1–3 tsp/lb oils, stage "Lye Liquid". Add to additives table.assets/inventory.template.md, populate tables with matched items, write to chosen location../inventory.md first, then ~/.soap_calc/inventory.md.soap-calc list-oils "castor" → exact match: "Castor Oil".soap-calc list-oils "argan" → match: "Argan Oil". Add to oils.soap-calc list-oils "beeswax" → match: "Beeswax". Add to oils.data/additives.json for "vitamin E" → match found. Add to additives.soap-calc not installed: Tell the user to run pip install -e . from the project root. Do not attempt to read data/oils.json directly as a fallback — the CLI provides fuzzy matching that raw JSON lookups don't.data/oils.json, data/additives.json): Likely means the user is outside the project directory or the package isn't installed. Ask the user to confirm they're in the soap-calc project root.~/.soap_calc/ fails, try ./inventory.md, or vice versa).soap-calc list-oils.inventory.md file exists as a reference. Other skills must be explicitly told to use it (e.g., "use my inventory", "make a recipe with what I have").npx claudepluginhub mikewolfd/soap-calcTeaches stable oil-water suspension technique for mayonnaise, hollandaise, vinaigrette, and pan sauces.
Deep research prompt for supplement/product ingredient evidence — gathers studies, claims, citations, and DR-relevant proof points for the R in RMBC
Prepares herbal remedies from Hildegard von Bingen's Physica, covering plant identification, preparation methods, dosage, and safety. Useful for medieval herbal medicine or holistic health practice.