| name | mooboard-create-recipe-board |
| description | Creates a new Mooboard / Moobird recipe board on an infinite canvas. Use for cookbooks, dinner party menus, meal prep plans, and dish exploration with ingredients and steps. |
| disable-model-invocation | true |
Mooboard Create Recipe Board
Create a new board under the Mooboard library as a recipe / menu board
on an infinite board.
Core idea
Each dish is a cluster: hero photo, ingredients, steps, and source link.
A menu board may arrange several dish clusters around a meal plan.
Do not rely on a layout script. Use multi-agent review.
Best use cases
- Dinner party menus
- Meal prep weeks
- Cookbook excerpts
- Baking project plans
- Restaurant dish inspiration tied to recipes
Style rules
Usually includes:
- board title (menu name or “Week of …”)
- 1–6 dish clusters
- hero image per dish (
interactive)
- ingredients + steps as native text
- source link cards
- shopping todo
It should not look like an unlabeled photo dump.
Layout character
Desired feel
- Appetizing, clear, cookable
- Each dish self-contained
- Shopping list easy to find
Default pattern
Dish columns for a menu, or single-dish deep dive with ingredients left / steps right / photo large.
Spacing expectations
- Gap between dish clusters: 160–260px
- Gap within a dish: 70–120px
- Hard minimum gap: 60px
Required multi-agent workflow
Agent 1 — Menu Planner
Chooses dishes and meal structure.
Agent 2 — Cluster Planner
Defines geometry per dish.
Agent 3 — Content Planner
Places photo, ingredients, steps, sources.
Agent 4 — Collision Auditor
Checks spacing.
Agent 5 — Cookability Critic
Checks missing ingredients/time/servings.
Final Manifest Reviewer
Checks the written .mooboard.json:
- coordinates match the approved plan
- every image is
presentation: "interactive"
- every link is
previewMode: "card" with previewImage
- folder media matches referenced paths exactly
Workflow
Recipe Board Progress:
- [ ] 1. Confirm menu/theme and board name
- [ ] 2. Gather dish photos + recipes/links
- [ ] 3. Place dish clusters
- [ ] 4. Add shopping todo
- [ ] 5. Multi-agent cookability review
- [ ] 6. Write .mooboard.json
- [ ] 7. Remove orphan media; final review
Images and media (hard rules)
For every image on the canvas:
- use
type: "image"
- store media at the board root
- include
naturalWidth and naturalHeight
- preserve aspect ratio
- MUST set
presentation: "interactive" (preview tiles)
Never use presentation: "file" for images meant to be seen as previews.
Link cards must use:
previewMode: "card"
- a real
previewImage URL
Audio / PDF / other attachments use type: "file" with presentation: "interactive" when the user should open/play them.
No orphan media. Every media file in the board folder must be referenced by a canvas object. Extra loose files get auto-imported as file cards and can destroy the layout.
Bounding boxes
Maintain a placement table of (id, type, x, y, width, height, region).
Treat images, links, todos, native text, geo, and file cards as blocking boxes.
Arrows may cross freely and are not blockers.
Never allow accidental overlap between blocking boxes.
Anti-patterns
- Photos without ingredients/steps
- Steps out of order
- Source links missing preview cards
presentation: "file" images or orphan media
Camera and envelope
{
"version": 1,
"createdAt": 0,
"lastOpenedAt": 0,
"objects": [],
"camera": { "x": 400, "y": 300, "zoom": 0.4 },
"background": "default",
"showGrid": true
}
Use epoch-ms timestamps. Object IDs: UUIDs for moobard objects; shape:<id> for native shapes.
Output to the user
Report:
- Absolute board path
- Layout pattern used and key region counts
- Counts of images, links, notes/todos, and other objects
- Any skipped URLs or assets
- That they should open or refresh the folder in Mooboard to see it
Do not claim the app rendered the board unless that was observed.