GoList

# GoList Shared-List Manager (OpenClaw Skill)

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "GoList" with this command: npx skills add 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:

  • 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

  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

  • 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

Core flows

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.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

Ai Freelancing Guide

Provides a complete guide to AI freelancing including niche analysis, pricing, client acquisition, proposal templates, and delivery workflows.

Registry SourceRecently Updated
Coding

Ai Code Assistant

提供多语言AI智能代码处理与批量自动化,显著提升开发效率,适合企业、团队及自由职业者。

Registry SourceRecently Updated
Coding

Life Control

Orchestrate the Life Control CLI skill for OpenClaw agent fleets: initialize the Life Control database, register agent personas, wire Telegram bots, and run daily routines (Morning Alignment, Body Protocol, Financial Pulse, Social Radar, Work Priming, Shutdown). Use when a user asks to create or run a Life Control system, OpenClaw skill integration, or agent persona automation for personal life tracking.

Registry SourceRecently Updated