| name | mooboard-create-storyboard |
| description | Creates a new Mooboard / Moobird storyboard on an infinite canvas. Use for film/animatic frames, UX user-journey scenes, ad concepts, and sequential visual narratives. |
| disable-model-invocation | true |
Mooboard Create Storyboard
Create a new board under the Mooboard library as a storyboard —
ordered visual frames with captions — on an infinite board.
Core idea
Frames read in sequence (usually left→right, wrapping to the next row).
Each frame is an image (or placeholder geo) plus a short action/dialogue caption.
Do not rely on a layout script. Use multi-agent review.
Best use cases
- Film / video animatics
- Ad concepts
- UX user journeys
- Onboarding flows
- Comic-style explainers
Style rules
Usually includes:
- title + optional episode/scene name
- 6–16 frames
- consistent frame width (or 2 sizes: hero + standard)
- caption under each frame
- sparse arrows only when a jump/cut needs emphasis
It should not look like a masonry inspiration dump or a decision matrix.
Layout character
Desired feel
- Cinematic, ordered, readable
- Consistent frame rhythm
- Captions clearly tied to their frame
Default pattern
Wrapped row storyboard
- Title above
- Frames in rows of 3–5
- Caption directly under each frame
- Next row starts after a generous vertical gap
Spacing expectations
- Horizontal gap between frames: 80–140px
- Vertical gap between frame rows: 140–220px
- Gap from frame to its caption: 40–70px (still non-overlapping)
- Hard minimum gap: 50px
Required multi-agent workflow
Agent 1 — Beat Planner
Writes the beat list / shot list in order.
Agent 2 — Grid Planner
Chooses frames-per-row and frame width.
Agent 3 — Frame Layout Planner
Places frames + captions with correct aspect sizing.
Agent 4 — Collision Auditor
Checks gaps and caption attachment.
Agent 5 — Continuity Critic
Checks whether the sequence makes narrative sense.
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
Storyboard Progress:
- [ ] 1. Confirm story/scene and board name
- [ ] 2. Gather or generate ordered frame images
- [ ] 3. Choose frames-per-row + frame width
- [ ] 4. Place frames and captions in order
- [ ] 5. Multi-agent continuity 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
- Random frame order
- Captions floating far from their frame
- Inconsistent frame widths without reason
- Turning it into a mood collage
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.