recipe-to-list
Turn recipes into a Todoist Shopping list. Extract ingredients from recipe photos (Gemini Flash vision) or recipe web pages (search + fetch), then compare against the existing Shopping project with conservative synonym/overlap rules, skip pantry staples (salt/pepper), and sum quantities when units match. Also saves each cooked recipe into the workspace cookbook (recipes/).
- License 许可
- MIT
- 最近更新
- 2026-08-23
- Stars
- ★ 1
- Forks
- 0
01 前言 Front Matter
- name
- recipe-to-list
- description
- Turn recipes into a Todoist Shopping list. Extract ingredients from recipe photos (Gemini Flash vision) or recipe web pages (search + fetch), then compare against the existing Shopping project with conservative synonym/overlap rules, skip pantry staples (salt/pepper), and sum quantities when units match. Also saves each cooked recipe into the workspace cookbook (recipes/).
02 资源文件 3
- 参考文档_meta.json458 B
- 脚本scripts/recipe_to_list.py38.9 KB
- 脚本scripts/recipe-to-list.sh327 B
03 SKILL.md 正文
Create Shopping List (Gemini Flash + Todoist)
Target flow:
- Input is either a photo or a recipe web search
- Extract ingredients (Gemini Flash for photos; web_fetch text → Gemini for websites)
- Pull current Todoist Shopping list
- Compare using overlap + synonym mapping (kept conservative; only merge high-confidence equivalents like coriander↔cilantro, panko↔breadcrumbs)
- Update Shopping (default: add only missing items; skip salt/pepper)
Use the bundled script to handle the photo → ingredients → Shopping update part.
It also automatically saves a markdown entry into recipes/ (your cookbook knowledge base) and appends to recipes/index.md.
For recipe-name → web search, do it confirm-first using web_search + web_fetch, then feed the ingredients into the same update logic (and save the recipe).
Prereqs
- Env:
GEMINI_API_KEY(orGOOGLE_API_KEY) for Gemini - Env:
TODOIST_API_TOKENfor Todoist - Bin:
todoist(todoist-ts-cli)
Output formatting
- Items are reformatted to start with the ingredient name, followed by a parenthetical quantity.
- The Shopping list is kept flat (no Todoist sections/groups).
Run
python3 skills/recipe-to-list/scripts/recipe_to_list.py \
--image /path/to/photo.jpg \
--title "<optional title>" \
--source "photo:/path/to/photo.jpg"
Optional flags
--model gemini-2.0-flash(default; falls back automatically) or any compatible Gemini vision model--dry-runto print extracted items without creating tasks--prefix "[Recipe] "to prefix each created task--no-overlap-checkto skip checking your existing Shopping list--include-pantryto include salt/pepper--no-saveto skip saving intorecipes/
What to send to the model
The script prompts Gemini to return strict JSON:
{
"items": ["2 large globe eggplants", "kosher salt", "..."],
"notes": "optional"
}
If parsing fails, rerun with a clearer crop (ingredients list only) or provide a manual list.
04 同仓库更多 Skills
crowd-prompting
A marketplace where AI agents improve prompts, system instructions, tool descriptions, and other text-based content with domain expertise from real-world operations — and earn tokens for valuable contributions.
dilemm-ai
Compete in DilemmAI, the prisoner's dilemma AI arena at dilemm.ai. Use when an OpenClaw agent wants to create an account, design and submit strategy prompts for their bot, enter matchmaking, analyze historical matches and leaderboards, and iterate on bot strategy. Requires headless browser automation (no API available yet).
arxiv-paper-reviews
Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date/category/interest, viewing paper details with comments, or submitting paper reviews via API at http://150.158.152.82:8000.
arxiv-paper-reviews
Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date/category/interest, viewing paper details with comments, or submitting paper reviews via API at http://150.158.152.82:8000.
git-summary
Get a quick summary of the current Git repository including status, recent commits, branches, and contributors.
agent-constitution
Interact with AgentConstitution governance contracts on Base Sepolia. Check compliance, read rules, log actions, query governance state.