# Pp Open Food Facts

> Use Open Food Facts source-backed recipes for product lookup, structured search, nutrition summaries, allergen inspection, product comparison, and category samples. Trigger phrases: Open Food Facts, food barcode, nutrition facts, allergens, ingredients, product comparison, open-food-facts-pp-cli.

- Skill: `mvanhorn-printing-press-libra/pp-open-food-facts` (Agent Skill)
- Install (CLI): `npx skillmds add mvanhorn-printing-press-libra/pp-open-food-facts`
- Raw SKILL.md: https://api.skillmd.com/api/skills/mvanhorn-printing-press-libra/pp-open-food-facts/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: Apache-2.0
- Author: mvanhorn (https://skillmd.com/u/mvanhorn-printing-press-libra)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/mvanhorn-printing-press-libra/pp-open-food-facts

---

<!-- GENERATED FILE — DO NOT EDIT.
     This file is a verbatim mirror of library/food-and-dining/open-food-facts/SKILL.md,
     regenerated post-merge by tools/generate-skills/. Hand-edits here are
     silently overwritten on the next regen. Edit the library/ source instead.
     See the repository agent guide, section "Generated artifacts: registry.json, cli-skills/". -->

# Open Food Facts - Printing Press CLI

## Prerequisites: Install the CLI

This skill drives the `open-food-facts-pp-cli` binary. **You must verify the CLI is installed before invoking any command from this skill.** If it is missing, install it first:

1. Install via the Printing Press installer. It defaults binaries to `$HOME/.local/bin` on macOS/Linux and `%LOCALAPPDATA%\Programs\PrintingPress\bin` on Windows:
   ```bash
   npx -y @mvanhorn/printing-press-library install open-food-facts --cli-only
   ```
2. Verify: `open-food-facts-pp-cli --version`
3. Ensure the reported install directory is on `$PATH` for the agent/runtime that will invoke this skill.

If the `npx` install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.6 or newer). This installs into `$GOPATH/bin` (default `$HOME/go/bin`), so add that directory to `$PATH` instead:

```bash
go install github.com/mvanhorn/printing-press-library/library/food-and-dining/open-food-facts/cmd/open-food-facts-pp-cli@latest
```

If `--version` reports "command not found" after install, the runtime cannot see the binary directory on `$PATH`. Do not proceed with skill commands until verification succeeds.

## When To Use

Use `open-food-facts-pp-cli` when an agent needs source-backed Open Food Facts data:

- Fetch a product by barcode with source URL, identity, labels, countries, Nutri-Score, NOVA, Eco-Score, nutriments, and data-quality tags.
- Run bounded structured product search by category, brand, country, label, or nutrition grade.
- Summarize nutrition facts for one known barcode.
- Inspect ingredients, allergens, traces, additives, and data-quality tags for one known barcode.
- Compare a small set of barcode records without hiding per-product fetch errors.
- Fetch a small category sample and preserve Open Food Facts data caveats.

## When Not To Use

- Do not use it for product edits, image uploads, account login, or session workflows.
- Do not use it for bulk harvesting or local database sync; use Open Food Facts CSV or JSONL exports for bulk access.
- Do not build search-as-you-type loops against the live API.
- Do not treat nutrition, ingredient, or allergen output as medical or dietary advice.
- Do not claim Open Food Facts data is complete, accurate, or authoritative.

## Setup

No API key is required for read operations.

The module declares `go 1.26.4` so environments with Go toolchain auto-download disabled should use Go 1.26.4 or newer for direct installs.

Open Food Facts asks every API client to send a custom `User-Agent` in the form `AppName/Version (ContactEmail)`. Configure a request identity before regular or frequent use:

```bash
export OPEN_FOOD_FACTS_USER_AGENT="my-food-tool/1.0"
export OPEN_FOOD_FACTS_CONTACT_EMAIL="you@example.org"
```

Optional local/staging override:

```bash
export OPEN_FOOD_FACTS_BASE_URL="https://world.openfoodfacts.org"
```

Keep live usage within Open Food Facts' documented limits: 15 product read requests per minute per IP address, 10 search requests per minute per IP address, and no live API bulk harvesting.

## Recipes

### Product Lookup

```bash
open-food-facts-pp-cli product 3017620422003 --agent
```

Use this when the workflow has a barcode and needs compact product identity, source URL, Nutri-Score/NOVA/Eco-Score fields, ingredient/allergen tags, nutriments, and data-quality caveats.

### Structured Search

```bash
open-food-facts-pp-cli search --category "breakfast cereals" --country "united-states" --page-size 5 --agent
```

Use this for bounded candidate discovery. Prefer structured filters over plain terms because Open Food Facts documents structured search in API v2 and does not provide full-text search in v2/v3 server-side APIs.

### Nutrition Summary

```bash
open-food-facts-pp-cli nutrition 3017620422003 --agent
```

Use this when a workflow needs nutriment fields, serving basis, Nutri-Score, NOVA, Eco-Score, source URL, and data-quality tags for one barcode.

### Allergens And Ingredients

```bash
open-food-facts-pp-cli allergens 3017620422003 --agent
```

Use this to inspect ingredient text, ingredient analysis tags, allergens, traces, additives, and data-quality tags. Keep the caveat that records are community-contributed.

### Small Product Comparison

```bash
open-food-facts-pp-cli compare 3017620422003 5449000000996 --agent
```

Use this for side-by-side comparison of two to five barcodes. The command returns successful products plus per-barcode errors when a lookup fails.

### Category Sample

```bash
open-food-facts-pp-cli category "breakfast cereals" --page-size 5 --agent
```

Use this to fetch a small product sample for a category through structured search. Do not page through many results as a bulk backend.

### Source Coverage

```bash
open-food-facts-pp-cli sources --agent
open-food-facts-pp-cli doctor --agent
```

Use these before larger workflows to confirm read-only posture, optional request identity, configured base URL, documented rate limits, and non-goals.

