Pantry Tracker
Track grocery purchases and monitor food freshness using Supabase. Use when monitoring grocery orders, checking what food is expiring, logging pantry items,... Skill: Pantry Tracker Owner: madebydia Summary: Track grocery purchases and monitor food freshness using Supabase. Use when monitoring grocery orders, checking what food is expiring, logging pantry items,... Tags: latest:1.3.0 Version history: v1.3.0 | 2026-03-20T16:57:46.491Z | user Add structured requires.env metadata declaring SUPABASE_URL and SUPABASE_KEY in frontmatter for security scanner visibility v1.2.0 | 20
Rank
62
Safety
84
Downloads
1.1k
Updated
Oct 11, 2026
Version
1.3.0
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 1.1K downloads reported by the source. Last updated 10/11/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 11, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 11, 2026
- Adoption signal
- 1.1K downloadsadoption · observed Oct 11, 2026
- Latest release
- 1.3.0release · observed Mar 20, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s176b3312npmthbt2chf2mccw183grfh:pantry-tracker- Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
- Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-madebydia-pantry-tracker/snapshot"
Documentation
CLAWHUB
30,933 characters of source documentation, loaded on request.
Extracted files
4 files captured from the source.
SKILL.md
---
name: pantry-tracker
description: Track grocery purchases and monitor food freshness using Supabase. Use when monitoring grocery orders, checking what food is expiring, logging pantry items, getting morning freshness summaries, or managing food waste. Email scanning is done by the agent using its existing email skill (e.g. gog for Gmail) — this skill does not access email directly or require email credentials.
requires:
env:
- name: SUPABASE_URL
description: Supabase project URL (e.g. https://xxx.supabase.co)
required: true
- name: SUPABASE_KEY
description: Supabase anon key (NOT service role key). Safe for client-side use.
required: true
---
# Pantry Tracker
Track grocery items from purchase to plate (or trash). Parses grocery order emails, stores items in Supabase with estimated expiry dates, and sends daily summaries of what needs eating.
## Setup
### 1. Supabase
Create a Supabase project and run the schema in `references/supabase-schema.sql` in the SQL editor.
Store credentials as env vars:
```
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_KEY=your-anon-key
```
Use the **anon key** (not the service role key). The anon key is safe for client-side use and sufficient for all pantry operations. Never use the service role key — it bypasses Row Level Security.
### 2. Cron Jobs
Set up two cron jobs in OpenClaw:
**Email scanner** (every 2-4 hours):
Use the agent's existing email tool (e.g. `gog` for Gmail, or whatever email skill is installed) to search for grocery order confirmations. This skill does NOT access email directly — the agent reads email through its own authenticated tools, then passes parsed items to the pantry CLI.
```
Search email for recent grocery orders (Whole Foods, Instacart, Amazon Fresh, Costco, Walmart). Parse item names and quantities. For each item, look up shelf life in references/shelf-life.md and calculate expires_at from today. Write items to a JSON array and run: python3 scripts/pantry.py bulk-add /tmp/pantry-items.json
```
**Morning summary** (daily, e.g. 7am):
```
Run: python3 scripts/pantry.py summary
If output is not "PANTRY_OK", send the summary to the user.
```
## CLI Reference
All commands: `python3 scripts/pantry.py <command>`
| Command | Description |
|---------|-------------|
| `add <name> -c <category> -q <qty> -e <days>` | Add single item |
| `bulk-add <file.json>` | Add items from JSON (email parse output) |
| `expiring [--days N]` | Show items expiring within N days (default 3) |
| `status` | Full pantry overview by category |
| `use <name>` | Mark item as used |
| `toss <name>` | Mark item as tossed/wasted |
| `refresh` | Auto-update statuses (fresh → use-soon → expired) |
| `summary` | Morning summary for cron (outputs PANTRY_OK if nothing urgent) |
### Bulk-add JSON format
```json
[
{
"name": "Strawberries",
"category": "produce",
"quantity": "1 lb",
"expires_days": 5,
"source": "whole-foods",
"order_id": "111-1234567"_meta.json
{
"ownerId": "kn711gxkbyw34qye3faaqw24yn8163fm",
"slug": "pantry-tracker",
"version": "1.3.0",
"publishedAt": 1774025866491
}references/shelf-life.md
# Default Shelf Life (Days from Purchase) Use these as defaults when parsing grocery orders. Override with item-specific knowledge when available. ## Produce | Item | Days | Notes | |------|------|-------| | Bananas | 5 | Ripen at room temp | | Berries (strawberries, blueberries, raspberries) | 5 | Refrigerate immediately | | Apples | 21 | Refrigerated | | Lemons/Limes | 21 | Refrigerated | | Avocados | 5 | Room temp until ripe, then 3 days fridge | | Leafy greens (spinach, kale, lettuce) | 5 | Refrigerated | | Herbs (cilantro, parsley, basil) | 7 | Trim stems, jar of water in fridge | | Tomatoes | 5 | Room temp | | Bell peppers | 7 | Refrigerated | | Onions | 30 | Cool dark place | | Garlic | 30 | Cool dark place | | Potatoes | 21 | Cool dark place | | Carrots | 21 | Refrigerated | | Broccoli | 5 | Refrigerated | | Celery | 14 | Refrigerated | | Mushrooms | 7 | Paper bag in fridge | | Zucchini | 5 | Refrigerated | | Cucumbers | 7 | Refrigerated | | Corn | 3 | Refrigerated, eat quickly | | Green beans | 5 | Refrigerated | ## Dairy | Item | Days | Notes | |------|------|-------| | Milk | 7 | Check sell-by | | Yogurt | 14 | Check sell-by | | Kefir | 14 | Check sell-by | | Butter | 30 | Refrigerated; 9 months frozen | | Hard cheese | 28 | Wrapped in fridge | | Soft cheese | 7 | Eat quickly once opened | | Cream cheese | 14 | Refrigerated | | Heavy cream | 10 | Refrigerated | | Eggs | 28 | Refrigerated | | Sour cream | 14 | Refrigerated | ## Meat & Fish | Item | Days | Notes | |------|------|-------| | Ground beef | 2 | Refrigerated; freeze if not using soon | | Steaks | 4 | Refrigerated | | Chicken breast | 2 | Refrigerated | | Pork | 4 | Refrigerated | | Fish (fresh) | 2 | Cook day of or next day | | Lamb | 4 | Refrigerated | | Deli meat | 5 | Refrigerated, once opened | | Bacon | 7 | Unopened; 5 days opened | | Sausage | 3 | Refrigerated | ## Bakery | Item | Days | Notes | |------|------|-------| | Bread | 5 | Room temp; freeze for longer | | English muffins | 7 | Check for mold | | Tortillas | 14 | Refrigerated | | Bagels | 5 | Freeze extras | | Croissants | 3 | Room temp | ## Pantry (Long Shelf Life) | Item | Days | Notes | |------|------|-------| | Rice | 365 | Sealed | | Pasta | 365 | Sealed | | Canned goods | 365 | Check best-by | | Crackers | 60 | Sealed | | Nuts | 30 | Room temp; 180 frozen | | Olive oil | 180 | Cool dark place | | Honey | 730 | Never expires really | | Peanut butter | 90 | After opening | ## Frozen | Item | Days | Notes | |------|------|-------| | Frozen fruit | 240 | Sealed | | Frozen vegetables | 240 | Sealed | | Ice cream | 60 | Freezer | | Frozen meat | 180 | Properly wrapped |
skill-card.md
## Description: Track grocery purchases and monitor food freshness using Supabase for grocery-order monitoring, expiry checks, pantry logging, morning summaries, and food-waste management. This skill is ready for commercial/non-commercial use. ## Publisher: [madebydia](https://clawhub.ai/user/madebydia) ### License/Terms of Use: MIT-0 ## Use Case: Individuals and household agents use this skill to log grocery purchases, estimate shelf life, check expiring items, and update pantry item status from manual input or parsed grocery-order data. ### Deployment Geography for Use: Global ## Known Risks and Mitigations: Risk: Grocery emails, order IDs, and pantry records can contain personal data. Mitigation: Use authenticated user tokens, confirm consent before recurring email ingestion, and avoid storing more grocery or order detail than needed. Risk: Pantry data stored in Supabase can be exposed if access controls are weak. Mitigation: Use explicit per-user row-level security, restricted grants, and the anon key rather than a service-role key. Risk: Commands such as bulk-add, refresh, use, and toss can mutate pantry records automatically. Mitigation: Prefer dry-run or user confirmation behavior before running commands that add or update pantry records. ## Reference(s): - [Default Shelf Life](artifact/references/shelf-life.md) - [Supabase Schema](artifact/references/supabase-schema.sql) - [Pantry Tracker ClawHub Listing](https://clawhub.ai/madebydia/skills/pantry-tracker) ## Skill Output: **Output Type(s):** [text, markdown, shell commands, configuration, guidance] **Output Format:** [Markdown guidance with inline shell commands and JSON examples; CLI output is plain text.] **Output Parameters:** [1D] **Other Properties Related to Output:** [Requires SUPABASE_URL and SUPABASE_KEY; some commands create or update pantry records.] ## Skill Version(s): 1.3.0 (source: server release evidence) ## Ethical Considerations: Users should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.
AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/madebydia/skills/pantry-tracker",
"sourceUrl": "https://clawhub.ai/madebydia/skills/pantry-tracker",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-11T13:40:18.843Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-madebydia-pantry-tracker/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-madebydia-pantry-tracker/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-11T13:40:18.843Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1.1K downloads",
"href": "https://clawhub.ai/madebydia/pantry-tracker",
"sourceUrl": "https://clawhub.ai/madebydia/pantry-tracker",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-11T13:40:18.843Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "1.3.0",
"href": "https://clawhub.ai/madebydia/pantry-tracker",
"sourceUrl": "https://clawhub.ai/madebydia/pantry-tracker",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-03-20T16:57:46.491Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-madebydia-pantry-tracker/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-madebydia-pantry-tracker/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 1.3.0",
"description": "Add structured requires.env metadata declaring SUPABASE_URL and SUPABASE_KEY in frontmatter for security scanner visibility",
"href": "https://clawhub.ai/madebydia/pantry-tracker",
"sourceUrl": "https://clawhub.ai/madebydia/pantry-tracker",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-03-20T16:57:46.491Z",
"isPublic": true
}
]
}Record generated Oct 11, 2026.
