{
  "schemaVersion": "1.0",
  "item": {
    "slug": "bring",
    "name": "Bring! Shopping Lists",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/GrewingM/bring",
    "canonicalUrl": "https://clawhub.ai/GrewingM/bring",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/bring",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=bring",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/api.md",
      "scripts/bring-cli.js"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "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."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "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. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.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/bring"
    },
    "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."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/bring",
    "agentPageUrl": "https://openagent3.xyz/skills/bring/agent",
    "manifestUrl": "https://openagent3.xyz/skills/bring/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/bring/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "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."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "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. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Bring Shopping List Integration",
        "body": "Interact with Bring! shopping lists to manage groceries and shopping items."
      },
      {
        "title": "Prerequisites",
        "body": "The bring-shopping npm package must be installed:\n\nnpm install -g bring-shopping"
      },
      {
        "title": "Initial Setup",
        "body": "Before first use, configure Bring credentials:\n\n./bring configure <email> <password>\n\nCredentials are stored in ~/.openclaw/bring/config.json."
      },
      {
        "title": "List All Shopping Lists",
        "body": "Get all available shopping lists with their UUIDs:\n\n./bring lists\n\nOutput includes list names, UUIDs, and themes."
      },
      {
        "title": "Find a List by Name",
        "body": "Search for a list by partial name match:\n\n./bring findlist \"Home\"\n./bring findlist \"Groceries\"\n\nReturns matching lists with their UUIDs."
      },
      {
        "title": "View List Items",
        "body": "Show all items in a shopping list:\n\n./bring items <listUuid>\n\nOr use the default list (if set):\n\n./bring items\n\nReturns items to purchase and recently purchased items."
      },
      {
        "title": "Add Items",
        "body": "Add an item to a shopping list:\n\n./bring add <listUuid> \"<item-name>\" \"<optional-note>\"\n\nExamples:\n\n./bring add abc-123 \"Latte\" \"2 litri\"\n./bring add abc-123 \"Pane\"\n\nTip: Use item names that match what you already use in the Bring app to ensure icons appear."
      },
      {
        "title": "Remove Items",
        "body": "Remove an item from a shopping list (moves to recent list):\n\n./bring remove <listUuid> \"<item-name>\""
      },
      {
        "title": "Set Default List",
        "body": "Set a default list UUID to avoid passing it each time:\n\n./bring setdefault <listUuid>\n\nAfter setting default, you can use ./bring items without specifying listUuid."
      },
      {
        "title": "Manage List Languages",
        "body": "Set the language for a list (for reference):\n\n./bring setlang <listUuid> it-IT\n./bring setlang <listUuid> es-ES\n./bring setlang <listUuid> en-US\n\nGet the configured language:\n\n./bring getlang <listUuid>\n\nSupported locales: en-US, it-IT, es-ES, de-DE, fr-FR"
      },
      {
        "title": "Adding to a Named List",
        "body": "When user says \"Add milk to the Home list\":\n\nFind the list:\n./bring findlist \"Home\"\n\n\n\nCheck what language/names are used in that list:\n./bring items <listUuid>\n\n\n\nAdd using the appropriate name (match existing items):\n./bring add <listUuid> \"Latte\"  # If list uses Italian\n# or\n./bring add <listUuid> \"Milk\"   # If list uses English"
      },
      {
        "title": "Checking What's Needed",
        "body": "When user asks \"What's on my shopping list?\":\n\n./bring items <listUuid>\n\nOr if default is set:\n\n./bring items\n\nParse and present items in a readable format."
      },
      {
        "title": "Marking Items as Purchased",
        "body": "When user says \"Remove milk from the list\":\n\n./bring remove <listUuid> \"Latte\""
      },
      {
        "title": "Multilingual Families",
        "body": "For families using multiple languages:\n\nCheck existing items in each list to see what language is used\nUse consistent naming - match the names already in the list\nSet list language with setlang for reference\nLearn from context - if a list has \"Latte\", \"Pane\", \"Uova\", it's Italian\n\nThe Bring app automatically shows icons when item names match its catalog. To ensure icons appear, use names that match what the Bring app recognizes for that language."
      },
      {
        "title": "Technical Details",
        "body": "The bring wrapper script sets NODE_PATH for the npm package\nConfiguration stored in ~/.openclaw/bring/config.json\nSession authenticated via email/password\nLists can be shared among family members\nChanges sync in real-time across all devices"
      },
      {
        "title": "Notes",
        "body": "Item names are case-sensitive\nThe \"remove\" command moves items to \"recent\" list (not permanent deletion)\nMultiple family members can share lists\nEach list can use different language conventions\nMatch item names to what's already in your lists for best icon support"
      }
    ],
    "body": "Bring Shopping List Integration\n\nInteract with Bring! shopping lists to manage groceries and shopping items.\n\nPrerequisites\n\nThe bring-shopping npm package must be installed:\n\nnpm install -g bring-shopping\n\nInitial Setup\n\nBefore first use, configure Bring credentials:\n\n./bring configure <email> <password>\n\n\nCredentials are stored in ~/.openclaw/bring/config.json.\n\nCommon Operations\nList All Shopping Lists\n\nGet all available shopping lists with their UUIDs:\n\n./bring lists\n\n\nOutput includes list names, UUIDs, and themes.\n\nFind a List by Name\n\nSearch for a list by partial name match:\n\n./bring findlist \"Home\"\n./bring findlist \"Groceries\"\n\n\nReturns matching lists with their UUIDs.\n\nView List Items\n\nShow all items in a shopping list:\n\n./bring items <listUuid>\n\n\nOr use the default list (if set):\n\n./bring items\n\n\nReturns items to purchase and recently purchased items.\n\nAdd Items\n\nAdd an item to a shopping list:\n\n./bring add <listUuid> \"<item-name>\" \"<optional-note>\"\n\n\nExamples:\n\n./bring add abc-123 \"Latte\" \"2 litri\"\n./bring add abc-123 \"Pane\"\n\n\nTip: Use item names that match what you already use in the Bring app to ensure icons appear.\n\nRemove Items\n\nRemove an item from a shopping list (moves to recent list):\n\n./bring remove <listUuid> \"<item-name>\"\n\nSet Default List\n\nSet a default list UUID to avoid passing it each time:\n\n./bring setdefault <listUuid>\n\n\nAfter setting default, you can use ./bring items without specifying listUuid.\n\nManage List Languages\n\nSet the language for a list (for reference):\n\n./bring setlang <listUuid> it-IT\n./bring setlang <listUuid> es-ES\n./bring setlang <listUuid> en-US\n\n\nGet the configured language:\n\n./bring getlang <listUuid>\n\n\nSupported locales: en-US, it-IT, es-ES, de-DE, fr-FR\n\nWorkflow Examples\nAdding to a Named List\n\nWhen user says \"Add milk to the Home list\":\n\nFind the list:\n\n./bring findlist \"Home\"\n\n\nCheck what language/names are used in that list:\n\n./bring items <listUuid>\n\n\nAdd using the appropriate name (match existing items):\n\n./bring add <listUuid> \"Latte\"  # If list uses Italian\n# or\n./bring add <listUuid> \"Milk\"   # If list uses English\n\nChecking What's Needed\n\nWhen user asks \"What's on my shopping list?\":\n\n./bring items <listUuid>\n\n\nOr if default is set:\n\n./bring items\n\n\nParse and present items in a readable format.\n\nMarking Items as Purchased\n\nWhen user says \"Remove milk from the list\":\n\n./bring remove <listUuid> \"Latte\"\n\nMultilingual Families\n\nFor families using multiple languages:\n\nCheck existing items in each list to see what language is used\nUse consistent naming - match the names already in the list\nSet list language with setlang for reference\nLearn from context - if a list has \"Latte\", \"Pane\", \"Uova\", it's Italian\n\nThe Bring app automatically shows icons when item names match its catalog. To ensure icons appear, use names that match what the Bring app recognizes for that language.\n\nTechnical Details\nThe bring wrapper script sets NODE_PATH for the npm package\nConfiguration stored in ~/.openclaw/bring/config.json\nSession authenticated via email/password\nLists can be shared among family members\nChanges sync in real-time across all devices\nNotes\nItem names are case-sensitive\nThe \"remove\" command moves items to \"recent\" list (not permanent deletion)\nMultiple family members can share lists\nEach list can use different language conventions\nMatch item names to what's already in your lists for best icon support"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/GrewingM/bring",
    "publisherUrl": "https://clawhub.ai/GrewingM/bring",
    "owner": "GrewingM",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/bring",
    "downloadUrl": "https://openagent3.xyz/downloads/bring",
    "agentUrl": "https://openagent3.xyz/skills/bring/agent",
    "manifestUrl": "https://openagent3.xyz/skills/bring/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/bring/agent.md"
  }
}