Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器clawhub未标认证来源可访问clear审计提醒

food-cal-order食品校准订单

Agent Skill

food-cal-order 用于处理浏览器自动化、网页检查和页面信息提取,适合在 OpenClaw 中需要让 Agent 打开页面、读取网页或验证前端流程时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

41,951

周安装

1,802

GitHub Stars

4

下载量

14,704
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:food-cal-order(食品校准订单)
来源仓库:https://github.com/thisisjeron/food-cal-order
安装命令:
openclaw skills install food-cal-order
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install food-cal-order

简介

通过浏览器自动化订购食品配送,由日历事件触发执行。

  • 支持 Direct 模式(指定餐厅)和 Discovery 模式(推荐选择)。
  • 需配置目标服务与支付方式以完成下单。
  • 建议先在测试环境验证流程稳定性。
  • 注意隐私保护与支付信息安全。food-cal-order 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

name
food-cal-order
description
Order food delivery via browser automation, triggered by calendar events. Supports two modes — Direct (specific service + restaurant) and Discovery (criteria-based search across all services). Services include DoorDash, Uber Eats, Grubhub. Use when a calendar event matches food ordering patterns. Spawns sub-agents for browser control.

Food Calendar Order

Place food delivery orders via browser automation, triggered by calendar events.

Security & Prerequisites

Read before using this skill.
  • Chrome profile access: This skill opens your local Chrome profile, which contains your saved logins, payment methods, and delivery addresses. Sub-agents will interact with these directly.
  • Real charges: Confirming an order will charge your saved payment method. There is no sandbox — this is a live transaction.
  • Trusted trigger source: Only calendar events you created yourself should trigger this skill. Events created or modified by others (shared calendars, external invites) may not reflect your intent. Verify event origin before proceeding.
  • Mandatory confirmation: A pre-checkout summary will be presented before any order is placed. You must explicitly confirm with "yes" — any other response aborts the order.

Modes

Direct Mode

Specific service and restaurant provided.

Title: "DoorDash: Chipotle"
Description: "burrito bowl, chicken, guac"

Discovery Mode

Criteria-based; searches all services to find best match.

Title: "Thai food, high ratings, under $30, food for 2"
Description: "no shellfish, prefer noodles"

Calendar Event Parsing

Always read both the title AND description of the calendar event.

Trust warning: Only process events that appear to have been created by the calendar owner. If an event was recently modified by an external party (e.g., a shared calendar attendee or external invite), note this explicitly in the pre-confirmation summary so the user can assess before confirming.

Title → Mode + Target

PatternMode
{Service}: {Restaurant}Direct
Cuisine/criteria onlyDiscovery

Description → Order Details + Constraints

The description carries two kinds of info:

  1. Order details — what to order (items, quantity, servings)
  2. Constraints — things that MUST be honored, safety-critical

Parse the description and extract:

FieldExamplesPriority
items"burrito bowl, chicken, guac"Order details
servings"food for 2", "feeds 4"Order details
allergies"nut allergy", "allergic to shellfish"CRITICAL — never violate
dietary"vegetarian", "halal", "gluten-free", "no pork"CRITICAL — never violate
preferences"prefer noodles", "extra spicy", "no onions"Best-effort
budget"under $30", "keep it cheap"Constraint
delivery_notes"gate code 1234", "leave at door"Pass to checkout
special_requests"birthday cake candle", "extra napkins"Best-effort

Allergy/dietary constraints are non-negotiable. If unsure whether an item is safe, skip it and pick a clearly safe alternative. When in doubt, err on the side of caution — wrong food is annoying, an allergic reaction is dangerous.

Parsing Example

Title: "DoorDash: Chipotle"
Description: "2 burrito bowls (chicken), guac on the side. Nut allergy. Gate code: 5521"

Extracted:

  • items: 2x burrito bowl (chicken), guacamole (side)
  • allergies: nuts
  • delivery_notes: gate code 5521
Title: "Thai food, high ratings, under $30, food for 2"
Description: "no shellfish, prefer noodles, gluten-free if possible, leave at door"

Extracted:

  • servings: 2
  • budget: $30
  • allergies: shellfish
  • dietary: gluten-free (best-effort — "if possible")
  • preferences: noodles
  • delivery_notes: leave at door

Supported Services

  • DoorDash — prefix DoorDash:, url doordash.com
  • Uber Eats — prefix UberEats: or Uber Eats:, url ubereats.com
  • Grubhub — prefix Grubhub:, url grubhub.com

Direct Mode Execution

Spawn a single sub-agent with inline instructions:

