Tandoor Recipe CLI
/install tandoor-cli
Tandoor CLI Skill
This skill provides AI agents with the ability to interact with a Tandoor Recipe Manager instance using the tandoor-cli command-line tool.
Prerequisites
The tandoor-cli tool must be installed and configured.
Version Compatibility: This skill documentation corresponds to the version specified in the metadata above. Before using this skill:
- Verify your installed CLI version:
tandoor -V - Ensure the installed version matches the skill version to avoid unexpected behavior or missing commands
- If versions don't match, reinstall the CLI tool following the setup instructions in
references/SETUP.md
If tandoor -V produces no valid version, see the setup instructions in references/SETUP.md.
Security & Permission Model
⚠️ IMPORTANT: This skill provides mutation authority over your Tandoor instance.
- Read operations (list, search, get, random) are safe and require no confirmation
- Write operations (add, update, import) modify data but are typically reversible
- Destructive operations (delete, clear, household management) require explicit user approval before execution
- Bulk operations (shopping check --all, clear) affect multiple items and require confirmation
- Administrative operations (household management, user assignment, invite creation) require privileged credentials and explicit approval
Token Security:
- Use the least-privileged token possible for your use case
- Prefer read-only tokens if you only need to query recipes
- Avoid using space-owner or admin tokens unless household management is required
- Consider short-lived tokens (days/weeks) instead of long-lived tokens (years)
- Store tokens securely and rotate them regularly
- Revoke tokens immediately if compromised or no longer needed
Supply Chain:
- This skill uses the
tandoor-clinpm package - Verify the package source before first use: https://www.npmjs.com/package/tandoor-cli
- Review the package repository: https://github.com/dcenatiempo/tandoor-cli
- Recommended: Pin to the specific version matching this skill (see version in metadata above) to avoid unexpected updates
- Install pinned version:
npm install -g tandoor-cli@\x3Cversion>(replace\x3Cversion>with the skill version)
Invocation
tandoor \x3Ccommand> [options]
Commands
Read Operations (Safe)
Recipes:
| Command | Description |
|---|---|
list [--limit N] |
List recipes (default 20, max 100) |
search \x3Cquery> |
Search recipes by keyword |
get \x3Cid> |
Get full recipe details |
random |
Get a random recipe |
Meal Plans:
| Command | Description |
|---|---|
mealplan list [--startdate DATE] [--enddate DATE] |
List meal plan entries (optionally filtered by date range) |
Shopping List:
| Command | Description |
|---|---|
shopping list |
List shopping list entries |
Food Ingredients:
| Command | Description |
|---|---|
food list [--limit N] [--search TERM] [--ignored] |
List food ingredients |
Households & Users:
| Command | Description |
|---|---|
household list |
List all households |
household get \x3Cid> |
Get household details by ID |
household users list |
List all users in the space |
household users memberships |
List user-space memberships |
household invite list |
List all invite links |
Write Operations (Require Confirmation)
| Command | Description | Approval Required |
|---|---|---|
add [--json file] |
Create a recipe | ✓ Before execution |
update \x3Cid> --json file |
Patch an existing recipe | ✓ Before execution |
import \x3Curl> [--dry-run] |
Import a recipe from a URL | ✓ Before execution |
image \x3CrecipeId> \x3CimagePath> |
Upload an image to a recipe | ✓ Before execution |
mealplan add --recipe ID --date YYYY-MM-DD --meal-type N |
Add a meal plan entry | ✓ Before execution |
shopping add --food NAME --amount N --unit UNIT |
Add a shopping list item | ✓ Before execution |
shopping check \x3Cid> |
Mark a shopping item as checked | ✓ Before execution |
food edit \x3Cid|name> --ignore-shopping \x3Ctrue|false> |
Edit a food's ignore_shopping flag | ✓ Before execution |
food ignore \x3Cid|name> [--unset] |
Set or clear ignore_shopping by ID or name | ✓ Before execution |
food onhand \x3Cid|name> [--unset] |
Set or clear the on-hand flag by ID or name | ✓ Before execution |
Destructive Operations (Require Explicit Confirmation)
| Command | Description | Approval Required |
|---|---|---|
delete \x3Cid> [--force] |
Delete a recipe | ✓✓ Explicit confirmation required |
mealplan delete \x3Cid> |
Delete a meal plan entry | ✓✓ Explicit confirmation required |
shopping clear [--force] |
Clear all checked items | ✓✓ Explicit confirmation (bulk operation) |
shopping check --all |
Mark all items as checked | ✓✓ Explicit confirmation (bulk operation) |
Administrative Operations (Require Privileged Token + Explicit Confirmation)
Important: Tandoor uses households to organize users and recipes. Users are added to households via invite links — you cannot create users directly via the API.
Permission Requirements: Household management commands require special permissions in Tandoor. Most operations need admin/staff privileges. The
household invite createcommand specifically requires space owner authentication — even superusers or staff members will receive a 403 Permission Denied error if they're not the space owner. If you encounter permission errors, you must use the space owner's API token or contact your Tandoor administrator.
| Command | Description | Approval Required |
|---|---|---|
household add \x3Cname> |
Create a new household | ✓✓ Admin token + explicit confirmation |
household edit \x3Cid> --name \x3Cname> |
Rename a household | ✓✓ Admin token + explicit confirmation |
household delete \x3Cid> [--force] |
Delete a household | ✓✓ Admin token + explicit confirmation |
household users assign \x3Cuser-space-id> \x3Chousehold-id> |
Assign user to household | ✓✓ Admin token + explicit confirmation |
household invite create \x3Chousehold-id> [--email EMAIL] [--expires DATE] [--group-id ID] |
Create invite link | ✓✓ Space-owner token + explicit confirmation |
household invite delete \x3Cid> [--force] |
Delete invite link | ✓✓ Admin token + explicit confirmation |
All read commands accept --json for machine-readable output suitable for agent pipelines.
Agent Behavior Rules
Before executing any command, the agent MUST:
- For read operations: Proceed without confirmation
- For write operations: Describe the action and wait for user approval
- For destructive operations:
- Clearly explain what will be deleted/modified
- Warn that the action cannot be easily reversed
- Wait for explicit user confirmation (e.g., "yes, delete recipe 42")
- For bulk operations:
- State how many items will be affected
- Wait for explicit confirmation
- For administrative operations:
- Verify the user has provided an admin/space-owner token
- Explain the scope of the change (e.g., "this will move user X to household Y")
- Wait for explicit confirmation
The agent MUST NOT:
- Execute delete, force, bulk, household, invite, or user-assignment commands without explicit user approval
- Assume the user wants destructive actions even if implied by context
- Use
--forceflags without explicit user instruction - Log or display the
TANDOOR_API_TOKENvalue in any output
Configuration
The CLI supports three configuration methods (in precedence order):
- Environment variables —
TANDOOR_URLandTANDOOR_API_TOKENin the current shell - Config file —
~/.config/tandoor-cli/config.json(created bytandoor configure) .envfile — a.envfile in the current working directory
Run tandoor configure once to save credentials interactively.
Examples
Configure credentials:
tandoor configure
Read example — list recipes as JSON:
tandoor list --limit 5 --json
Write example — create a recipe from a JSON file:
# Agent should first ask: "I will create a new recipe from recipe.json. Proceed?"
# Only after user confirms:
tandoor add --json recipe.json
Destructive example — delete a recipe:
# Agent should first ask: "This will permanently delete recipe 42. This cannot be undone. Confirm deletion?"
# Only after explicit user confirmation:
tandoor delete 42 --force
Image example — upload an image to a recipe:
# Agent should first ask: "I will upload my-recipe-photo.jpg to recipe 42. Proceed?"
# Only after user confirms:
tandoor image 42 ./my-recipe-photo.jpg
Household example — create a household and generate an invite link:
# Agent should first ask: "I will create a new household named 'My Family'. This requires admin privileges. Proceed?"
# Only after user confirms:
tandoor household add "My Family"
# Agent should first ask: "I will create an invite link for household 1. This requires space-owner token. Proceed?"
# Only after user confirms:
tandoor household invite create 1 --email [email protected] --expires 2026-12-31
Shopping list example — add items and check them off:
# Agent should first ask: "I will add flour (500g) to the shopping list. Proceed?"
# Only after user confirms:
tandoor shopping add --food flour --amount 500 --unit g
# Agent should first ask: "This will mark ALL shopping items as checked. Confirm?"
# Only after explicit confirmation:
tandoor shopping check --all
Installation & Setup
Before first use:
- Verify the npm package: https://www.npmjs.com/package/tandoor-cli
- Review the source code: https://github.com/dcenatiempo/tandoor-cli
- Recommended: Install the pinned version matching this skill:
npm install -g tandoor-cli@\x3Cversion>(see version in metadata above) - Generate a token with minimal required permissions (see SECURITY.md)
- Consider using a test Tandoor instance first
Reference
- See
references/SETUP.mdfor detailed setup documentation including authentication configuration - See
SECURITY.mdfor comprehensive security guidelines and token management best practices
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install tandoor-cli - 安装完成后,直接呼叫该 Skill 的名称或使用
/tandoor-cli触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Tandoor Recipe CLI 是什么?
Manage recipes, meal plans, and shopping lists on a Tandoor Recipe Manager instance via CLI. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 27 次。
如何安装 Tandoor Recipe CLI?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install tandoor-cli」即可一键安装,无需额外配置。
Tandoor Recipe CLI 是免费的吗?
是的,Tandoor Recipe CLI 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Tandoor Recipe CLI 支持哪些平台?
Tandoor Recipe CLI 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Tandoor Recipe CLI?
由 Devin Cenatiempo(@dcenatiempo)开发并维护,当前版本 v1.0.2。