GoList Shared-List Manager (OpenClaw Skill)
Enable OpenClaw to manage GoList through a simple, beginner-friendly CLI wrapper around the backend API.
by daniel17903 · published 2026-03-22
$ claw add gh:daniel17903/daniel17903-golist# GoList Shared-List Manager (OpenClaw Skill)
Purpose
Enable OpenClaw to manage GoList through a simple, beginner-friendly CLI wrapper around the backend API.
GoList is a simplistic app for creating and sharing grocery / shopping lists. This skill is designed to make first-time usage feel fast and approachable: create a list, add items, share with others, and switch between saved lists with minimal setup.
This skill supports:
Hard constraints
1. API base URL is fixed to `https://go-list.app/api` and must never be overridden.
2. OpenClaw must generate its own random device UUID and persist it for reuse.
3. Every request must include the `X-Device-Id` header.
4. For item writes, OpenClaw must only set:
- `name` (required),
- `deleted` (optional, defaults to `false`),
- `quantityOrUnit` (optional).
5. OpenClaw must generate all item UUIDs and timestamps in the Python CLI (never require the agent to provide them).
6. Immediately after creating a new list, OpenClaw must always generate a share token and send the share URL to the user without being asked.
7. When talking to the user, OpenClaw must never refer to lists by ID; always use list names (use the stored name↔id mapping internally).
8. For item upserts, if the user does not explicitly provide a quantity/unit, OpenClaw must omit `quantityOrUnit`.
Python CLI tool
Use `apps/openclaw/golist_cli.py` as the operational API wrapper for this skill.
CLI guarantees
CLI state and environment
Optional environment:
Persisted state file (default):
- `device_id`
- `active_list_id`
- `known_lists[]` containing `id` + `name`
Core flows
1) Create a new list
python3 apps/openclaw/golist_cli.py create-list "Weekend groceries"
python3 apps/openclaw/golist_cli.py shareCreates a list with a generated UUID, stores it in known lists, sets it as active, then immediately creates a share token and returns the share URL to the user.
2) Share a list with a user
python3 apps/openclaw/golist_cli.py shareCreates a share token for the active list and returns both token + share URL.
3) Join an existing list via share token
python3 apps/openclaw/golist_cli.py join <share-token-uuid>Redeems the token, fetches the real list name from the API, stores that name+id mapping, and sets it active.
4) Switch/access saved lists
python3 apps/openclaw/golist_cli.py lists
python3 apps/openclaw/golist_cli.py use-list "Weekend groceries"
python3 apps/openclaw/golist_cli.py show5) Item writes (restricted fields)
python3 apps/openclaw/golist_cli.py upsert "milk" [--quantity "2 L"] [--deleted]
python3 apps/openclaw/golist_cli.py delete "milk"Intent mapping for OpenClaw
Safety behavior
More tools from the same signal band
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).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...