| name | mooboard-create-competitive-map |
| description | Creates a new Mooboard / Moobird competitive landscape board on an infinite canvas. Use for 2x2 positioning maps, market landscapes, and rival teardown clusters. |
| disable-model-invocation | true |
Mooboard Create Competitive Map
Create a new board under the Mooboard library as a competitive map
on an infinite board.
Core idea
Position competitors in space — usually a 2×2 with labeled axes —
or as category clusters with a summary takeaway.
Do not rely on a layout script. Use multi-agent review.
Best use cases
- Startup competitive landscapes
- Product category maps
- Agency / vendor shortlists
- Feature positioning
- Market narratives for pitches
Style rules
Usually includes:
- map title + axis labels
- 5–12 competitor nodes (logo/image + name text)
- optional quadrant labels
- short callouts for outliers
- takeaway / “white space” note
- optional deep-dive links per competitor
It should not look like an unsorted logo collage.
Layout character
Desired feel
- Strategic, legible, debate-ready
- Axes obvious
- Competitors not stacked on top of each other
Default pattern
2×2 map
- Title above
- Axis labels on edges
- Optional light geo lines for axes
- Competitor image+label pairs plotted by strategy (not random)
- Takeaways to the right
Spacing expectations
- Minimum gap between competitor nodes: 80–140px
- Hard minimum gap: 60px
- Keep quadrant interiors readable — expand the map rather than crowding
Required multi-agent workflow
Agent 1 — Strategy Framer
Chooses axes and competitor set.
Agent 2 — Positioning Planner
Assigns each competitor to a rough coordinate.
Agent 3 — Layout Planner
Places logos/names and axis labels.
Agent 4 — Collision Auditor
Separates overlapping nodes.
Agent 5 — Strategy Critic
Checks whether positions are defensible and axes are meaningful.
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
Competitive Map Progress:
- [ ] 1. Confirm market, axes, board name
- [ ] 2. Gather competitor logos/screens + links
- [ ] 3. Plot positions
- [ ] 4. Add takeaways
- [ ] 5. Multi-agent strategy 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
- Unlabeled axes
- Competitors overlapping into an unreadable pile
- Random placement with no positioning logic
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.