multiAI Summary Pending
android-order
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
3,556 stars
byopenclaw
Installation
Claude Code / Cursor / Codex
$curl -o ~/.claude/skills/order/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/04551lh/order/SKILL.md"
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/order/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How android-order Compares
| Feature / Agent | android-order | Standard Approach |
|---|---|---|
| Platform Support | multi | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Which AI agents support this skill?
This skill is compatible with multi.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 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
| Command | Description |
|--------|-------------|
| `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).
```json
{ "id": "1", "quantity": "2" }
```
or
```json
{ "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).