| name | mooboard-create-kanban |
| description | Creates a new Mooboard / Moobird kanban-style board on an infinite canvas. Use for task pipelines, hiring funnels, content calendars, and status-based work tracking with visual cards. |
| disable-model-invocation | true |
Mooboard Create Kanban
Create a new board under the Mooboard library as a kanban board
(status columns) on an infinite board.
Core idea
Columns are statuses. Cards live inside columns.
The canvas is infinite, so columns may be wide and tall; do not crush cards.
Do not rely on a layout script. Use multi-agent review.
Best use cases
- Personal / team task boards
- Hiring pipelines
- Content production stages
- Bug triage
- Sales / lead stages
Style rules
Usually includes:
- 3–6 status columns (e.g. Backlog → Doing → Review → Done)
- column headers as native text
- cards as todos, notes, links, or small images
- optional WIP limits noted under headers
- one board-level title
It should not look like a free collage or a dense document.
Layout character
Desired feel
- Clear vertical lanes
- Scanable cards
- Consistent card width inside a column
Default pattern
- Title top-left
- Column headers in a row
- Cards stacked top→bottom inside each column
- Optional “Icebox” or “Blocked” column on the far right
Spacing expectations
- Gap between columns: 140–220px
- Gap between cards in a column: 60–100px
- Hard minimum gap: 50px
- Typical card size: todo ~280×180, link 260×200, note text as needed
Required multi-agent workflow
Agent 1 — Workflow Designer
Defines statuses and what belongs in each.
Agent 2 — Column Planner
Sets column x positions and widths.
Agent 3 — Card Planner
Creates cards and assigns columns/order.
Agent 4 — Collision Auditor
Ensures cards stay inside their lane visually and do not overlap.
Agent 5 — Flow Critic
Checks whether the pipeline tells a coherent work story.
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
Kanban Progress:
- [ ] 1. Confirm theme, statuses, board name
- [ ] 2. Gather cards (tasks, links, images)
- [ ] 3. Place column headers
- [ ] 4. Stack cards per column
- [ ] 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
- Mixing statuses in one column
- Uneven card widths that break the lane reading
- Overlaps or cards colliding across columns
- Too many columns (>6) without a strong reason
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.