agentleFS
cook-mdcook-md/cook-mcp/skills/shopping-list/SKILL.md

shopping-list

Skill1 starsChanged 39 days agoMITView on GitHub

Use when the user asks for a shopping or grocery list from Cooklang recipes (.cook) or a meal plan (.menu), or wants store-aisle grouping (config/aisle.conf) for their lists.

5 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

2 rules. 0 are common, 1 is distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 4 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use when the user asks for a shopping or grocery list from recipes or a meal plan.

    line 10
  2. Very specific:

    Call shopping_list with recipes: paths exactly as those tools returned them.

    line 17

“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Skill: shopping-list

Needs the Cook MCP server (tools like shopping_list and search_recipes). If these tools are missing, the Cook MCP server isn't connected: if you installed the cooklang plugin or extension, check that its cook server is running (e.g. /mcp) or reinstall it; otherwise add it from https://github.com/cook-md/cook-mcp. Never sum quantities by hand instead.

Use when the user asks for a shopping or grocery list from recipes or a meal plan.

Use the shopping_list tool. It does the arithmetic: merges duplicate ingredients across recipes, follows recipe references (a .menu's recipes and their sub-recipes), groups items by aisle from config/aisle.conf, and subtracts what config/pantry.conf already holds. Never hand-sum quantities yourself — it is error-prone and drifts from what the user's apps compute.

Workflow

  1. Find the recipes or plans: search_recipes when the user names dishes, list_recipes (kind: "menu" for plans) to browse. Never reference a recipe that is not in the collection.
  2. Call shopping_list with recipes: paths exactly as those tools returned them. Append :N to scale one entry, e.g. "Dinner/Pasta.cook:2" for a double batch. A .menu plan is one entry; its own {N%servings} references already set the amounts.
  3. Pantry: by default items in stock are subtracted. Set ignore_pantry: true when the user wants the full list (e.g. shopping for someone else's kitchen).
  4. Format: the default JSON is grouped by aisle — present it as a grouped checklist. Set format: "markdown" when the user wants text to paste or print.
  5. Report diagnostics that matter: references that didn't resolve, ingredients that couldn't be merged because their units differ.

Aisle grouping

Items not listed in config/aisle.conf are not grouped under a store aisle. Run validate with no arguments to see ingredients with no aisle. If the user wants store-ordered output, author it. The file is a list of [category] sections; order of sections and items is significant — arrange to match the store layout. Define synonyms with |:

[produce]
potatoes

[dairy]
milk
butter

[canned goods]
tuna|chicken of the sea

Save it with write_config (path: "config/aisle.conf"), always the full file — keep the existing sections and add to them. Parse problems come back as warnings in diagnostics; fix them and save again. Afterwards, run validate with no arguments to see ingredients with no aisle.

Saved lists in Cook apps

Cook apps keep a saved list in a hidden .shopping-list file at the collection root: recipe references (./Mains/Carbonara{2}, nested two spaces per level for menu → recipe → sub-recipe) plus free-hand items (olive oil{4%l}, salt), with -- comments. Only author it if the user asks for a list that shows up in their app, and only with your client's file tools; cook-mcp does not write it. The app computes totals from it, so never put summed quantities there.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.