sessions_spawn(
  task: """
Order food delivery via browser automation.

SERVICE: {service}
RESTAURANT: {restaurant}
ITEMS: {items}
ALLERGIES: {allergies or "none"}
DIETARY: {dietary or "none"}
PREFERENCES: {preferences or "none"}
DELIVERY_NOTES: {delivery_notes or "none"}
ADDRESS: {address or "use saved default"}

⚠️ ALLERGY/DIETARY RULES:
- NEVER add items containing allergens listed above
- When customizing items, REMOVE ingredients that conflict (e.g., "no peanuts")
- If an item cannot be made safe → skip it, note why in report
- Check item descriptions and ingredient lists on the menu

BROWSER STEPS:
1. Open {service_url} using Chrome profile (NOTE: this profile contains your saved logins,
   payment methods, and delivery addresses — a real charge will be made on confirmation)
2. Verify logged in (account icon visible, not "Sign In")
   - If not logged in → ABORT, report "Please log into {service} in Chrome first"
3. Search for "{restaurant}" using search bar
4. Click matching restaurant from results
   - If not found or closed → ABORT, report reason
5. For each item in ITEMS:
   - Find item on menu (use semantic matching)
   - Check description for allergen conflicts before adding
   - Click to open customization modal
   - Select required options (size, protein, etc.)
   - Apply customizations as specified
   - Apply allergy-related modifications (remove conflicting ingredients)
   - Apply PREFERENCES if customization options exist
   - Click "Add to cart/bag/order"
6. Open cart and verify:
   - Contents match ITEMS
   - No allergen conflicts in final order
   - Note any substitutions or issues
7. Proceed to checkout
   - Confirm delivery address (use saved default)
   - Add DELIVERY_NOTES if supported (special instructions field)
   - Confirm payment method (use saved default)
   - Note delivery ETA and total

7b. PAUSE — present order summary to user and request explicit confirmation:
    "Ready to place order:
     • Restaurant: {restaurant} via {service}
     • Items: {items}
     • Total: ${amount}
     • Delivery to: {address}
     • ETA: {eta}
     Confirm? (yes / no / cancel)"

    WAIT for user response.
    - "yes" → proceed to step 8
    - anything else → ABORT, do NOT place order

8. Click "Place Order"
9. Wait for confirmation, capture order number and ETA

REPORT FORMAT:
✅ Order confirmed: {restaurant} via {service}, ETA {time}, total ${amount}
   Allergy accommodations: {what was modified or "N/A"}
— OR —
❌ Failed: {reason}

Do NOT checkout if cart doesn't match requested items.
Do NOT checkout if allergen safety cannot be confirmed.
""",
  label: "food-order-{service}"
)

Discovery Mode Execution

Phase 1: Recon (parallel)

Spawn sub-agents for ALL services simultaneously:

sessions_spawn(
  task: """
Search for restaurants on {service}. RECON ONLY — do NOT order.

CRITERIA:
- Cuisine: {cuisine}
- Budget: {budget}
- Rating: {rating_preference}
- Servings: {servings}
- Allergies: {allergies or "none"}
- Dietary: {dietary or "none"}
- Preferences: {preferences}

⚠️ ALLERGY/DIETARY RULES:
- Only recommend restaurants where allergen-safe options clearly exist
- Flag any restaurant where the menu is ambiguous about allergens
- When noting menu highlights, confirm dishes are safe given stated allergies/dietary

BROWSER STEPS:
1. Open {service_url} using Chrome profile (NOTE: this profile contains your saved logins,
   payment methods, and delivery addresses — a real charge will be made on confirmation)
2. Verify logged in
3. Search for "{cuisine}" or "{cuisine} food"
4. Apply filters if available (rating, price level, delivery time)
5. For top 3 restaurants:
   - Note: name, rating (stars + review count), price level ($/$$/$$$)
   - Note: delivery time estimate, delivery fee
   - Click into restaurant, scan menu for items matching cuisine
   - Note 2-3 standout dishes and typical entree price
   - Check if menu items list ingredients or allergen info
   - Flag any allergen concerns for highlighted dishes

RETURN FORMAT:
## {service} Results

### 1. {Restaurant Name}
- Rating: {stars} ({count} reviews)
- Price: {$/$$/$$S} (~${X}/person)
- Delivery: {time} min, ${fee} fee
- Menu highlights: {dishes matching criteria}
- Allergen safety: {safe / caution / unclear} — {notes}
- Fits constraints: {yes/no + notes}

### 2. ...
### 3. ...

**Best match:** {pick} because {reason}
""",
  label: "food-recon-{service}"
)

Phase 2: Decision

After all recon sub-agents return, aggregate and compare:

ServiceRestaurantRating$/personETAFits Constraints
..................

Select winner based on:

  1. Allergen safety first — eliminate any restaurant where safety is "unclear" or "caution" unless no safe options exist
  2. Must fit cuisine and dietary constraints
  3. Must be achievable within budget (leave 25% for fees/tip)
  4. Prefer higher rating
  5. Prefer faster delivery
  6. Menu fits stated preferences

Decide on order: Based on servings and preferences, plan a good meal:

  • For 2: typically 1 appetizer + 2 entrees, or 2-3 shareable plates
  • Stay within budget
  • Never include items that conflict with allergies/dietary constraints
  • Lean into preferences ("prefer noodles" → include noodle dish)
  • If allergy info is ambiguous for an item, pick a clearly safe alternative

Phase 3: Order

Spawn order sub-agent for winning service (use Direct Mode task prompt above, with decided items).

State Tracking

Track in memory/food-order-state.json:

{
  "ordered": {
    "{calendar_event_id}": {
      "at": "2026-02-06T19:00:00",
      "mode": "discovery",
      "criteria": "Thai food, high ratings, under $30, food for 2",
      "constraints": {
        "allergies": ["shellfish"],
        "dietary": ["gluten-free"],
        "delivery_notes": "leave at door"
      },
      "service": "doordash",
      "restaurant": "Thai Basil",
      "items": ["spring rolls", "pad thai (no shrimp)", "green curry"],
      "status": "confirmed",
      "eta": "7:35 PM",
      "total": 28.47
    }
  }
}

Prune entries older than 24h on each check.

Error Handling

ErrorAction
Not logged inAbort, notify user to log in via Chrome
Restaurant closedDirect: abort. Discovery: use next-best from recon
No matches foundNotify user, suggest broadening criteria
Over budgetPick cheaper option or reduce order, note adjustment
Item unavailableClosest substitute, note in confirmation
Allergen conflictNever order the item. Pick safe alternative or skip. Flag in report
Allergen info unclearSkip item, pick clearly safe alternative. Note uncertainty in report

Reference Files

Service-specific gotchas and UI element locations in references/:

These document service quirks (promo modals, tip screens, etc.). Key steps are inlined in task prompts above for sub-agent self-sufficiency.

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

77.69%
按下载量换算11,424

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

未展示

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills