← Back to Skills Marketplace
dolverin

Bring Rezepte

by Dolverin · GitHub ↗ · v1.3.0
cross-platform ⚠ suspicious
811
Downloads
0
Stars
1
Active Installs
4
Versions
Install in OpenClaw
/install bring-rezepte
Description
Use when running the OpenClaw/ClawHub Bring! skill to search recipes on the web, parse recipe URLs for ingredients, and add ingredients to a Bring shopping l...
README (SKILL.md)

Bring App

When to Use

  • User fragt nach Rezeptvorschlägen oder saisonalen Gerichten ("Was essen wir heute?", "Rezeptideen", "saisonale Inspirationen")
  • User möchte Einkaufslisten anzeigen oder aktualisieren ("Was steht auf der Einkaufsliste?", "Füge ... hinzu")
  • User will Zutaten für ein Rezept hinzufügen
  • User fragt nach Bring-Liste-Status oder Rezept-Markern
  • Jegliche Anfragen rund um Einkaufsplanung und Rezeptauswahl

Overview

Build a Bring! CLI-focused skill that uses the updated node-bring-api to fetch inspirations (recipes), highlight seasonal dishes, and add user-selected ingredients to a shopping list.

WICHTIG: Immer explizit nach Bestätigung fragen, bevor Artikel zur Liste hinzugefügt werden!

Quick start workflow

  1. List inspiration filters and identify seasonal tags.
  2. Fetch inspirations using those tags.
  3. Summarize 3-7 seasonal dishes.
  4. IMMER FRAGEN: "Soll ich die Zutaten für [Rezeptname] zur Bring-Liste hinzufügen?"
  5. Nur bei expliziter Bestätigung: Add their ingredients (not the dish name).

Use references/bring-inspirations.md for endpoint details and headers. These scripts load node-bring-api from:

  1. BRING_NODE_API_PATH (if set), or
  2. ../../node-bring-api/build/bring.js relative to this skill, or
  3. the installed bring-shopping package.

Tasks

1) Discover available filters (season, diet, cuisine)

Run:

node scripts/bring_inspirations.js --filters
  • Read the JSON and pick tags that look seasonal (e.g., winter/sommer/fruehling/herbst).
  • If unsure, ask the user to pick from the filter list.

2) Fetch inspirations

Run:

node scripts/bring_inspirations.js --tags "\x3Ccomma-separated-tags>" --limit 20
  • If the user did not specify tags, default to mine.
  • Inspect the JSON and extract a short list of suggested dishes with any available metadata.
  • Capture content.contentSrcUrl for each dish (needed to load ingredients).

3) Suggest seasonal dishes

  • Return 3-7 options.
  • Include dish name and 1 short sentence (if available in the JSON).
  • WICHTIG: Frage explizit: "Welche Rezepte sollen zur Bring-Liste hinzugefügt werden?" oder "Soll ich die Zutaten hinzufügen?"
  • Warte auf explizite Bestätigung des Users.

4) Add selected dishes to a list (ingredients only)

NUR NACH EXPLIZITER BESTÄTIGUNG, list available lists if needed:

node scripts/bring_list.js --lists

Add ingredients from the selected dish content URL(s):

node scripts/bring_list.js --list \x3Clist-uuid> --content-url "https://api.getbring.com/rest/v2/bringtemplates/content/\x3Cuuid>"

Or resolve by list name:

node scripts/bring_list.js --list-name "Einkauf" --content-url "https://api.getbring.com/rest/v2/bringtemplates/content/\x3Cuuid>"

List Management (v2.2.0)

Create a new shopping list:

node scripts/bring_list.js --create-list "Amazon"

Returns the new list's UUID and name. If a list with that name already exists, returns the existing list info without creating a duplicate.

Note: List deletion is not supported by the Bring API — lists can only be deleted via the Bring app.

Environment

These scripts default to ENV values:

  • BRING_EMAIL
  • BRING_PASSWORD
  • BRING_COUNTRY (default DE)
  • BRING_NODE_API_PATH (optional path to build/bring.js)

If ENV is not set, pass --email and --password explicitly.

Recipe Markers (v2.1.0)

Add items tagged with a recipe name so you can track which ingredients belong to which recipe:

node scripts/bring_list.js --list-name "Einkauf" --add-recipe "Lasagne" --recipe-items "Nudeln,Hackfleisch,Tomaten"

This stores each item with the specification [Rezept] Lasagne, acting as a recipe marker.

List distinct recipe markers on a list:

node scripts/bring_list.js --list-name "Einkauf" --recipe-markers

Returns a sorted array of recipe names currently on the list.

Recipe Search & URL Parsing (v2.2.0)

Workflow: Rezeptvorschläge machen

When a user asks for recipe suggestions ("Was soll ich heute kochen?", "Rezeptideen für Sommer"):

Step 1: Search for recipes Use your web_search tool (Brave API) to find recipe URLs:

web_search("Sommer Rezepte vegetarisch site:chefkoch.de")
web_search("schnelle Abendessen Rezepte site:chefkoch.de OR site:lecker.de")

Pick 3-5 promising recipe URLs from the search results.

Step 2: Parse recipe URLs for structured data

node scripts/bring_inspirations.js --parse-url "url1,url2,url3"

Returns structured JSON per recipe: name, ingredients (itemId + spec), image URL, source URL. For a single URL, returns a single object. For multiple URLs, returns an array.

Step 3: Present options to the user Show the user the parsed recipes with:

  • Recipe name
  • Number of ingredients
  • Source URL
  • Key ingredients (first 5-6)

IMMER FRAGEN: "Möchtest du die Zutaten für [Rezeptname] zur Bring-Liste hinzufügen?" oder "Welche Rezepte soll ich zur Einkaufsliste hinzufügen?"

Step 4: Add selected recipe to list (NUR BEI BESTÄTIGUNG)

node scripts/bring_list.js --list-name "Einkauf" --add-recipe-url "https://www.chefkoch.de/rezepte/123/lasagne.html"

This parses the recipe, creates a marker (e.g., === LASAGNE ===), tags all ingredients with the recipe name, and batch-adds everything to the list.

Parse recipe URL (standalone)

node scripts/bring_inspirations.js --parse-url "https://www.chefkoch.de/rezepte/123/lasagne.html"

Returns structured ingredient data without adding to any list. Useful for previewing.

Supported recipe sites

The Bring parser supports most major recipe websites including:

  • chefkoch.de
  • lecker.de
  • eatsmarter.de
  • kitchenstories.com
  • And many more (any site with structured recipe data / JSON-LD)

Recipe Images

CRITICAL: Never generate images for recipes. Recipe websites always include photos. Extract and use those instead.

Extract recipe image from URL

Method 1: Use --parse-url (preferred)

If the parser supports the site, the image URL is included in the JSON response:

node scripts/bring_inspirations.js --parse-url "https://www.chefkoch.de/rezepte/123/lasagne.html"
# Returns: { ..., "image": "https://img.chefkoch-cdn.de/rezepte/123/lasagne.jpg", ... }

Method 2: Fallback (manual extraction with web_fetch)

If --parse-url fails or returns no image, use web_fetch to extract the Open Graph image tag:

// Use web_fetch tool to get HTML (no exec approval needed)
web_fetch("https://www.chefkoch.de/rezepte/123/lasagne.html")

// Parse the returned markdown/text for og:image meta tag
// Extract URL from: \x3Cmeta property="og:image" content="https://...">

The image URL can then be used directly in markdown or Discord embeds — no download required:

