# Send GoList to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "golist",
    "name": "GoList",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/daniel17903/golist",
    "canonicalUrl": "https://clawhub.ai/daniel17903/golist",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/golist",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=golist",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "golist_cli.py"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/golist"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/golist",
    "downloadUrl": "https://openagent3.xyz/downloads/golist",
    "agentUrl": "https://openagent3.xyz/skills/golist/agent",
    "manifestUrl": "https://openagent3.xyz/skills/golist/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/golist/agent.md"
  }
}
```
## Documentation

### 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:

creating new lists,
joining shared lists via share token,
saving known lists (name + id) and switching between them,
generating share tokens for users,
reading lists,
upserting items,
soft-deleting items.

### Hard constraints

API base URL is fixed to https://go-list.app/api and must never be overridden.
OpenClaw must generate its own random device UUID and persist it for reuse.
Every request must include the X-Device-Id header.
For item writes, OpenClaw must only set:

name (required),
deleted (optional, defaults to false),
quantityOrUnit (optional).


OpenClaw must generate all item UUIDs and timestamps in the Python CLI (never require the agent to provide them).
Immediately after creating a new list, OpenClaw must always generate a share token and send the share URL to the user without being asked.
When talking to the user, OpenClaw must never refer to lists by ID; always use list names (use the stored name↔id mapping internally).
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

Fixed API base URL: https://go-list.app/api.
Generates and persists device id when missing.
Generates list IDs and item IDs when creating entities.
Generates item updatedAt timestamps on write operations.
Automatically sends X-Device-Id on every request.
Persists known lists with friendly names and IDs, and tracks an active list.

### CLI state and environment

Optional environment:

GOLIST_DEVICE_ID (override persisted device id)
OPENCLAW_STATE_FILE (custom path for persisted JSON state)
GOLIST_SHARE_TOKEN (optional token source for bootstrap --share-token)

Persisted state file (default):

~/.openclaw_golist_state.json with:

device_id
active_list_id
known_lists[] containing id + name

### 1) Create a new list

python3 apps/openclaw/golist_cli.py create-list "Weekend groceries"
python3 apps/openclaw/golist_cli.py share

Creates 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 share

Creates 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 show

### 5) 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

“create a new list called X” → create-list "X"
After create-list, always run share and send the URL/token to the user.
“share this list with me” → share
“join this token” → join <token>
“show my lists” → lists
“switch to list X” → use-list "X"
“show current list” → show
“add X (qty)” → upsert "X" [--quantity "..."]
“remove X” → delete "X"

### Safety behavior

If device id is missing, generate and persist it before any API call.
If no active list is set, require create-list or join first.
If token redemption fails, return a clear auth/share error.
In user-facing responses, refer to lists by name only (never by raw ID).
Do not invent item quantities; only send --quantity when the user asked for one.
Never send item metadata fields outside name, deleted, and optional quantityOrUnit.
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: daniel17903
- Version: 1.0.1
## Source health
- Status: healthy
- Source download looks usable.
- Yavira can redirect you to the upstream package for this source.
- Health scope: source
- Reason: direct_download_ok
- Checked at: 2026-04-30T16:55:25.780Z
- Expires at: 2026-05-07T16:55:25.780Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/golist)
- [Send to Agent page](https://openagent3.xyz/skills/golist/agent)
- [JSON manifest](https://openagent3.xyz/skills/golist/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/golist/agent.md)
- [Download page](https://openagent3.xyz/downloads/golist)