← 返回 Skills 市场
darkdevelopers

Bring Add

作者 darkdevelopers · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
1950
总下载
1
收藏
3
当前安装
1
版本数
在 OpenClaw 中安装
/install bring-add
功能描述
Use when user wants to add items to Bring! shopping lists. For adding single items, batch items, or items from stdin/files. Supports dry-run preview and JSON output.
使用说明 (SKILL.md)

Bring! Add Items CLI

Overview

CLI for adding items to Bring! shopping lists. Supports quick single-item mode, batch mode, stdin/pipe input, and interactive mode.

When to Use

Use this skill when:

  • User wants to add items to a Bring! shopping list
  • Adding single item with optional specification (e.g., "Milk 1L")
  • Adding multiple items at once (batch mode)
  • Piping items from a file or other command
  • Need to preview additions with dry-run
  • Need JSON output for scripting

Don't use when:

  • User wants to browse recipes (use bring-recipes instead)
  • User wants to remove items from a list
  • User wants to view current list contents

Quick Reference

Command Purpose
bring-add "Item" "spec" Add single item with specification
bring-add --batch "A, B 1L, C" Add multiple comma-separated items
bring-add - Read items from stdin
bring-add Interactive mode (TTY only)
bring-add lists Show available shopping lists
bring-add --dry-run ... Preview without modifying

Environment variables:

export BRING_EMAIL="[email protected]"
export BRING_PASSWORD="yourpassword"
export BRING_DEFAULT_LIST="Shopping"  # optional

Installation

cd skills/bring-add
npm install

Common Workflows

Add a single item:

node index.js "Tomatoes" "500g"
node index.js "Milk"

Add to specific list:

node index.js --list "Party" "Chips" "3 bags"

Batch add multiple items:

node index.js --batch "Tomatoes 500g, Onions, Cheese 200g"

Pipe from file:

cat shopping-list.txt | node index.js -
echo -e "Milk 1L\
Bread\
Butter" | node index.js -

Preview before adding:

node index.js --dry-run --batch "Apples 1kg, Pears"

Get JSON output:

node index.js --json --batch "Milk, Bread" 2>/dev/null

List available lists:

node index.js lists
node index.js --json lists

Flags Reference

Flag Description
-l, --list \x3Cname> Target list (name or UUID)
-b, --batch \x3Citems> Comma-separated items
-n, --dry-run Preview without modifying
-q, --quiet Suppress non-error output
-v, --verbose Show detailed progress
--json Output JSON to stdout
--no-color Disable colored output
--no-input Never prompt; fail if input required

Input Format

Items follow the pattern: ItemName [Specification]

Input Item Spec
Tomatoes 500g Tomatoes 500g
Oat milk 1L Oat milk 1L
Red onions 3 Red onions 3
Cheese Cheese (empty)

Rule: Last word becomes specification if it contains a number or unit (g, kg, L, ml, Stück, pck).

Exit Codes

Code Meaning
0 Success
1 Generic failure (API error, network)
2 Invalid usage (bad args, missing input)
3 Authentication failed
4 List not found
130 Interrupted (Ctrl-C)

Common Mistakes

Forgetting environment variables: Set BRING_EMAIL and BRING_PASSWORD before running.

Wrong list name: Use bring-add lists to see available lists and their exact names.

Specification parsing: The last word is treated as specification only if it looks like a quantity. "Red onions" stays as one item, but "Red onions 3" splits into item "Red onions" with spec "3".

Interactive mode in scripts: Use --no-input flag in scripts to fail explicitly rather than hang waiting for input.

Implementation Notes

  • Uses node-bring-api with batchUpdateList() API
  • Requires Node.js 18.0.0+
  • Outputs data to stdout, progress/errors to stderr
  • JSON mode available for automation
  • Interactive mode only when stdin is a TTY
安全使用建议
This skill likely needs your Bring! account credentials and npm dependencies to run. Before installing or running it: 1) Inspect index.js, package.json and package-lock.json for network calls, unexpected modules, or code that reads unrelated files or exfiltrates data. 2) Verify the authentication method — prefer tokens over storing plaintext passwords in env vars if possible. 3) Run npm install and the code in an isolated environment (container or VM) if you must test it. 4) Ask the publisher for a homepage or source repo to validate origin; the registry metadata lacking declared env vars is a transparency gap. If you cannot review the code and dependencies, avoid providing account credentials to this skill.
功能分析
Type: OpenClaw Skill Name: bring-add Version: 1.0.0 The skill 'bring-add' is a CLI tool designed to add items to Bring! shopping lists. It explicitly requires `BRING_EMAIL` and `BRING_PASSWORD` environment variables for authentication with the Bring! API, which is clearly documented in `SKILL.md` and `README.md` and handled in `index.js`. The code uses standard Node.js I/O and the `bring-shopping` library to perform its stated function. There is no evidence of data exfiltration beyond necessary API credentials, malicious execution (e.g., `eval`, `exec` of untrusted input), persistence mechanisms, or prompt injection attempts against the AI agent. The dependencies are standard for a CLI application, and the overall behavior is strictly aligned with its described purpose.
能力评估
Purpose & Capability
The SKILL.md and code indicate this interacts with the Bring! API (auth + batch updates), which legitimately requires credentials and Node runtime. However, the registry metadata lists no required environment variables or primary credential despite the README instructing users to export BRING_EMAIL and BRING_PASSWORD. That mismatch is unexpected and reduces transparency.
Instruction Scope
The runtime instructions tell the agent/user to provide email/password env vars, run node index.js, pipe stdin, and perform API calls (batchUpdateList). Those steps are consistent with the described purpose, but the instructions reference sensitive credentials that are not declared elsewhere. No other out-of-scope file or system access is requested in SKILL.md.
Install Mechanism
There is no formal install spec in the registry, but the SKILL.md instructs running npm install and the package files (package.json, package-lock.json, index.js) are included. The lack of an install specification in metadata means dependency installation will be manual or implicit — you should inspect package.json/package-lock.json and index.js for suspicious dependencies or post-install behavior before running npm install.
Credentials
SKILL.md requires BRING_EMAIL and BRING_PASSWORD to authenticate to Bring!. Those are sensitive credentials but are reasonable for this functionality — however, the skill metadata does not declare any required env vars or a primary credential, making the request for credentials non-transparent and disproportionate to what the registry advertises.
Persistence & Privilege
No special privileges are requested in registry flags: always, disableModelInvocation, and other persistence flags are not set. The skill is not declared as always-on or model-invocable by default beyond normal behavior.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install bring-add
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /bring-add 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
bring-add 1.0.0 initial release - CLI tool to add items to Bring! shopping lists. - Supports single item, batch, stdin/file, and interactive input modes. - Includes dry-run preview and JSON output for scripting. - Provides commands to list available shopping lists. - Flexible item parsing with specification support (e.g., "Milk 1L").
元数据
Slug bring-add
版本 1.0.0
许可证
累计安装 3
当前安装数 3
历史版本数 1
常见问题

Bring Add 是什么?

Use when user wants to add items to Bring! shopping lists. For adding single items, batch items, or items from stdin/files. Supports dry-run preview and JSON output. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 1950 次。

如何安装 Bring Add?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install bring-add」即可一键安装,无需额外配置。

Bring Add 是免费的吗?

是的,Bring Add 完全免费(开源免费),可自由下载、安装和使用。

Bring Add 支持哪些平台?

Bring Add 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Bring Add?

由 darkdevelopers(@darkdevelopers)开发并维护,当前版本 v1.0.0。

💬 留言讨论