Recipe CRUD Operations
Manage recipe files in ./recipes/. Each recipe is a markdown file with YAML frontmatter.
Before Any Operation
- Read CLAUDE.md for the canonical recipe format and field rules.
- Ensure
./recipes/exists:mkdir -p ./recipes/
Create a Recipe
- Gather recipe details from the user. At minimum: title, ingredients, and instructions.
- Infer reasonable defaults for missing fields:
cuisine: infer from ingredients and techniquesdifficulty: estimate from technique complexity and ingredient countprep_time/cook_time: estimate if user provides rough sensetags: extract from ingredients and cooking methoddietary: infer from ingredients using CLAUDE.md dietary rulesdate_added: use today's dateservings: default to 4 if not specified
- Generate filename from title (kebab-case,
.md). - Check if file already exists. If so, ask before overwriting.
- Write using the exact format from CLAUDE.md.
- Confirm creation and show file path.
Reference: @${CLAUDE_PLUGIN_ROOT}/skills/recipe-crud/references/recipe-schema.md
Read / View a Recipe
- If user specifies a name, glob for
./recipes/*name*. - If multiple matches, list them and ask which one.
- Read and display the recipe in a readable format.
- To list all: glob
./recipes/*.mdand present a summary table with titles and cuisines from frontmatter.
Update a Recipe
- Find the recipe file (same as Read).
- Read current contents.
- Apply requested changes using Edit.
- If title changes, rename file to match new kebab-case title.
- Confirm update and show what changed.
Delete a Recipe
- Find the recipe file.
- Show title and ask for confirmation.
- Delete with
rm. - Confirm deletion.
Listing Recipes
Present a summary table from frontmatter:
| Title | Cuisine | Difficulty | Tags |
|---|