Agent Skills: Using Miro with Claude Code

This skill teaches how to use Miro MCP tools effectively for creating diagrams, documents, tables, and extracting context from Miro boards. Use when the user asks about Miro capabilities, wants to create content on Miro boards, or needs to work with Miro board data.

UncategorizedID: miroapp/miro-ai/miro-mcp

Install this agent skill to your local

pnpm dlx add-skill https://github.com/miroapp/miro-ai/tree/HEAD/claude-plugins/miro/skills/miro-mcp

Skill Files

Browse the full folder contents for miro-mcp.

Download Skill

Loading file tree…

claude-plugins/miro/skills/miro-mcp/SKILL.md

Skill Metadata

Name
miro-mcp
Description
This skill teaches how to use Miro MCP tools effectively for creating diagrams, documents, tables, and extracting context from Miro boards. Use when the user asks about Miro capabilities, wants to create content on Miro boards, or needs to work with Miro board data.

Using Miro with Claude Code

What is Miro MCP?

Miro MCP (Model Context Protocol) enables Claude to interact directly with Miro boards. Create diagrams, documents, and tables; read board content; and extract structured documentation from visual designs.

Available Tools

Content Creation

  • diagram_get_dsl - Get the DSL format specification before creating diagrams
  • diagram_create - Generate diagrams from DSL text descriptions
  • doc_create - Create markdown documents on boards
  • table_create - Create tables with text and select columns
  • table_sync_rows - Add or update table rows

Content Reading

  • board_list_items - List items on a board with filtering by type or container
  • context_explore - Discover high-level board contents (frames, documents, prototypes, tables, diagrams)
  • context_get - Extract detailed text context from specific board items
  • table_list_rows - Read table data with column-based filtering
  • image_get_data - Get image content from boards
  • image_get_url - Get download URL for an image

Document Editing

  • doc_get - Read document content and version
  • doc_update - Edit document using find-and-replace

Board URLs and IDs

Miro tools accept board URLs directly. Extract board_id and item_id automatically from URLs like:

  • https://miro.com/app/board/uXjVK123abc=/ - Board URL
  • https://miro.com/app/board/uXjVK123abc=/?moveToWidget=3458764612345 - URL with item focus

When a URL includes moveToWidget or focusWidget parameters, the item_id is extracted automatically.

Creating Diagrams

Use diagram_create to create visual diagrams from text descriptions.

Supported Diagram Types

  • flowchart - Process flows, workflows, decision trees
  • mindmap - Hierarchical ideas, brainstorming
  • uml_class - Class structures, inheritance relationships
  • uml_sequence - Interactions between components over time
  • entity_relationship - Database schemas, data models

Description Formats

Natural language works well:

User registration flow: start -> enter email -> validate email ->
send verification -> user confirms -> create account -> redirect to dashboard

Mermaid notation for precise control:

flowchart TD
    A[Start] --> B{Valid Email?}
    B -->|Yes| C[Send Verification]
    B -->|No| D[Show Error]
    C --> E[Wait for Confirm]
    E --> F[Create Account]

Positioning Items on the Board

Board coordinates use a Cartesian system with center at (0, 0). Positive X goes right, positive Y goes down.

Spacing recommendations:

  • Diagrams: 2000-3000 units apart
  • Documents: 500-1000 units apart
  • Tables: 1500-2000 units apart

Placing in Frames

Set parent_id to a frame ID to place content inside that frame.

Creating Documents

Use doc_create to create Google Docs-style documents on boards.

Supported Markdown

  • Headings: # H1 through ###### H6
  • Bold: **text**
  • Italic: *text*
  • Unordered lists: - item
  • Ordered lists: 1. item
  • Links: [text](url)

Example Document

# Sprint Planning - Week 12

## Goals
- Complete user authentication module
- Fix critical bugs from QA

## Team Assignments
1. **Alice** - Auth backend
2. **Bob** - Frontend integration
3. **Carol** - Bug fixes

## Resources
- [Design specs](https://example.com/specs)
- [API documentation](https://example.com/api)

Working with Tables

Creating Tables

Use table_create to create tables with typed columns. Supports two column types: text for free-form entry and select for dropdowns with predefined color-coded options.

Adding and Updating Rows

Use table_sync_rows to add or update table data. Set key_column to match existing rows for upsert behavior — matching rows are updated, non-matching rows are inserted as new.

Reading Table Data

Use table_list_rows to read table contents. Filter by column value using ColumnName=Value format.

Extracting Board Content

Discovering Board Contents

Use context_explore to get a high-level view of what's on a board — returns frames, documents, prototypes, tables, and diagrams with their URLs and titles.

Getting Item Details

Use context_get to extract detailed content from specific items:

| Item Type | Returns | |-----------|---------| | Documents | HTML markup of the document content | | Prototype screens | HTML markup representing the UI/layout | | Prototype containers | AI-generated map of all screens with navigation flow | | Frames | AI-generated summary of frame contents | | Tables | Formatted table data | | Diagrams | AI-generated description and analysis |

Workflow

  1. Call context_explore to discover board contents
  2. Identify items of interest from the results
  3. Call context_get with specific item URLs (with moveToWidget parameter)

Browsing Board Items

Use board_list_items to explore board contents. Filter by item type (frame, sticky_note, card, shape, text, image, document, embed) or by container to list items within a specific frame.

Best Practices

For Diagrams

  • Be specific about elements and relationships
  • Specify flow direction (top-down, left-right)
  • Include decision points and conditions
  • Let AI auto-detect diagram type or specify explicitly

For Documents

  • Structure with clear headings
  • Keep content focused and scannable
  • Use lists for multiple items
  • Include links to related resources

For Tables

  • Choose meaningful column names
  • Use select columns for status/priority fields
  • Define clear, distinct option colors
  • Use key_column for idempotent updates

For Context Extraction

  • Start with context_explore to discover board contents
  • Focus on specific frames when boards are large
  • Use context_get with item URLs for detailed content

Quick Reference

| Task | Tool | |------|------| | Get diagram DSL spec | diagram_get_dsl | | Create diagram | diagram_create | | Create document | doc_create | | Read document | doc_get | | Edit document | doc_update | | Create table | table_create | | Add/update table rows | table_sync_rows | | Read table data | table_list_rows | | Discover board contents | context_explore | | Extract item details | context_get | | List board items | board_list_items | | Get image data | image_get_data | | Get image URL | image_get_url |

Using Miro with Claude Code Skill | Agent Skills