agentleFS
cook-mdcook-md/cook-mcp/skills/metadata/SKILL.md

metadata

Skill1 starsChanged 37 days agoMITView on GitHub

Use when adding, normalizing, or fixing YAML frontmatter in Cooklang .cook recipes or .menu plans (title, tags, source, servings/yield, times, diet, locale, images), including converting old >> metadata lines and bulk metadata changes across a library.

4 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use when adding, normalizing, or fixing recipe/menu metadata (YAML frontmatter): titles, tags, source/author, servings/yield, times, diet, …

    line 10
  2. Very specific:

    Keep servings/yield accurate — reason: they drive recipe scaling and any shopping-list or menu math built on top.

    line 55

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Skill: metadata

Needs the Cook MCP server (tools like read_recipe and write_recipe). If these tools are missing, the Cook MCP server isn't connected: if you installed the cooklang plugin or extension, check that its cook server is running (e.g. /mcp) or reinstall it; otherwise add it from https://github.com/cook-md/cook-mcp. Do not rewrite files without them.

Use when adding, normalizing, or fixing recipe/menu metadata (YAML frontmatter): titles, tags, source/author, servings/yield, times, diet, locale, images, or bulk metadata changes across a library.

This skill owns all metadata guidance. The cooklang-editing and meal-planning skills defer metadata/frontmatter work to here.

Hard rule

Metadata is YAML frontmatter between --- markers at the very start of the file. NEVER use the old >> metadata lines — reason: they are removed from the language; only frontmatter is supported, and write_recipe refuses them. If a file still has them, convert them to frontmatter keys as part of the edit.

Workflow

Changing metadata — tags, cuisine, source, any frontmatter key — on one file or many:

  1. Pick the targets. Use search_recipes (tag, or words) or list_recipes (dir for a folder) rather than reading the whole library. For a rule like "everything in Desserts/", the folder listing is the selection.
  2. For each file: read_recipe, change only the frontmatter, and keep the recipe body byte-for-byte. Match the file's existing key names, casing, order and tag style; add a frontmatter block if the file has none; never duplicate a tag.
  3. Save each file with write_recipe (.cook) or write_menu (.menu), sending the full file content — there is no metadata-only write.
  4. More than about 10 files → tell the user how many files you will touch and get a yes first; every write replaces a real file.
  5. Tell the user what you changed, in which files, and name any files you skipped and why.

For a brand-new file, the frontmatter is part of the content you save with write_recipe.

Canonical metadata fields

Key (and synonyms)PurposeExample
titleRecipe title.Uzbek Manti
source, source.nameWhere it came from (URL or text).https://example.org/recipe, mums
source.urlURL when the nested form is used.https://example.org/recipe
author, source.authorRecipe author.John Doe
servings, serves, yieldPeople/amount. Leading number drives scaling; the rest shows as units.2, 15 cups worth
course, categoryMeal category or course.dinner
localeISO 639 language, optional _ then ISO 3166 country. Used for spelling and pluralisation.en_GB, fr
time, time required, durationTotal prep + cook time. Prefer HhMm.1h30m
prep time, time.prepPrep only.2 hour 30 min
cook time, time.cookCooking only.10 minutes
difficultyDifficulty level.easy
cuisineCuisine.French
dietDietary suitability; string or array.gluten-free, [vegan, halal]
tagsDescriptive tags (array).[baking, summer]
image, images, picture, picturesImage URL, or array of URLs.https://example.org/img.jpg
description, introductionNotes about the recipe.Traditional Uzbek dish…

Rules

  • Frontmatter goes at the very top of the file, before any step or section.
  • Match the file's existing conventions (key spelling, casing) — reason: a file that mixes serves and servings is harder to maintain.
  • Keep servings/yield accurate — reason: they drive recipe scaling and any shopping-list or menu math built on top.
  • search_recipes with tag matches the frontmatter tags list, so consistent tags make the library searchable.
  • Touch only the files the task names.

Do not skip the care

ExcuseRebuttal
"It's only metadata, I'll rewrite the body from memory."write_recipe saves exactly what you send. Copy the body from read_recipe's source unchanged.
"The metadata edit is tiny, I'll say it's done."Say it's done after write_recipe succeeds, and name the file.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.