openclaw 网盘下载
OpenClaw

技能详情(站内镜像,无评论)

首页 > 技能库 > 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.

开发与 DevOps

许可证:MIT-0

MIT-0 ·免费使用、修改和重新分发。无需归因。

版本:v1.0.0

统计:⭐ 1 · 1.7k · 2 current installs · 2 all-time installs

1

安装量(当前) 2

🛡 VirusTotal :良性 · OpenClaw :可疑

Package:darkdevelopers/bring-add

安全扫描(ClawHub)

  • VirusTotal :良性
  • OpenClaw :可疑

OpenClaw 评估

The skill appears to implement a Bring! shopping-list adder, but its runtime instructions require email/password credentials and npm-installed code while the registry metadata does not declare those credentials or an install step — review the code and dependencies before installing.

目的

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.

说明范围

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.

安装机制

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.

证书

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.

持久

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.

安装(复制给龙虾 AI)

将下方整段复制到龙虾中文库对话中,由龙虾按 SKILL.md 完成安装。

请把本段交给龙虾中文库(龙虾 AI)执行:为本机安装 OpenClaw 技能「Bring Add」。简介:Use when user wants to add items to Bring! shopping lists. For adding single it…。
请 fetch 以下地址读取 SKILL.md 并按文档完成安装:https://raw.githubusercontent.com/openclaw/skills/refs/heads/main/skills/darkdevelopers/bring-add/SKILL.md
(来源:yingzhi8.cn 技能库)

SKILL.md

打开原始 SKILL.md(GitHub raw)

---
name: bring-add
description: 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.
---

# 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:**
```bash
export BRING_EMAIL="your@email.com"
export BRING_PASSWORD="yourpassword"
export BRING_DEFAULT_LIST="Shopping"  # optional
```

## Installation

```bash
cd skills/bring-add
npm install
```

## Common Workflows

**Add a single item:**
```bash
node index.js "Tomatoes" "500g"
node index.js "Milk"
```

**Add to specific list:**
```bash
node index.js --list "Party" "Chips" "3 bags"
```

**Batch add multiple items:**
```bash
node index.js --batch "Tomatoes 500g, Onions, Cheese 200g"
```

**Pipe from file:**
```bash
cat shopping-list.txt | node index.js -
echo -e "Milk 1LnBreadnButter" | node index.js -
```

**Preview before adding:**
```bash
node index.js --dry-run --batch "Apples 1kg, Pears"
```

**Get JSON output:**
```bash
node index.js --json --batch "Milk, Bread" 2>/dev/null
```

**List available lists:**
```bash
node index.js lists
node index.js --json lists
```

## Flags Reference

| Flag | Description |
|------|-------------|
| `-l, --list <name>` | Target list (name or UUID) |
| `-b, --batch <items>` | 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