skills/integrations/miro/miro-connect/SKILL.md
Connect to Miro for board management, sticky notes, cards, shapes, frames, connectors, and collaboration. Load when user mentions 'miro', 'miro board', 'sticky note', 'whiteboard', or any Miro operations. Meta-skill that validates config and routes to appropriate operations.
npx skillsauth add beam-ai-team/beam-next-skills miro-connectInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Entry point for all Miro operations. Validates configuration and routes requests to appropriate scripts.
Load this skill when user says:
Check configuration:
python3 00-system/skills/miro/miro-master/scripts/check_miro_config.py --json
Always run first:
python3 00-system/skills/miro/miro-master/scripts/check_miro_config.py --json
If ai_action is proceed_with_operation:
If ai_action is add_access_token:
If ai_action is refresh_token:
| User Says | Route To | |-----------|----------| | "list miro boards" | Boards > list_boards.py | | "get board details" | Boards > get_board.py | | "create a board" | Boards > create_board.py | | "delete board" | Boards > delete_board.py | | "copy board" | Boards > copy_board.py | | "list items on board" | Items > list_items.py | | "add sticky note" | Items > create_sticky_note.py | | "create card" | Items > create_card.py | | "add shape" | Items > create_shape.py | | "add text" | Items > create_text.py | | "create frame" | Items > create_frame.py | | "connect items" | Items > create_connector.py | | "add image" | Items > create_image.py | | "embed URL" | Items > create_embed.py | | "move/update item" | Items > update_item.py | | "delete item" | Items > update_item.py --delete | | "board members" | Members > board_members.py --list | | "invite to board" | Members > board_members.py --add | | "manage tags" | Tags > tags.py |
Use the appropriate script from miro-master/scripts/:
List boards:
python3 00-system/skills/miro/miro-master/scripts/list_boards.py --limit 20 --json
Get board:
python3 00-system/skills/miro/miro-master/scripts/get_board.py --board "BOARD_ID" --json
Create board:
python3 00-system/skills/miro/miro-master/scripts/create_board.py --name "Board Name" --description "Description" --json
Delete board:
python3 00-system/skills/miro/miro-master/scripts/delete_board.py --board "BOARD_ID" --json
Copy board:
python3 00-system/skills/miro/miro-master/scripts/copy_board.py --board "BOARD_ID" --json
List items:
python3 00-system/skills/miro/miro-master/scripts/list_items.py --board "BOARD_ID" --type sticky_note --json
Create sticky note:
python3 00-system/skills/miro/miro-master/scripts/create_sticky_note.py --board "BOARD_ID" --content "Note text" --color yellow --x 0 --y 0 --json
Create card:
python3 00-system/skills/miro/miro-master/scripts/create_card.py --board "BOARD_ID" --title "Title" --description "Desc" --json
Create shape:
python3 00-system/skills/miro/miro-master/scripts/create_shape.py --board "BOARD_ID" --content "Text" --shape rectangle --width 200 --height 200 --json
Create text:
python3 00-system/skills/miro/miro-master/scripts/create_text.py --board "BOARD_ID" --content "Text here" --font-size 24 --json
Create frame:
python3 00-system/skills/miro/miro-master/scripts/create_frame.py --board "BOARD_ID" --title "Section" --width 800 --height 600 --json
Create connector:
python3 00-system/skills/miro/miro-master/scripts/create_connector.py --board "BOARD_ID" --start-item "ITEM1" --end-item "ITEM2" --shape curved --json
Create image:
python3 00-system/skills/miro/miro-master/scripts/create_image.py --board "BOARD_ID" --url "https://example.com/img.png" --json
Create embed:
python3 00-system/skills/miro/miro-master/scripts/create_embed.py --board "BOARD_ID" --url "https://example.com" --json
Update/move item:
python3 00-system/skills/miro/miro-master/scripts/update_item.py --board "BOARD_ID" --item "ITEM_ID" --x 100 --y 200 --json
Delete item:
python3 00-system/skills/miro/miro-master/scripts/update_item.py --board "BOARD_ID" --item "ITEM_ID" --delete --json
Get item details:
python3 00-system/skills/miro/miro-master/scripts/update_item.py --board "BOARD_ID" --item "ITEM_ID" --get --json
List members:
python3 00-system/skills/miro/miro-master/scripts/board_members.py --board "BOARD_ID" --list --json
Add member:
python3 00-system/skills/miro/miro-master/scripts/board_members.py --board "BOARD_ID" --add "[email protected]" --role editor --json
List tags:
python3 00-system/skills/miro/miro-master/scripts/tags.py --board "BOARD_ID" --list --json
Create tag:
python3 00-system/skills/miro/miro-master/scripts/tags.py --board "BOARD_ID" --create "Tag Name" --color red --json
Attach tag to item:
python3 00-system/skills/miro/miro-master/scripts/tags.py --board "BOARD_ID" --attach TAG_ID --item ITEM_ID --json
Success:
Error:
401 > Token expired or invalid403 > Insufficient permissions404 > Board or item not found429 > Rate limited, wait and retryWhen user references a board by name:
list_boards.py --jsonRequired in .env:
MIRO_ACCESS_TOKEN=your-access-token
Optional (for OAuth refresh):
MIRO_CLIENT_ID=your-client-id
MIRO_CLIENT_SECRET=your-client-secret
miro-master/references/api-reference.mdmiro-master/scripts/Version: 1.0 Created: 2026-03-12 Status: Production Ready
development
--- name: taste-skill type: skill version: '1.0' author: Leonxlnx (packaged by Zhichao Li) category: general tags: - frontend - design - anti-slop - landing-page updated: '2026-06-11' visibility: public description: Anti-slop frontend skill for landing pages, portfolios, and redesigns. The agent reads the brief, infers the right design direction, and ships interfaces that do not look templated. Real design systems when applicable, audit-first on redesigns, strict pre-flight check. license: MIT.
development
Use when communicating quantitative information in any form — Slack updates, emails, reports, decks, dashboards, landing pages, product UI, public talks. Covers two integrated layers: (1) making numbers semantically meaningful (translation, anchoring, simplification, story-pairing) and (2) showing numbers cleanly (chart vs table vs prose, chart-by-message, pre-attentive emphasis, color discipline, decluttering). Distilled and integrated from *Show Me the Numbers* (Stephen Few) and *Make Numbers Count* (Chip Heath & Karla Starr). Not for raw data analysis or statistics — this is about communication of numbers, not their derivation.
development
Use when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a frontend interface. Covers websites, landing pages, dashboards, product UI, app shells, components, forms, settings, onboarding, and empty states. Handles UX review, visual hierarchy, information architecture, cognitive load, accessibility, performance, responsive behavior, theming, anti-patterns, typography, fonts, spacing, layout, alignment, color, motion, micro-interactions, UX copy, error states, edge cases, i18n, and reusable design systems or tokens. Also use for bland designs that need to become bolder or more delightful, loud designs that should become quieter, live browser iteration on UI elements, or ambitious visual effects that should feel technically extraordinary. Not for backend-only or non-UI tasks.
tools
Stateful multi-session tutor adapted for Beam — teach a stakeholder to understand, trust, and operate a specific agent, or teach a Solution Engineer a client's business process for delivery. Grounds every lesson in Knowledge Hub sources (real agent graphs, real tasks, transcripts, Linear) before any web resource. Also works for any general topic. Trigger on "teach me", "beam teach", "教我", "onboard <person> on <agent>", "help <stakeholder> understand the agent", "learn this client's process".