Skills android-order

install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/04551lh/order" ~/.claude/skills/openclaw-skills-android-order && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/04551lh/order" ~/.openclaw/skills/openclaw-skills-android-order && rm -rf "$T"
manifest: skills/04551lh/order/SKILL.md
source content

Android Order Skill (点餐)

This skill uses the paired Android device (

OpenClaw SMS Demo
app with order capability) to manage an in-app menu and cart: get menu, add/remove items, view cart, submit order. Inspired by EdgeOSToolService (MEOW PAY); implementation is in-memory on the device (demo, no real POS backend).

When to use this skill

  • User asks to order food/drinks, view menu, add to cart, or submit an order on the paired Android device: use the
    order.*
    commands below.

Commands overview

CommandDescription
order.getGoods
Return menu (id, name, priceCents, price).
order.getSelectedGoods
Return current cart with quantities and subtotals.
order.addGoods
Add by
id
or
name
(and optional
quantity
).
order.removeGoods
Remove by
id
or
name
(and optional
quantity
).
order.clearGoods
Clear cart.
order.submitOrder
Submit cart as order; returns summary (demo only).
order.batchAddGoods
Add multiple items:
list
=
[{"id":"1","quantity":2},...]
.

How to call the underlying commands

Invoke via the OpenClaw gateway node invoke API:

  • command: one of
    order.getGoods
    ,
    order.getSelectedGoods
    ,
    order.addGoods
    ,
    order.removeGoods
    ,
    order.clearGoods
    ,
    order.submitOrder
    ,
    order.batchAddGoods
    .
  • paramsJSON: JSON object string, or
    null
    for no-param commands.

order.getGoods

  • command
    :
    "order.getGoods"
  • paramsJSON
    :
    null
    or
    "{}"
  • Success: payload is a JSON array of
    { "id", "name", "priceCents", "price" }
    .

order.getSelectedGoods

  • command
    :
    "order.getSelectedGoods"
  • paramsJSON
    :
    null
    or
    "{}"
  • Success: payload is a JSON array of cart items with
    id
    ,
    name
    ,
    quantity
    ,
    priceCents
    ,
    subtotalCents
    .

order.addGoods

  • command
    :
    "order.addGoods"

  • paramsJSON
    : provide id or name (or both); optional quantity (default 1).

    { "id": "1", "quantity": "2" }
    

    or

    { "name": "拿铁", "quantity": "1" }
    
  • Success: payload includes

    success: true
    and
    message
    (e.g. "已添加 拿铁 x1").

order.removeGoods

  • command
    :
    "order.removeGoods"
  • paramsJSON
    : same shape as addGoods (
    id
    or
    name
    , optional
    quantity
    ).

order.clearGoods

  • command
    :
    "order.clearGoods"
  • paramsJSON
    :
    null
    or
    "{}"
    .

order.submitOrder

  • command
    :
    "order.submitOrder"
  • paramsJSON
    :
    null
    or
    "{}"
    .
  • Success: payload includes
    success
    ,
    message
    ,
    totalCents
    ,
    items
    . Cart is cleared after submit.
  • Error:
    CART_EMPTY
    if cart is empty.

order.batchAddGoods

  • command
    :
    "order.batchAddGoods"
  • paramsJSON
    :
    { "list": "[{\"id\":\"1\",\"quantity\":2},{\"id\":\"2\",\"quantity\":1}]" }
  • Success: payload includes
    success
    and
    message
    (e.g. "已批量添加 2 项").

Error handling

  • GOODS_NOT_FOUND: No menu item matched the given id or name. Suggest calling
    order.getGoods
    to see the menu.
  • NOT_IN_CART: Item not in cart when removing.
  • CART_EMPTY: Cannot submit when cart is empty.
  • INVALID_REQUEST: Missing or malformed params (e.g. empty
    list
    for batchAddGoods).

Demo menu (default on device)

The in-app menu includes items such as: 拿铁, 美式, 卡布奇诺, 三明治, 沙拉, 蛋糕 (with ids "1"–"6"). Use

order.getGoods
to get the current list and prices.

Safety notes

  • This is a demo flow: submit order does not charge or send to a real POS. Do not expose as real payment.
  • Prefer confirming with the user before submitting an order (e.g. read back cart and total).