![Recipe Image](https://img.chefkoch-cdn.de/rezepte/123/lasagne.jpg)

Workflow for recipe suggestions with images

  1. Search for recipe URLs (web_search)
  2. Parse recipe URL (--parse-url or web_fetch fallback)
  3. Extract the recipe image URL (no download needed)
  4. Present recipe with:
    • Name
    • Image (embed via URL: ![](image_url))
    • Key ingredients
    • Source URL
  5. IMMER FRAGEN: "Soll ich die Zutaten für dieses Rezept zur Bring-Liste hinzufügen?"
  6. NUR BEI EXPLIZITER BESTÄTIGUNG: Add to shopping list

Example: Complete recipe workflow

# Step 1: Search
web_search("Lachs Honig Senf Rezept")

# Step 2: Parse via --parse-url (preferred)
node scripts/bring_inspirations.js --parse-url "https://www.eatclub.de/rezept/honig-senf-lachs/"
# → { ..., "image": "https://www.eatclub.de/wp-content/uploads/2023/09/shutterstock-416951386.jpg" }

# Step 2 (Fallback): Use web_fetch if parser fails
web_fetch("https://www.eatclub.de/rezept/honig-senf-lachs/")
# Parse HTML response for: \x3Cmeta property="og:image" content="...">

# Step 3: Present to user with image URL embedded
# ![Honig-Senf-Lachs](https://www.eatclub.de/wp-content/uploads/2023/09/shutterstock-416951386.jpg)
# Zutaten: Lachs, Honig, Senf, Olivenöl, Knoblauch...

# Step 4: IMMER FRAGEN
# "Soll ich die Zutaten für Honig-Senf-Lachs zur Bring-Liste hinzufügen?"
# Warte auf: Ja / Nein / Bestätigung

# Step 5: NUR BEI BESTÄTIGUNG hinzufügen
# node scripts/bring_list.js --list-name "Zuhause" --add-recipe "Honig-Senf-Lachs" --recipe-items "..."

Beispiel-Dialog

Agent: "Ich habe 3 leckere Rezepte gefunden:

  1. 🍝 Spaghetti Carbonara (5 Zutaten)
  2. 🍛 Chicken-Curry (9 Zutaten)
  3. 🥗 Griechischer Salat (7 Zutaten)

Welche Rezepte soll ich zur Bring-Liste hinzufügen?"

User: "Das Curry klingt gut"

Agent: "Soll ich die Zutaten für Chicken-Curry zur Bring-Liste 'Zuhause' hinzufügen? (9 Artikel: Hähnchen, Kokosmilch, Curry...)"

User: "Ja"

Agent: "✅ Zutaten für Chicken-Curry hinzugefügt!"

Mehrere Rezepte gleichzeitig

Bei mehreren Rezepten IMMER einzeln bestätigen lassen oder explizit fragen:

  • "Soll ich ALLE 3 Rezepte hinzufügen?"
  • "Welche der Rezepte soll ich hinzufügen? (1, 2, 3 oder alle)"

Remember:

  • Recipe images come from the source website, never from image generation tools
  • Use the image URL directly — no download needed (platforms load images themselves)
  • web_fetch avoids exec approvals and works seamlessly with OpenClaw

Notes

  • Keep the skill output in German for Germany by default.
  • KRITISCH: NIEMALS Artikel ohne explizite Bestätigung hinzufügen!
  • IMMER FRAGEN: "Soll ich die Zutaten zur Bring-Liste hinzufügen?" oder ähnliche Formulierung
  • NUR BEI JA/BESTÄTIGUNG: Erst dann zur Liste hinzufügen
  • Always add ingredients instead of the dish name when using inspirations.
  • Bei mehreren Rezepten: Einzeln oder alle zusammen bestätigen lassen

Resources

scripts/

  • scripts/bring_inspirations.js: Log in and call inspirations and filter endpoints.
  • scripts/bring_list.js: List available shopping lists and add items.

references/

  • references/bring-inspirations.md: Endpoint details and headers.
Usage Guidance
This skill appears to do what it says: it logs into the Bring! API using the provided BRING_EMAIL and BRING_PASSWORD, searches the web for recipes, parses recipe pages, and can add ingredients to your Bring lists (but only after you confirm). Before installing or enabling it: 1) Understand you are giving the skill credentials that it will use to act on your Bring account — only use an account you trust and consider a dedicated Bring account/password if concerned about credential reuse. 2) Ensure the agent environment has Node (v18+) and/or installs the 'bring-shopping' dependency, otherwise the scripts will fail. 3) Be aware the skill issues network requests to api.getbring.com and to recipe websites via web_search; confirm you are comfortable with those external calls. 4) Note a small metadata bug in the registry display (env vars shown as [object Object]); verify the required env variables listed in SKILL.md before proceeding.
Capability Analysis
Type: OpenClaw Skill Name: bring-rezepte Version: 1.3.0 The skill's code and instructions align with its stated purpose of managing Bring! shopping lists and recipes, with strong emphasis on user consent. However, it is classified as 'suspicious' due to potential vulnerabilities. Specifically, `scripts/bring_list.js` uses `fetch` with a user-controlled `--content-url` argument, which could lead to Server-Side Request Forgery (SSRF) if the OpenClaw agent does not strictly validate the URL. Additionally, the `loadBring()` function in both Node.js scripts allows loading the `bring.js` library from an arbitrary path specified by `BRING_NODE_API_PATH`, posing a risk if this environment variable is compromised. These are vulnerabilities that could be exploited, rather than explicit malicious intent within the skill's logic or instructions.
Capability Assessment
Purpose & Capability
The name/description match the actual behavior: scripts authenticate to the Bring! API, fetch inspirations/filters, parse recipe URLs, and add items to lists. Requiring node and Bring account credentials (BRING_EMAIL, BRING_PASSWORD) is appropriate for this purpose. The included dependency 'bring-shopping' matches the Bring API usage.
Instruction Scope
SKILL.md directs the agent to run the provided Node scripts, use a web_search tool to find recipe URLs, parse those URLs, and then (only after explicit user confirmation) add ingredients to Bring lists. The scripts access the declared env vars and call Bring API endpoints and recipe pages; they do not read unrelated local files or request unrelated secrets. The instructions explicitly require user confirmation before mutating lists.
Install Mechanism
There is no automated install spec (instruction-only install), but the skill bundles package.json and package-lock.json declaring 'bring-shopping' from the npm registry. That is a normal dependency source, but because no install step is declared the runtime environment must already provide Node (>=18) and/or install the dependency for the scripts to run. The lockfile points to registry.npmjs.org (no suspicious download hosts).
Credentials
Declared and used environment variables (BRING_EMAIL, BRING_PASSWORD, optional BRING_COUNTRY, BRING_NODE_API_PATH) align with the skill's need to log into the Bring API and optionally override the local bring library path. No unrelated credentials or broad secrets are requested.
Persistence & Privilege
The skill is not force-included (always: false), does not request system-wide configuration changes, and does not modify other skills. It performs network operations against Bring and recipe sites only when invoked.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install bring-rezepte
  3. After installation, invoke the skill by name or use /bring-rezepte
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.3.0
Fix security scan findings: declare required env vars (BRING_EMAIL, BRING_PASSWORD, BRING_COUNTRY) in metadata, remove hardcoded API key from reference docs, add .clawhubignore to exclude node_modules
v1.2.0
Recipe images: Use web_fetch instead of curl for og:image extraction (no exec approvals needed)
v1.1.0
Added Recipe Images section: workflow for extracting images from recipe websites instead of generating them. Includes og:image fallback method and complete example.
v1.0.0
Initial publish: Bring! Einkaufslisten, Rezeptsuche, Rezept-Marker, Inspirations-Filter, URL-Parsing
Metadata
Slug bring-rezepte
Version 1.3.0
License
All-time Installs 1
Active Installs 1
Total Versions 4
Frequently Asked Questions

What is Bring Rezepte?

Use when running the OpenClaw/ClawHub Bring! skill to search recipes on the web, parse recipe URLs for ingredients, and add ingredients to a Bring shopping l... It is an AI Agent Skill for Claude Code / OpenClaw, with 811 downloads so far.

How do I install Bring Rezepte?

Run "/install bring-rezepte" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Bring Rezepte free?

Yes, Bring Rezepte is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Bring Rezepte support?

Bring Rezepte is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Bring Rezepte?

It is built and maintained by Dolverin (@dolverin); the current version is v1.3.0.

💬 Comments