Standing assistant for managing a farmers-market food business: a growing local library of ingredients (with prices), recipes, an overhead/event profile, and a menu of products (goods sold) with the price charged, computed margin, and a personal high/mid/low popularity rating. Use this skill whenever the user wants to price or cost a recipe, add a new good to their menu, update an ingredient price, see their menu with margins, rate how a good sold, or review which goods to make more or less of. Triggers include "price this," "cost this out," "add this recipe," "how much does it cost to make X," "what's my margin on Y," "show my menu," "the lemon bars were a hit," and any mention of booth/market pricing, margin, or markup for something they bake or cook.
How this skill is triggered — by the user, by Claude, or both
Slash command
/recipe-cost-calculator:recipe-cost-calculatorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill is a standing assistant for someone who sells baked/cooked goods at a
This skill is a standing assistant for someone who sells baked/cooked goods at a recurring farmers market. It maintains a growing local library (SQLite) of:
For each product it shows two independent signals: margin (computed from
cost vs. your price) and rating (popularity you set by hand). All math runs
in the bundled scripts/market_calc.py (standard-library Python, no install,
no server). Never compute prices by hand.
python3 "<skill_dir>/scripts/market_calc.py" <command> [flags]
<skill_dir> is the folder this SKILL.md lives in. Run commands from the user's
working folder so the database and config resolve to their project. Full
command list: references/commands.md.
The DB location is stored in .recipe-cost-calc.json in the working folder, so
the user is asked only the first time.
Run ... where.
Prints a path → that's the library; continue.
Errors "No database configured" → first run. Ask where to keep data:
"Where should I keep your market library? I'd suggest
./.data/in this folder — press enter to accept, or give me another path."
Then ... setup --db ./.data/market.db (or their path). It writes the config
and an empty library; don't ask again.
This is an assistant, not a single pipeline. Identify intent and jump to the
right section. When in doubt, run ... list-products to see the current menu.
| The user wants to… | Go to |
|---|---|
| Price/cost a recipe, add a new good to the menu | A. Add a good |
| See the menu with costs, prices, margins | ... list-products |
| Record how a good sold / set popularity | B. Rate a good |
| Decide what to make more/less of | ... review |
| Log a price change or new purchase | C. Update costs |
| Set up / change their market overhead | D. Manage events |
... list-ingredients. Match each ingredient
semantically ("flour" → the user's "Gluten-Free 1-to-1 Flour"). Note which
have a density.add-ingredient
(base unit g dry/solid, ml liquid, each count), then add-purchase
with the package quantity + price. Mark estimates: --brand "(est.) Brand".
Use --tags for descriptors (organic, allergen, supplier).update-ingredient "<name>" --density-g-per-ml <g_per_cup / 236.588>.... add-recipe --name "<r>" --yield <N> --yield-unit <u> --item "<Ing>:<qty>:<unit>" ...
Show ... cost-recipe "<r>" and sanity-check per-line and per-unit cost.... suggest-price "<r>" --method <markup|margin> --value <pct> to show cost
(incl. default overhead) and a suggested price. The user usually rounds it to
a clean number. Confirm the price they'll actually charge.... add-product --name "<good>" --recipe "<r>" --sell-price <price> [--packaging <p>] [--tags <t>]
then show ... price-product "<good>" (cost / price / margin / rating).Save the recipe automatically; confirm the sell price before creating the product. Rating starts unset — it's earned at market (workflow B).
When the user reports how something did ("the peach cookies sold out," "nobody
bought the muffins"), set the rating — your high/mid/low signal, separate from
margin:
... update-product "<good>" --rating <high|mid|low>
... add-purchase ... (cost uses the latest
purchase automatically; margins update everywhere).... update-product "<good>" --sell-price <new>.Overhead (booth fee, labor, other costs) is spread over expected units sold to get per-unit overhead, which folds into every good's cost.
... list-event-profiles (the default is marked *default*).... add-event-profile --name "<market>" --expected-units <N> [--booth-fee <$>] [--labor-hours <h>] [--labor-rate <$/h>] [--other-costs <$>] [--location <loc>] --default... set-default-event "<market>".Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Searches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.
npx claudepluginhub wtcooper/market-calculator --plugin recipe-cost-calculator