| name | mooboard-create-watchlist |
| description | Creates a new Mooboard / Moobird watchlist or media queue board on an infinite canvas. Use for films, shows, games, podcasts, and reading queues with posters and status. |
| disable-model-invocation | true |
Mooboard Create Watchlist
Create a new board under the Mooboard library as a watchlist / media
queue on an infinite board.
Core idea
Poster/cover images arranged by status or genre, each with a short why-watch
note and optional trailer/source link.
Infinite canvas supports long queues without cramming.
Do not rely on a layout script. Use multi-agent review.
Best use cases
- Movie / TV watchlists
- Game backlogs
- Podcast queues
- Reading lists with covers
- Festival lineups
Style rules
Usually includes:
- title + queue theme
- status lanes (Up Next / Later / Done) or genre rows
- 8–30 cover/poster images
- short notes (“why”, “with whom”, rating)
- optional links to trailers/reviews
- light annotation only
It should not look like a decision matrix or a research affinity map.
Layout character
Desired feel
- Fun, browsable, collectible
- Posters consistent in width within a lane
- Status obvious
Default pattern
Status columns with poster stacks (poster width shared, height from aspect),
or masonry-like lanes per genre with headers.
Spacing expectations
- Gap between status columns: 120–200px
- Vertical gap between posters: 60–100px
- Hard minimum gap: 50px
- Typical poster display width: 180–260
Required multi-agent workflow
Agent 1 — Queue Planner
Chooses status vs genre structure and prioritizes items.
Agent 2 — Lane Planner
Sets column/row geometry and shared poster width.
Agent 3 — Placement Planner
Places covers using aspect-correct heights; adds notes/links.
Agent 4 — Collision Auditor
Checks gaps and uniqueness of posters (no duplicate art).
Agent 5 — Taste Critic
Checks whether “Up Next” feels intentional.
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
Watchlist Progress:
- [ ] 1. Confirm media type/theme and board name
- [ ] 2. Gather covers/posters + optional links
- [ ] 3. Deduplicate art (no same poster twice)
- [ ] 4. Place lanes + posters + notes
- [ ] 5. Multi-agent 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
- Duplicate posters
- Mixing watched/unwatched with no status signal
- Tiny unreadable covers
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.