← CrumbPassCONTENT HISTORY

Update to CrumbPass

Snapshot Oct 29, 2026 · 12:06 UTC · version 2.0.0

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save CrumbPass and check future changes in Following.

Up to 10 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Turns a restaurant menu from a photo, PDF, screenshot, spreadsheet or pasted text into a clean CrumbPass menu with categories, prices and diet marks, then imports it with bulk_import_menu. Use when the owner wants to add many dishes at once, digitise a printed menu, copy a menu from another source, or set up a new restaurant's menu.",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 187
    },
    {
      "relative_path": "references/tools.md",
      "size_in_bytes": 2353
    }
  ],
  "name": "menu-import",
  "skill_md_contents": "---\r\nname: menu-import\r\ndescription: Turns a restaurant menu from a photo, PDF, screenshot, spreadsheet or pasted text into a clean CrumbPass menu with categories, prices and diet marks, then imports it with bulk_import_menu. Use when the owner wants to add many dishes at once, digitise a printed menu, copy a menu from another source, or set up a new restaurant's menu.\r\nlicense: Proprietary\r\nmetadata:\r\n  author: crumbpass\r\n  version: \"1.0\"\r\n---\r\n\r\n# Import a menu into CrumbPass\r\n\r\nThe connected restaurant is fixed by the owner's authorization. Every tool acts on that one restaurant.\r\n\r\n## Steps\r\n\r\n1. **Read what exists first.** Call `get_menu`. Note existing category and dish names so the import adds to the menu instead of duplicating it. Matching is by name, case-insensitive.\r\n2. **Extract the menu.** From the owner's source, list each category and its dishes with name, price and description. Keep the owner's wording, spelling and order. Do not invent dishes, prices or descriptions.\r\n3. **Normalise.**\r\n   - Prices are numbers in the restaurant's currency: `₹350` → `350`, `350/-` → `350`. If a dish has several sizes, create one dish per size (\"Pizza (Regular)\", \"Pizza (Large)\") unless the owner says otherwise.\r\n   - If a price is missing or unreadable, leave the dish out and list it for the owner instead of guessing.\r\n   - Category names: short and as printed (\"Starters\", \"Main Course\", \"Desserts\").\r\n4. **Set diet marks only from evidence.** Use the menu's own marks (green/red dots, \"veg\", \"non-veg\", \"contains egg\") or unambiguous ingredients. `isVegetarian` is required: set it true only for veg dishes. Also send `diet` (`veg`, `egg` or `nonveg`). When unsure, ask the owner. A wrong veg mark is a serious error for guests. The dish-labels skill has the full labelling rules.\r\n5. **Confirm before writing.** Show the owner a compact summary: categories, dish count, any dishes skipped and why, and anything uncertain. Import only after they agree.\r\n6. **Import in batches.** Call `bulk_import_menu` with at most about 40 dishes per call. Report what was created after each call.\r\n7. **Finish.** Call `get_menu` again and summarise the result. Offer the next useful steps: labels (spice, highlights), photos, and ordering.\r\n\r\n## Edge cases\r\n\r\n- **Duplicates:** if a dish already exists with the same name, do not import it again; offer `update_menu_item` for price or description changes instead.\r\n- **Combos and add-ons:** import as ordinary dishes with a clear name (\"Extra cheese\") only if they have their own price.\r\n- **Hidden or seasonal dishes:** import them, then ask whether to hide any with `update_menu_item` (`isActive: false`).\r\n- **Starting over:** `clear_menu` permanently deletes every category and dish. Show the complete current menu and obtain explicit approval before calling with `confirm: true`.\r\n\r\nTool details: [tool reference](references/tools.md).\r\n"
}

SHA-256 of public snapshot: 50df80abf7d174bdeee31ff68b1ac3ad5482309dfe4361e048254a675661f509